Post-checkout includes storing order data and billing merchants. To create post-checkout functionality, you can use webhooks. A webhook is a subscription to a specific action on the Shopify platform. Shopify provides a series of webhooks that you can subscribe to, from products to orders to app uninstalls.
This guide introduces you to the tutorials for building post-checkout experiences on a marketplace.
Channel apps only have access to data for the orders that they create.
Fulfillment holdsAnchor link to section titled "Fulfillment holds"
You can automatically apply a fulfillment hold on an order for additional processing. Merchants can't fulfill the order until the marketplace releases the hold.
When an order is created and the payment is authorized, the order is placed on hold. After the additional processing is complete, the hold is released, and the order is sent for fulfillment to the merchant.
Shopify provides several ways to start billing merchants for your app. As a marketplace, you might choose to implement an existing app billing model or using the Billing API in a way that suits your needs.
A common marketplace billing model is a commission-based model. This is when you take a percentage of each order that's attributed to your marketplace. To implement a commission-based model, you'll need to use the REST Admin API's
UsageCharge resource for each order that is created through your channel app.
Advanced billingAnchor link to section titled "Advanced billing"
Depending on the billing agreement that you want to offer, you might want to refund the usage charge if an order is cancelled, refunded, or returned. You can use the
orders/updated webhook events to respond to changes in the orders and issue an
ApplicationCredit to return the order's usage charge to the merchant.
LimitationsAnchor link to section titled "Limitations"
Webhooks might be delayed when orders are created or updated, so this solution might not be optimal for any real-time operations.