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

Resend the OTP code for the pending gift card

Triggers a new OTP send to the cardholder's registered phone. On success, the pending card's phone and expiry information are updated with the new values. The flow always continues to GiftCardOtpPage so the user can enter the new code.

No request body fields are required — this is an action-only endpoint.

Cooldown enforcement: If the cooldown period defined by GIFT_CARD_CONFIG.otp_resend_cooldown has not elapsed since the last send, the request is rejected. The response includes a retry_after field (remaining seconds) in the errors object so the client can surface a countdown to the user.

Next Pages:

  • GiftCardOtpPage — always

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>)

Responses
200

OTP resent or cooldown error returned

application/json
errorsone of · nullableOptional
or
string[]Optional
template_namestringOptional
post/orders/checkout/?page=GiftCardOtpResendPage
POST /orders/checkout/?page=GiftCardOtpResendPage HTTP/1.1
Host: sandbox.akinon.com
x-requested-with: XMLHttpRequest
Accept: */*
200

OTP resent or cooldown error returned

{
  "context_list": [
    {
      "page_name": "GiftCardOtpPage",
      "page_slug": "giftcardotppage",
      "page_context": {
        "masked_phone": "+90 5** *** ** 78",
        "otp_expires_at": "2026-04-28T12:07:00Z"
      }
    }
  ],
  "pre_order": {
    "user_email": "user@akinon.com"
  },
  "errors": {},
  "template_name": "orders/checkout.html"
}

Last updated

Was this helpful?