| PDP | Cart | Checkout via Seller’s Website in IAB |
|---|---|---|
![]() | ![]() | ![]() |
subscription_plans in the catalog is now supported. This field is a JSON encoded string with fields requires_subscription_plan and plans.| Attribute | Required | Description |
|---|---|---|
requires_subscription_plan
bool
| true | If true, the product item only supports subscription purchase. One-time purchase is not supported.
If false, both subscription purchase and one-time purchase are supported. |
plans
list<SellingPlan>
| true | A list of SellingPlan |
| Attribute | Required | Description |
|---|---|---|
id
string
| true | The id of the subscription plan, Meta will be passing this within the checkout URL. |
billing_frequency
BillingFrequency
| false | The billing frequency |
delivery_frequency
DeliveryFrequency
| false | The delivery frequency |
price_adjustment
PriceAdjustment
| false | The price adjustment |
| Attribute | Required | Description |
|---|---|---|
interval
string
| true | Supported values: day, month, week, year |
interval_count
integer
| true | Frequency of billing Example value: 1 |
| Attribute | Required | Description |
|---|---|---|
interval
string
| true | Supported values: day, month, week, year |
interval_count
integer
| true | Frequency of delivery Example value: 1 |
| Attribute | Required | Description |
|---|---|---|
adjustment_value_type
string
| true | Supported values: fixed_amount, percentage |
adjustment_percent_value
float
| false | The percent off for percentage type Example value: 10 |
adjustment_fixed_value_amount
float
| false | The amount off for fixed_amount type Example value: 20 |
{
"requires_subscription_plan": true,
"plans": [
{
"id": "monthly plan",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
}
},
{
"id": "monthly plan with 10% off",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
},
"price_adjustment": {
"adjustment_value_type": "percentage",
"adjustment_percent_value": 10,
"adjustment_fixed_value_amount": null
}
},
{
"id": "monthly plan with $10 off and annual bill",
"delivery_frequency": {
"interval": "month",
"interval_count": 1
},
"price_adjustment": {
"adjustment_value_type": "fixed_amount",
"adjustment_percent_value": 10,
"adjustment_fixed_value_amount": null
},
"billing_frequency": {
"interval": "year",
"interval_count": 1
}
}
]
}

| Query Parameter | Description | Examples |
|---|---|---|
products | Required. A comma-separated list of products. For each product, the ID and quantity are separated by a colon. Commas (%2C) and colons (%3A) are escaped according to RFC 3986. Your web server should provide an API similar to decodeURIComponent to parse these parameters. Products with comma (,) or colon (:) characters in their ID are not supported. | products=12345%3A3%2C23456%3A1This example cart has the following two products:
|
coupon | Optional. A single coupon code to apply at checkout. This may include an email opt-in promo code. | coupon=SUMMERSALE20 |
products_json | Optional. A JSON object that contains metadata to support product-specific features such as subscriptions, customizations, etc. Braces (%257B & %257D), quotations (%2522), commas (%252C) and colons (%253A) are escaped according to RFC 3986. | Encoded example: %257B%252212345%2522%253A%257B%2522selling_plan%2522%253A%2522plan_1%2522%257D%257D Decoded example: {“12345”:{“selling_plan”:”plan_1”}} |
https://your-website.com/any-url?products=<product-id:1>&coupon=<promo>
https://your-website.com/any-url?products=<product-id:1>&coupon=<promo>&products_json=<products_json>