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

Complete Pay on Delivery Order

Creates the order for pay-on-delivery after the user accepts the terms and conditions.

Required Fields:

  • agreement: Must be true. Submitting false or omitting this field causes a validation error.

Validation:

  • Basket amount must be greater than zero

Order Creation:

  • Order is created via PaymentPageMixin.process_order

  • After creation: basket is submitted, contracts are saved, confirmation email is sent, order completion SMS is sent

  • pre_order.card_info is reset to null

  • pre_order.installment is reset to null

Order Number:

  • The order number is regenerated at this step unless it was already set

Next Pages:

  • ThankYouPage

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
agreementboolean · enumRequired

User must accept terms and conditions to proceed. Must be true.

Possible values:
Responses
200

Pay on delivery order created successfully

application/json
errorsone of · nullableOptional
or
string[]Optional
template_namestringOptional
post/orders/checkout/?page=PayOnDeliveryPage
POST /orders/checkout/?page=PayOnDeliveryPage 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

Pay on delivery order created successfully

{
  "context_list": [
    {
      "page_name": "ThankYouPage",
      "page_slug": "thankyoupage",
      "page_context": {
        "redirect_url": "/orders/checkout-success/abc123:def456:ghi789/",
        "order_id": 5001,
        "order_number": "ORD-2026-0001",
        "new_user": false,
        "token": null,
        "campaigns": []
      }
    }
  ],
  "pre_order": {
    "basket": {
      "pk": 123,
      "total_amount": "150.00"
    },
    "order": {
      "pk": 5001,
      "number": "ORD-2026-0001",
      "status": "confirmed"
    },
    "payment_option": {
      "pk": 4,
      "name": "Pay on Delivery",
      "slug": "pay-on-delivery",
      "payment_type": "pay_on_delivery",
      "payment_type_label": "Pay on Delivery"
    },
    "total_amount": "159.99",
    "currency_type_label": "TRY",
    "card_info": null,
    "installment": null
  },
  "errors": {},
  "template_name": "orders/checkout.html"
}

Last updated

Was this helpful?