Entertainment — iQIYI VIP
iQIYI VIP subscriptions. This vertical has no travel date, no seat and no coupon: at book time the engine calls iQIYI and the customer's VIP is entitled instantly on the account you name.
1 · Browse the catalog
GET /api/v1/entertainment/catalog
The curated products available to you, each with a quote already minted — there is no separate quote call. Quotes live 24 hours.
[{
"quoteId": 43,
"offeringRef": "iqiyi|STD30",
"productCode": "STD30",
"displayName": "iQIYI Standard — 1 Month",
"planTier": "STANDARD",
"durationDays": 30,
"autoRenew": false,
"sellAmount": 30.00,
"currency": "MYR",
"expiresAt": "2026-09-08T12:00:00Z"
}]
POST /api/v1/entertainment/quotes is deprecatedIt minted a quote for a single product, which the catalog now does for every row. It still works, for integrations built against it. Do not use it in new code.
2 · Buy
POST /api/v1/bookings
{
"idempotencyKey": "f0e1d2c3-b4a5-4968-8778-6a5b4c3d2e1f",
"items": [{
"quoteId": 43,
"details": { "identityType": 2, "openId": "123456789", "areaCode": "60" }
}]
}
The identity bag
This is the whole point of the call: it names whose account receives the VIP.
| Field | Required | Notes |
|---|---|---|
identityType | yes | 1 iQIYI openId · 2 mobile · 3 email · 4 uuid |
openId | yes | The handle itself, read according to identityType |
areaCode | for type 2 | Digits only — 60, never +60 |
userIp | no | The end customer's IP, passed through |
Validated before payment, so a bad identity costs nothing:
- type
2(mobile) —areaCoderequired; bothareaCodeandopenIdmust be digits only - type
3(email) —openIdmust contain@
The VIP lands on whatever account you name, instantly, and there is no agent cancel. A typo delivers a paid subscription to a stranger.
3 · There is nothing to deliver
"detail": {
"type": "IQIYI_VIP",
"orderCode": "GHB1723600000000K7Q3-1",
"productCode": "STD30"
}
ticket and redemptionRef are null by design — a subscription has no coupon or QR, because
the entitlement is already active on the customer's account by the time you get your 201.
orderCode is the reference iQIYI knows the purchase by.
Buying several at once
items is a list, so two entries buy two subscriptions in one atomic order. Each needs its own
quoteId; a quote cannot be reused.