> This page is for Afterpay Online Developer, version v1.
> For other versions, use one of these documentation indexes:
> - Main (default): https://developers.afterpay.com/afterpay-online-developer/main/llms.txt
> - v1: https://developers.afterpay.com/afterpay-online-developer/v-1/llms.txt
> - Chinese: https://developers.afterpay.com/afterpay-online-developer/chinese/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.afterpay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.afterpay.com/_mcp/server.

# Direct Payment Flow

1. Merchant calls the [Get Configuration](../../reference/Get-Configuration.v1.yaml/paths/~1v1~1configuration~1environment:\{environment}) endpoint to retrieve Afterpay order limits, possibly as part of an asynchronous scheduled background process.
2. Merchant stores these minimum and maximum order values server-side.
3. Separately, at the checkout, Merchant uses the stored Afterpay minimum and maximum order values to determine if Afterpay should be presented as an available payment method.
4. Merchant calls the [Create Order](../../reference/orders/Create-Order.v1.yaml/paths/~1v1~1orders~1environment:\{environment}/post)
   endpoint to retrieve an Afterpay order token.
5. Merchant uses the token in combination with the [JavaScript afterpay.js](/afterpay-online-developer/v-1/api-reference/javascript-afterpay-js/information) to direct the Consumer through the Afterpay screenflow.
6. Consumer completes the Afterpay screenflow and is returned to the Merchant website.
   * If the Consumer clicks "confirm", they will be returned to the Merchant website with the `orderToken` and a `status` of "SUCCESS".
   * If the Consumer cancels, they will be returned to the Merchant website with the `orderToken` and a `status` of "CANCELLED".
7. If the merchant is able to fulfil the order, the merchant calls the [Capture Payment](../../reference/payments/Capture-Payment.v1.yaml/paths/~1v1~1payments~1capture~1environment:\{environment}/post) endpoint to capture the payment.
   * Payment status ("APPROVED" or "DECLINED") is only known once [Capture Payment](../../reference/payments/Capture-Payment.v1.yaml/paths/~1v1~1payments~1capture~1environment:\{environment}/post) has been completed.
   * If the payment was approved by Afterpay, the Merchant presents the Consumer with an order confirmation/receipt page.
   * If the payment was declined by Afterpay (e.g. the Consumer’s card details are entered incorrectly), the Merchant presents an appropriate message to the Consumer at the checkout.