Skip to content
Product Documentation

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

Regular checkout

For regular checkout, ensure a valid access-token is being passed during during steps 2 through 7.

  1. Authenticate: The user already has an account and ask for log in.
  2. 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.
  3. Add item(s) to a cart: The end user places item(s) into the cart (pairs of products and prices).
  4. 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.
  5. Get payment options: Retrieve the payment gateway configuration set up in the Admin tool for the tenant (organization + site) making the request.
  6. 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.
  7. 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

Regular checkout

For express checkout, a valid access-token is not present during the flow, since the end user is an anonymous user.

  1. 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.
  2. Add item(s) to a cart: The end user places item(s) into the cart (pairs of products and prices).
  3. 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.
  4. Get payment options: Retrieve the payment gateway configuration set up in the Admin tool for the tenant (organization + site) making the request.
  5. 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.
  6. 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.