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
A subscription order cannot be used to purchase tickets, food and beverage items, or gift shop items. See order types for more information.
A subscription purchase order is used to used to purchase a new subscription or purchase a future non-recurring subscription.
Use the CreateSubscriptionOrder endpoint with the Purchase action to create a subscription purchase order:
{
"action": "Purchase"
}When purchasing a subscription, a suitable voucher can be added to the order to discount the subscription billing option.
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
}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"
}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
}
]
}When purchasing a recurring subscription, filter the web payment methods based on the isRecurringBillingSupported property.
A subscription reactivation order is used to used to reactivate a frozen recurring subscription.
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
}
}
}
}Some properties have been omitted from the code snippet above for brevity.
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.