Process checkout step
Processes form submission for the current checkout step. The page parameter determines which page's data is being submitted.
Processing Flow:
Validates preconditions for the specified page
Validates submitted data according to page-specific rules
Updates pre-order state if validation succeeds
Recalculates campaigns and discounts
Determines next page and returns updated checkout state
Error Handling:
Validation errors are returned in the
errorsobjectUser remains on the current page when errors occur
Previously entered valid data is preserved
Page name to process (e.g., "IndexPage", "AddressSelectionPage")
Required header for AJAX requests. Must be set to XMLHttpRequest for all checkout requests.
XMLHttpRequestPossible values: Session cookie header (e.g. sessionid=abc123 or osessionid=<session_id>)
No input fields are required for this step. Submit an empty form body to trigger order number assignment and 3D Secure routing evaluation.
No input fields are required for this step. The request body must be empty. Any fields submitted in the body are not processed by this page and will not cause a validation error; however, the Garanti Pay gateway is not involved at this step, so gateway-specific parameters are irrelevant here.
Step processed successfully
Redirect to basket (empty basket)
POST /orders/checkout/?page=IndexPage HTTP/1.1
Host: sandbox.akinon.com
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 53
"user_email='name@gmail.com'&phone_number='text'"{
"context_list": [
{
"page_name": "DeliveryOptionSelectionPage",
"page_slug": "deliveryoptionselectionpage",
"page_context": {
"delivery_options": [
{
"pk": 1,
"name": "Home Delivery",
"delivery_option_type": "customer"
}
]
}
}
],
"pre_order": {
"user_email": "user@akinon.com",
"phone_number": "+15551234567"
},
"errors": {},
"template_name": "orders/checkout.html"
}Last updated
Was this helpful?

