For the complete documentation index, see llms.txt. This page is also available as Markdown.

Confirm wallet agreement and initialise payment session

Accepts the terms and conditions agreement and, for Apple Pay, performs the merchant validation step. For all other wallet providers only agreement is required. For Apple Pay the validationURL returned by the browser's Payment Request API must also be supplied so the server can validate the merchant session with Apple.

Required Fields:

  • agreement: Must be true.

  • validationURL (Apple Pay only): Validation URL from the browser Payment Request API.

Session Initialisation: After agreement is confirmed, the server calls the gateway's start_session(). If the gateway's payment strategy reports session_required=False, this call is skipped entirely and the flow proceeds directly to WalletPaymentPage without storing context_data in the session. Otherwise, if the session response contains data, it is stored in pre_order.data['context_data'] and later surfaced as the context_data field in WalletPaymentPage context (Apple Pay only).

Backward Navigation:

  • Removes agreement_confirmed from the session on backward navigation.

Next Page:

  • WalletPaymentPage

available_for_post_order: true

post
Header parameters
x-requested-withstring · enumRequired

Required header for AJAX requests. Must be set to XMLHttpRequest for all checkout requests.

Default: XMLHttpRequestPossible values:
CookiestringOptional

Session cookie header (e.g. sessionid=abc123 or osessionid=<session_id>)

Body
or
Responses
200

Wallet agreement confirmed — routes to WalletPaymentPage

application/json
errorsone of · nullableOptional
or
string[]Optional
template_namestringOptional
post/orders/checkout/?page=WalletSelectionPage
POST /orders/checkout/?page=WalletSelectionPage HTTP/1.1
Host: sandbox.akinon.com
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 18

"agreement=true"
200

Wallet agreement confirmed — routes to WalletPaymentPage

{
  "context_list": [
    {
      "page_name": "WalletPaymentPage",
      "page_slug": "walletpaymentpage",
      "page_context": {}
    }
  ],
  "errors": [],
  "template_name": "orders/checkout.html"
}

Last updated

Was this helpful?