Checkout to purchase a subscription
The flow for purchasing a digital subscription is based on a shopping cart concept. Items are added to the cart, an order is created, and a payment is submitted.
Arc XP Subscriptions supports two checkout flows. Depending on the flow used by the end user or implemented by the customer, different steps are involved:
- Regular checkout to purchase a subscription: When the user initiates the order creation, the end user is already logged into the system.
- Express checkout to purchase a subscription: This checkout option skips required registration steps that may add friction to the process. Express checkout can be used by non-authenticated, anonymous customers. Once the checkout is complete, customers can then proceed with the account registration process.
Regular checkout
For regular checkout, ensure a valid access-token is being passed during during steps 2 through 7.
- Authenticate: The user already has an account and ask for log in.
- Get products and prices: A published offer is available, allowing the end user to access SKUs and PriceCodes (identifiers for products and prices) through the offer.
- Add item(s) to a cart: The end user places item(s) into the cart (pairs of products and prices).
- Create order: With at least one item in the cart, an order can be created. If you have reCaptcha enabled for checkout, a reCAPTCHA token needs to be passed when making this call.
- Get payment options: Retrieve the payment gateway configuration set up in the Admin tool for the tenant (organization + site) making the request.
- Initialize payment: Using the information from the
payment options
, initialize communication with the selected payment gateway. Depending on the payment gateway, the end user may be redirected to a payment gateway form (e.g., PayPal Classic)Get and fill the payment form
: The end user enters their payment information. Once the payment is accepted, the payment gateway returns a token.
- Finalize payment: This is a backup for the server-to-server call, ensuring that Arc XP Subscriptions recognizes the completed payment. If you have reCAPTCHA enabled for checkout, a reCAPTCHA token needs to be passed when making this call. The same reCAPTCHA token can be sent multiple times; you can use the same token that was sent when calling
create order
.
Once the call to finalize payment
returns a successful response:
- A transaction in our system is created. You can find the order details via CSR under the order tab.
- For each product and price, a new subscription is started in our system. You can find all the user’s subscriptions under the subscriptions tab.
- Several web socket events are triggered: ORDER_CONFIRMATION, START_SUBSCRIPTION.
Express checkout
For express checkout, a valid access-token is not present during the flow, since the end user is an anonymous user.
- Get products and prices: A published offer is available, allowing the end user to access SKUs and PriceCodes (identifiers for products and prices) through the offer.
- Add item(s) to a cart: The end user places item(s) into the cart (pairs of products and prices).
- Create order: With at least one item in the cart, an order can be created. The end user can call
create order
passing only his/her email. If you have reCaptcha enabled for checkout, a reCAPTCHA token needs to be passed when making this call. - Get payment options: Retrieve the payment gateway configuration set up in the Admin tool for the tenant (organization + site) making the request.
- Initialize payment: Using the information from the
payment options
, initialize communication with the selected payment gateway. Depending on the payment gateway, the end user may be redirected to a payment gateway form (e.g., PayPal Classic)Get and fill the payment form
: The end user enters payment information. Once the payment is accepted, the payment gateway returns a token.
- Finalize payment: This serves as a backup for the server-to-server call, ensuring that Arc XP Subscriptions recognizes the completed payment. If you have reCaptcha enabled for checkout, a reCAPTCHA token needs to be passed when making this call. The same reCAPTCHA token can be sent multiple times; you can use the same token that was sent when calling
create order
.
Once the call to finalize payment
returns a successful response:
- If no existing account with the provided email is found, the following WebSocket events are dispatched: VERIFY_EMAIL, EXPRESS_CHECKOUT_PASSWORD_RESET_REQUEST, and USER_SIGN_UP. The customer must ensure that the nonce from EXPRESS_CHECKOUT_PASSWORD_RESET_REQUEST is shared with the end user via an email service provider. This allows the end user to complete the registration process and gain access to their account.
- Depending on the verify email setting, account verification may be required before the user can access to the system.
- A transaction in our system is created. You can find the order details via CSR under the order tab.
- For each product and price, a new subscription is started in our system. You can find all the user’s subscriptions under the subscriptions tab.
- Related to the purchase, additional web socket events are triggered: ORDER_CONFIRMATION, START_SUBSCRIPTION.