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 info.
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.