Purchase Subscription
This API supports the purchase of a subscription plan created in the Punchh platform.
If the Single Use setting is enabled for the subscription plan, and if you send auto_renewal as true in the Purchase Subscription API, then the API returns an error: This is a single use subscription and cannot be renewed automatically. Please check the request to send auto_renewal as false.
- Type: stringAcceptrequired
Advertises which content types the client can understand
- Type: stringContent
- Type requiredSet this header to application/json
- Type: stringx
-pch -digest requiredSignature generated using the request path, body, and OAuth secret provided by the business. For details, see signature.
- Type: stringAuthorizationrequired
Used to authorize the request with access_token. It should be supplied as
Bearer ACCESS_TOKEN_GOES_HERE. - Type: stringAccept
- Language Preferred language
- Type: stringUser
- Agent requiredUsed to identify the software, device, and application initiating the request, providing information about the client to the server. For details, see User Agent.
- Type: booleanauto
_renewal requiredA guest’s preference of having a newly purchased subscription plan get automatically renewed per the plan's schedule. Third parties where auto renewal is considered default should send this value as "true". The mobile application uses the value in the auto_renewing response parameter in the Fetch Active Purchasable Subscription Plans API to determine if the auto-renewal of a subscription should be sent as true or false during the subscription purchase.
- Type: stringclientrequired
OAuth client ID provided by the business
- Type: stringend
_time min length:1Format: date-timerequiredDate and time (in ISO 8601 format) until which the subscription being issued will remain active
- Type: integerlocation
_id requiredID of the location where the subscription plan is purchased. It identifies the origin of the subscription purchase for the loyalty guest. If an invalid or missing location_id is passed, the API returns a 400 Bad Request error with the message "Invalid or missing location_id".
- Type: integerplan
_id requiredSystem-generated unique ID of a subscription plan created in the Punchh platform. A subscription based on this plan ID will be issued to the guest when a purchase call is made.
- Type: numberFormat: floatpurchase
_price requiredPrice at which one unit of the subscription plan is purchased
- Type: stringstart
_time min length:1Format: date-timerequiredDate and time (in ISO 8601 format) from which the subscription being issued will become active
- Type: stringexternal
_plan _identifier UPC/SKU of the subscription plan as present on third-party applications of enterprise businesses and is configured on this subscription plan. This will be stored in the database, and the business can use it for analytics purposes. This value can be used to make the purchase of the subscription plan instead of using the “plan_id”.
- Type: stringpayment
_card _uuid Unique digital identifier/token of the user's credit card can be referred to as the uuid of the saved payment card, required if a saved payment card is used for payments. The transaction token is issued by a payment processor used by a business.
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://SERVER_NAME_GOES_HERE.punchh.com/api2/mobile/subscriptions \
--request POST \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-pch-digest: ' \
--header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
--header 'Accept-Language: en' \
--header 'User-Agent: AppName/AppVersion/BuildNumber (OS; Model; MANUFACTURER; MODEL; OS Version)' \
--data '{
"client": "CLIENT_GOES_HERE",
"plan_id": 23,
"start_time": "2021-04-28T13:59:47+05:30",
"end_time": "2021-04-28T13:59:47+05:30",
"purchase_price": "23.09",
"auto_renewal": true,
"payment_card_uuid": "PAYMENT_CARD_UUID_GOES_HERE",
"external_plan_identifier": "EXTERNAL_PLAN_IDENTIFIER_GOES_HERE",
"location_id": 12345
}'
{
"subscription_id": 23,
"start_time": "2021-04-28T13:59:47+05:30",
"end_time": "2021-04-28T13:59:47+05:30",
"external_plan_identifier": "EXTERNAL_PLAN_IDENTIFIER_GOES_HERE",
"location_id": 12345
}