Completing a sales channel checkout
Sales channel apps use the REST Admin API's Checkout
resource to send your customers' credit card information to Shopify and complete their payments.
You can complete the checkout using the one of the following methods:
Shopify web checkout
Anchor link to section titled "Shopify web checkout"By default, your app can provide checkout links to Shopify's web checkout for each product. This lets your platform use Shopify's web checkout instead of building your own native checkout form. You can direct customers to a checkout link by using the web_url
parameter of the Checkout resource.
Third-party tokenization service (Stripe, Spreedly)
Anchor link to section titled "Third-party tokenization service (Stripe, Spreedly)"If you want to accept payments directly in your app instead, then it's recommended that you use a third-party service to tokenize your customers' credit card information and send it to Shopify. By tokenizing this information, you reduce the PCI compliance scope for payments using your sales channel app. The tokenization service that you integrate with your app determines the type of payment gateway that Shopify merchants can use with your sales channel:
- Integrate with Stripe to process payments for merchants who have Shopify Payments activated as their payment gateway.
- Integrate with Spreedly (or a similar forwarding service) to process payments for merchants who are using a payment gateway other than Shopify Payments.
Integration with Stripe
Anchor link to section titled "Integration with Stripe"The following diagram illustrates the process for completing a checkout with Stripe:
- Customer initiates checkout.
- Your sales channel app uses the Checkout API to create a checkout.
- Shopify returns the
shopify_payments_account_id
. - Your channel sends the merchant's managed account ID and the customer's credit card information to Stripe to generate a token.
- Your channel uses the Checkout API to create a payment transaction, and it passes the token from Stripe to Shopify.
- Shopify processes the payment using Shopify Payments.
Learn how to complete a checkout with the Stripe.
Integration with Spreedly
Anchor link to section titled "Integration with Spreedly"The following diagram illustrates the process for completing a checkout with Spreedly:
- The customer starts the checkout process.
- Your sales channel app uses the Checkout API to create a checkout object in Shopify.
- Shopify returns the checkout information to your sales channel app.
- Your sales channel app passes the credit card information to Spreedly.
- Spreedly generates a vaulted credit card token.
- Spreedly passes the credit card information to Shopify’s vault.
- The Shopify vault passes a payment session ID to Spreedly.
- Spreedly sends the vaulted credit card token and the payment session ID to your sales channel app.
- Your sales channel app then sends the payment session to Shopify and creates an order using the Checkout API.
- Shopify processes the payment using the merchant's payment gateway.
Learn how to complete a checkout with the Spreedly.
Shopify card vault
Anchor link to section titled "Shopify card vault"The following diagram illustrates the process for completing a checkout for your sales channel app:
- The customer starts the checkout process.
- Your sales channel app uses the Checkout API to create a checkout object in Shopify.
- Shopify returns the checkout information to your sales channel app.
- Your sales channel app passes the credit card information to Shopify's PCI-compliant card server.
- Shopify's card server returns a payment session ID to your sales channel app.
- Your sales channel app uses the Checkout API to pass the payment session ID to Shopify.
- Shopify processes the payment using the merchant's payment gateway.