Subscription orders
A subscription order allows an authenticated loyalty member to:
- Purchase a new subscription via a subscription purchase order
- Purchase a future non-recurring subscription via a subscription purchase order
- Reactivate a frozen subscription via a subscription reactivation order
NOTE
A subscription order cannot be used to purchase tickets, food and beverage items, or gift shop items. See order types for more information.
Subscription purchase order
A subscription purchase order is used to used to purchase a new subscription or purchase a future non-recurring subscription.
Subscription purchase order flow
Create subscription purchase order
Use the CreateSubscriptionOrder endpoint
with the Purchase action to create a subscription purchase order:
{
"action": "Purchase"
}Add voucher (optional)
When purchasing a subscription, a suitable voucher can be added to the order to discount the subscription billing option.
IMPORTANT
To discount a recurring subscription billing
option, the
AllowRecurringSubscriptionVoucher system setting must be enabled, and the voucher cannot discount the entirety of the
subscription price.
Use the AddVoucher endpoint to add a
Subscription voucher to the order.
{
"type": "Subscription",
"credentials": {
"barcode": "string",
"pin": "string"
}
}This endpoint returns the details of the added voucher, including an id that can be used when setting the subscription.
{
"voucher": {
"id": "string",
"type": "Subscription",
"maskedBarcode": "string",
"voucherTypeCode": "string",
"voucherTypeDescription": {
"text": "string",
"translations": [
{
"languageTag": "string",
"text": "string"
}
]
}
},
"availableRedemptions": 0
}Set subscription
Use the SetSubscriptionForOrder endpoint to set the subscription billing option being purchased.
When using a subscription voucher, set the relevant discountId and voucherId for the discounted billing option price.
{
"subscriptionBillingOptionId": "string",
"discountId": "string",
"voucherId": "string"
}Payment and completion
Use the GetWebPaymentMethods endpoint
with the ?orderType=Subscription query parameter to get the list of available web payment methods for the subscription order.
{
"webPaymentMethods": [
{
"type": "Embedded",
"isDefault": true,
"id": 0,
"name": {
"text": "string",
"translations": [
{
"languageTag": "string",
"text": "string"
}
]
},
"displayPriority": 0,
"isRecurringBillingSupported": true
}
]
}IMPORTANT
When purchasing a recurring subscription, filter the web payment methods based on
the isRecurringBillingSupported property.
Subscription reactivation order
A subscription reactivation order is used to used to reactivate a frozen recurring subscription.
Subscription reactivation order flow
Create subscription reactivation order
Use the CreateSubscriptionOrder endpoint
with the Reactivate action to create a subscription reactivation order:
{
"action": "Reactivate"
}This endpoint will return a subscription reactivation order with the subscription and totalPrice automatically populated to reflect
the cost of reactivating the frozen subscription.
{
"order": {
"id": "string",
"type": "Subscription",
"action": "Reactivate",
"status": "InProgress",
"totalPrice": {
"valueIncludingTax": 0.1,
"valueExcludingTax": 0.1,
"tax": 0.1
},
"subscription": {
"subscriptionId": 0,
"subscriptionBillingOptionId": "string",
"price": {
"valueIncludingTax": 0.1,
"valueExcludingTax": 0.1,
"tax": 0.1
}
}
}
}NOTE
Some properties have been omitted from the code snippet above for brevity.
Payment and completion
A subscription reactivation order must be paid via a payment method that supports recurring billing, as the payment method used will be stored as the recurring subscription payment card for subsequent billing periods.
Use the GetWebPaymentMethods endpoint with
the ?orderType=Subscription query parameter to get the list of available web payment methods, and filter them based on the isRecurringBillingSupported property.