> For the complete documentation index, see [llms.txt](https://apidocs.akinon.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.akinon.com/commerce-openapis/checkout/wallet-and-redirection-payments/process-redirection-payment-callback.md).

# Process Redirection Payment Callback

Processes the callback returned by the external payment gateway after the customer completes or abandons the payment on the provider's hosted page.

The gateway posts its result to this endpoint (or the browser is redirected back to it). Query parameters present on the incoming URL are automatically merged with the POST body before validation, so gateway implementations that return data as redirect query strings are handled transparently.

The specific fields required vary by the active payment gateway. Most gateways include a `success` indicator; additional fields carry transaction identifiers, hash values, and status codes for server-side verification.

**Preconditions**:

* A redirection-based payment option must be selected
* The redirect flow must have been started
* The pre-order must have an assigned order number

**Processing Flow**:

1. Merges GET query parameters from the callback redirect URL into the submitted data
2. Selects the gateway-specific input schema based on the active payment provider. **TeqPay note:** the gateway submits fields as `Token` and `Result` (capitalised); these are normalised to `token` and `result` before validation
3. Validates callback fields (transaction ID, hash, status codes). **Extension gateway note:** `installment_count` and `interest_fee` values from the callback are stored on the pre-order under `installment_alt` (`installment_count` + `installment_interest_amount`) for downstream order and interest calculation
4. Records a return transaction entry with the payment outcome
5. On success: finalises the order, submits the basket, sends order confirmation email and SMS notifications
6. On failure: rolls back the redirection state and resets the order number so the customer may retry from the payment selection step

**Configuration**:

* `USE_ONE_TIME_TOKEN` (dynamic setting, default: `true`): When enabled, a single-use token is appended to both the success and failure callback URLs at transaction start. The token is validated on return to prevent session replay.
* `ORDERS_USE_ISOLATED_PRE_ORDER_ON_RETURN` (static setting, default: `false`): When enabled, an encoded order number is embedded in the callback URLs (`n` query parameter) to support isolated pre-order session recovery on return from the payment provider.

```json
{"openapi":"3.1.0","info":{"title":"Overview","version":"1.0.0"},"tags":[{"name":"Wallet & Redirection Payments","description":"# Checkout Wallet & Redirection Payments\n\nIntegrate digital wallet payments and external payment provider redirects into your checkout.\n\n**Wallet** payments let customers pay using a pre-funded account balance. The flow covers wallet selection, payment initiation, redirect-based completion, and a return callback page.\n\n**Redirection payments** redirect the customer to an external payment provider. On return, the result is processed via a callback URL.\n\n**Confirmation Payment Complete** is the final step of the deferred confirmation payment flow initiated in the alternative payments section.\n\n## Authentication\n\nThese endpoints support both authenticated and anonymous sessions.\n\n- **Authenticated users**: Session cookie (`sessionid`) tracks checkout progress.\n- **Anonymous users**: Guest checkout is available when the `CAN_GUEST_PURCHASE` setting is enabled.\n## Request Format\n\nInclude the following header in all checkout requests:\n\n- **x-requested-with**: `XMLHttpRequest`\n\n## Dynamic Settings\n\nThe following settings are managed at runtime through the admin interface and do not require a server restart.\n\n### USE_ONE_TIME_TOKEN\nControls whether a single-use token is appended to redirect callback URLs to prevent replay attacks. When enabled, the token is validated on return before the payment result is processed.\n\n## Static Settings\n\nThe following settings are configured in the server environment and require a restart to take effect.\n\n### ORDERS_USE_ISOLATED_PRE_ORDER_ON_RETURN\nWhen enabled, an encoded order number is embedded in callback URLs so the correct session can be restored after a redirect, even if the browser session has changed (for example, in mobile app redirect flows)."}],"servers":[{"description":"Akinon Checkout API","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com"}}}],"paths":{"/orders/checkout/?page=RedirectionPageCompletePage":{"post":{"tags":["Wallet & Redirection Payments"],"operationId":"submitRedirectionPageCompletePage","summary":"Process Redirection Payment Callback","description":"Processes the callback returned by the external payment gateway after the\ncustomer completes or abandons the payment on the provider's hosted page.\n\nThe gateway posts its result to this endpoint (or the browser is redirected\nback to it). Query parameters present on the incoming URL are automatically\nmerged with the POST body before validation, so gateway implementations that\nreturn data as redirect query strings are handled transparently.\n\nThe specific fields required vary by the active payment gateway. Most gateways\ninclude a `success` indicator; additional fields carry transaction identifiers,\nhash values, and status codes for server-side verification.\n\n**Preconditions**:\n- A redirection-based payment option must be selected\n- The redirect flow must have been started\n- The pre-order must have an assigned order number\n\n**Processing Flow**:\n1. Merges GET query parameters from the callback redirect URL into the\n   submitted data\n2. Selects the gateway-specific input schema based on the active payment\n   provider. **TeqPay note:** the gateway submits fields as `Token` and\n   `Result` (capitalised); these are normalised to `token` and `result`\n   before validation\n3. Validates callback fields (transaction ID, hash, status codes).\n   **Extension gateway note:** `installment_count` and `interest_fee`\n   values from the callback are stored on the pre-order under\n   `installment_alt` (`installment_count` + `installment_interest_amount`)\n   for downstream order and interest calculation\n4. Records a return transaction entry with the payment outcome\n5. On success: finalises the order, submits the basket, sends order\n   confirmation email and SMS notifications\n6. On failure: rolls back the redirection state and resets the order number\n   so the customer may retry from the payment selection step\n\n**Configuration**:\n- `USE_ONE_TIME_TOKEN` (dynamic setting, default: `true`): When enabled,\n  a single-use token is appended to both the success and failure callback\n  URLs at transaction start. The token is validated on return to prevent\n  session replay.\n- `ORDERS_USE_ISOLATED_PRE_ORDER_ON_RETURN` (static setting,\n  default: `false`): When enabled, an encoded order number is embedded in\n  the callback URLs (`n` query parameter) to support isolated pre-order\n  session recovery on return from the payment provider.","parameters":[{"$ref":"#/components/parameters/AjaxRequestHeader"},{"$ref":"#/components/parameters/SessionCookieHeader"}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/RedirectionPageCompletePageInput"}}}},"responses":{"200":{"description":"Payment callback processed. On success the order is finalised and the response advances to `ThankYouPage`. On failure the redirection state is reset and an error is returned so the customer may retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"302":{"description":"Redirect to basket (empty basket) or login (guest purchase not allowed)"}}}}},"components":{"parameters":{"AjaxRequestHeader":{"name":"x-requested-with","in":"header","required":true,"description":"Required header for AJAX requests. Must be set to `XMLHttpRequest` for all checkout requests.","schema":{"type":"string","enum":["XMLHttpRequest"],"default":"XMLHttpRequest"}},"SessionCookieHeader":{"name":"Cookie","in":"header","required":false,"description":"Session cookie header (e.g. `sessionid=abc123` or `osessionid=<session_id>`)","schema":{"type":"string"}}},"schemas":{"RedirectionPageCompletePageInput":{"description":"Gateway callback payload posted to this endpoint after the customer\ncompletes or abandons the payment on the provider's hosted page.\nThe exact fields required depend on the active payment gateway. The gateway\nis determined by the POS record associated with the selected payment option.\nMost providers include a `success` indicator; additional fields carry\ntransaction identifiers, hash values, and status codes for server-side\nverification.","oneOf":[{"$ref":"#/components/schemas/RedirectionCompleteGenericInput"},{"$ref":"#/components/schemas/RedirectionCompleteFastPayInput"},{"$ref":"#/components/schemas/RedirectionCompletePayUPolandInput"},{"$ref":"#/components/schemas/RedirectionCompleteExtensionInput"},{"$ref":"#/components/schemas/RedirectionCompleteComPayInput"},{"$ref":"#/components/schemas/RedirectionCompleteIyzicoInput"},{"$ref":"#/components/schemas/RedirectionCompleteMobilExpressHostedInput"},{"$ref":"#/components/schemas/RedirectionCompleteYKBWorldPayInput"},{"$ref":"#/components/schemas/RedirectionCompleteStripeInput"},{"$ref":"#/components/schemas/RedirectionCompleteTeqPayInput"},{"$ref":"#/components/schemas/RedirectionCompletePaypalInput"},{"$ref":"#/components/schemas/RedirectionCompletePayuRoByClickInput"},{"$ref":"#/components/schemas/RedirectionCompleteTapInput"},{"$ref":"#/components/schemas/RedirectionCompleteMaximumPayInput"}]},"RedirectionCompleteGenericInput":{"type":"object","description":"Used by gateways that only require a success flag on return: `yandex_money`, `alpha`, `multisafepay`, `netopia`, `payu_pl`, `bulut`, `paymob`, `dummypay`.","required":["success"],"properties":{"success":{"type":"boolean","enum":[true],"description":"Indicates a successful payment authorisation. Must be `true`; any other value is treated as a failed transaction."}}},"RedirectionCompleteFastPayInput":{"type":"object","description":"Used by the `fastpay` gateway. All `Encrypted*` fields contain values encrypted by the FastPay service and are decrypted server-side using the configured gateway credentials.","required":["success","EncryptedResultCode","EncryptedApproveCode","EncryptedCustomerGsm","EncryptedErrorMessage"],"properties":{"success":{"type":"boolean","enum":[true]},"EncryptedResultCode":{"type":"string","description":"Encrypted result code returned by FastPay."},"EncryptedApproveCode":{"type":"string","description":"Encrypted approval code returned by FastPay."},"EncryptedCustomerGsm":{"type":"string","description":"Encrypted customer mobile number returned by FastPay."},"EncryptedErrorMessage":{"type":"string","description":"Encrypted error message (present even on success)."},"EncryptedInitialAmount":{"type":"string"},"EncryptedDiscountedAmount":{"type":"string"},"EncryptedInstallCount":{"type":"string"},"EncryptedUserToken":{"type":"string"},"EncryptedEnterpriseOrderId":{"type":"string"}}},"RedirectionCompletePayUPolandInput":{"type":"object","description":"Used by the `payu_poland` gateway.","required":["success","payment_id","status"],"properties":{"success":{"type":"boolean","enum":[true]},"payment_id":{"type":"string","description":"PayU transaction identifier. Validated against the transaction ID stored at the time the redirect was initiated."},"status":{"type":"string","description":"Payment status string returned by PayU. A value of `Failed` is rejected with a validation error."}}},"RedirectionCompleteExtensionInput":{"type":"object","description":"Used by the `extension` gateway.\nWhen this gateway is active, `installment_count` and `interest_fee` are\nstored on the pre-order under `installment_alt` for downstream order\nprocessing. Field names containing hyphens are automatically normalised\nto underscores before validation.","required":["success","salt","order_id","amount","installment_count","interest_fee","status","substatus","hash"],"properties":{"success":{"type":"boolean","enum":[true]},"salt":{"type":"string","maxLength":10},"order_id":{"type":"string","maxLength":64},"amount":{"type":"string","description":"Payment amount as returned by the extension provider."},"installment_count":{"type":"string","description":"Number of instalments selected by the customer at the payment provider's page. Stored on the pre-order for interest calculation."},"interest_fee":{"type":"string","description":"Interest fee amount applied by the payment provider for the selected instalment plan. Stored on the pre-order for final amount calculation."},"status":{"type":"string","enum":[3,4,"RESOLVED","PENDING"],"description":"Primary transaction status code returned by the extension provider."},"substatus":{"type":"string","enum":[7,8,"RESOLVED","PAYMENT_WAITING"],"description":"Secondary transaction status code returned by the extension provider."},"hash":{"type":"string","maxLength":256,"description":"HMAC hash used for server-side payload integrity verification. Computed using the gateway's configured hash key."}}},"RedirectionCompleteComPayInput":{"type":"object","description":"Used by the `compay` gateway. The submitted payload is verified against a provider-generated hash and validated against the outstanding pre-order amount before acceptance.","required":["Response","acqResponseCode","orderId","amount"],"properties":{"Response":{"type":"string","maxLength":32,"description":"Transaction response code returned by ComPay."},"acqResponseCode":{"type":"string","maxLength":32,"description":"Acquirer response code returned by ComPay."},"AuthCode":{"type":"string","maxLength":32,"description":"Authorisation code (optional, present on approved transactions)."},"orderId":{"type":"string","maxLength":64,"description":"Order identifier returned by ComPay."},"amount":{"type":"string","description":"Payment amount as a string (comma decimal separator accepted). Validated to match the outstanding pre-order amount."},"productType":{"type":"string","maxLength":2}}},"RedirectionCompleteIyzicoInput":{"type":"object","description":"Used by `pay_with_iyzico`, `iyzico_bkm`, and `iyzico_funds_transfer`\ngateways. For `iyzico_funds_transfer` only `token` is required.","required":["token"],"properties":{"token":{"type":"string","description":"Iyzico transaction token returned in the callback."},"oid":{"type":"string","maxLength":128,"description":"Optional order identifier returned by Iyzico alongside the token."}}},"RedirectionCompleteMobilExpressHostedInput":{"type":"object","description":"Used by the `mobilexpress_hosted` gateway.","required":["Result","SystemTransId"],"properties":{"Result":{"type":"string","enum":["Success"],"description":"Transaction result returned by MobilExpress Hosted. Only `Success` is accepted; any other value is treated as a failed transaction."},"SystemTransId":{"type":"string","description":"MobilExpress Hosted system-level transaction identifier."}}},"RedirectionCompleteYKBWorldPayInput":{"type":"object","description":"Used by the `ykb_worldpay` gateway.","required":["success","transactionResult"],"properties":{"success":{"type":"boolean","enum":[true]},"transactionResult":{"type":"string","description":"YKB WorldPay transaction result code. Must equal `\"1\"` for the payment to be considered approved."}}},"RedirectionCompleteStripeInput":{"type":"object","description":"Used by the `stripe` gateway.","required":["success","session_id"],"properties":{"success":{"type":"boolean","enum":[true]},"session_id":{"type":"string","minLength":3,"description":"Stripe Checkout Session ID returned in the redirect URL."}}},"RedirectionCompleteTeqPayInput":{"type":"object","description":"Used by the `teqpay` gateway. Field names are case-mapped before validation: `Token` → `token`, `Result` → `result`.","required":["success","Token","Result"],"properties":{"success":{"type":"boolean","enum":[true]},"Token":{"type":"string","maxLength":128,"description":"TeqPay transaction token (submitted as `Token`, mapped to `token`)."},"Result":{"type":"boolean","description":"TeqPay payment result flag (submitted as `Result`, mapped to `result`)."}}},"RedirectionCompletePaypalInput":{"type":"object","description":"Used by the `paypal` gateway. `token` and `PayerID` are present on standard PayPal Express Checkout returns but may be absent in some PayPal flow variants.","required":["success"],"properties":{"success":{"type":"boolean","enum":[true]},"token":{"type":"string","description":"PayPal transaction token (optional on some flows)."},"PayerID":{"type":"string","description":"PayPal payer identifier (optional on some flows)."}}},"RedirectionCompletePayuRoByClickInput":{"type":"object","description":"Used by the `payu_ro_paybyclick` gateway.","required":["success","body","date","merchant","signature"],"properties":{"success":{"type":"boolean","enum":[true]},"body":{"type":"string","description":"Signed response body returned by PayU Romania."},"date":{"type":"string","description":"Response timestamp returned by PayU Romania."},"merchant":{"type":"string","description":"Merchant identifier returned by PayU Romania."},"signature":{"type":"string","description":"Cryptographic signature for payload verification."}}},"RedirectionCompleteTapInput":{"type":"object","description":"Used by `qpay_tap` and `benefit_tap` gateways.","required":["success","tap_id","oid","price"],"properties":{"success":{"type":"boolean","enum":[true]},"tap_id":{"type":"string","maxLength":256,"description":"Tap payment identifier returned by the gateway."},"oid":{"type":"string","maxLength":256,"description":"Order identifier returned by the gateway."},"price":{"type":"string","description":"Payment amount string returned by the gateway."}}},"RedirectionCompleteMaximumPayInput":{"type":"object","description":"Used by the `maximumpay` gateway.","required":["success","Response","PAY3D"],"properties":{"success":{"type":"boolean","enum":[true]},"Response":{"type":"string","enum":["Approved"],"description":"Must be `\"Approved\"` for the transaction to be accepted."},"PAY3D":{"type":"boolean","description":"Indicates whether 3D Secure was used for this transaction."},"oid":{"type":"string"},"hash":{"type":"string"},"timestamp":{"type":"string"},"Ecom_Payment_Card_ExpDate_Month":{"type":"string"},"Ecom_Payment_Card_ExpDate_Year":{"type":"string"},"currency":{"type":"string"},"phone":{"type":"string"},"ajaxHash":{"type":"string"},"PHONENO":{"type":"string"},"maskedCreditCard":{"type":"string"},"transId":{"type":"string"},"tranUid":{"type":"string"},"CHANNEL":{"type":"string"},"storetype":{"type":"string"},"failUrl":{"type":"string"},"clientIp":{"type":"string"},"extra1":{"type":"string"},"PAYMENTMETHOD":{"type":"string"},"paymentType":{"type":"string"},"returnCode":{"type":"string"},"clientid":{"type":"string"},"MaskedPan":{"type":"string"},"okUrl":{"type":"string"},"xid":{"type":"string","description":"3D Secure transaction identifier."},"lang":{"type":"string"},"HASH":{"type":"string","description":"MaximumPay hash value for server-side integrity verification."},"rnd":{"type":"string","description":"Random nonce included in hash computation."},"HASHPARAMS":{"type":"string","description":"Pipe-separated list of field names used to compute HASH."},"HASHPARAMSVAL":{"type":"string","description":"Concatenated values of the fields listed in HASHPARAMS."},"ProcReturnCode":{"type":"integer","description":"Processor return code from the acquirer."}}},"CheckoutResponse":{"type":"object","properties":{"context_list":{"type":"array","items":{"$ref":"#/components/schemas/PageContext"}},"pre_order":{"$ref":"#/components/schemas/PreOrder"},"errors":{"oneOf":[{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},{"type":"null"},{"type":"array","items":{"type":"string"}}]},"template_name":{"type":"string"}}},"PageContext":{"type":"object","properties":{"page_name":{"type":"string","description":"Class name of the page (e.g., \"IndexPage\", \"AddressSelectionPage\")"},"page_slug":{"type":"string","description":"URL-friendly slug for the page"},"page_context":{"type":"object","description":"Page-specific context data","additionalProperties":true}}},"PreOrder":{"type":"object","description":"Pre-order state containing basket, addresses, shipping, payment information","properties":{"basket":{"$ref":"#/components/schemas/Basket"},"shipping_address":{"oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}]},"billing_address":{"oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}]},"shipping_option":{"oneOf":[{"$ref":"#/components/schemas/ShippingOptionDetail"},{"type":"null"}]},"billing_and_shipping_same":{"oneOf":[{"type":"boolean"},{"type":"null"}]},"payment_option":{"oneOf":[{"$ref":"#/components/schemas/PaymentOptionDetail"},{"type":"null"}]},"notifications":{"type":"array","items":{"type":"object"}},"shipping_amount":{"oneOf":[{"type":"string","pattern":"^\\d+\\.\\d{2}$"},{"type":"null"}]},"total_amount":{"oneOf":[{"type":"string","pattern":"^\\d+\\.\\d{2}$"},{"type":"null"}]},"unpaid_amount":{"oneOf":[{"type":"string","pattern":"^\\d+\\.\\d{2}$"},{"type":"null"}]},"loyalty_money":{"oneOf":[{"type":"string","pattern":"^\\d+\\.\\d{2}$"},{"type":"null"}]},"currency_type_label":{"type":"string"},"installment":{"oneOf":[{"$ref":"#/components/schemas/Installment"},{"type":"null"}]},"card_info":{"oneOf":[{"type":"object","description":"Card information from BIN lookup","properties":{"bin_number":{"type":"string","description":"Card BIN (first 6-8 digits)"},"card":{"type":"object","description":"Card details from BIN database","properties":{"pk":{"type":"integer"},"name":{"type":"string","description":"Card type name (e.g., \"Visa\", \"Mastercard\")"}}}}},{"type":"null"}]},"redirect_to_three_d":{"oneOf":[{"type":"boolean"},{"type":"null"}]},"delivery_option":{"oneOf":[{"$ref":"#/components/schemas/DeliveryOption"},{"type":"null"}]},"retail_store":{"oneOf":[{"$ref":"#/components/schemas/RetailStore"},{"type":"null"}]},"funds_transfer_bank":{"oneOf":[{"$ref":"#/components/schemas/BankAccount"},{"type":"null"}]},"number":{"oneOf":[{"type":"string","description":"Pre-order/order number"},{"type":"null"}]},"order":{"oneOf":[{"type":"object","description":"Created order (after checkout completion)","properties":{"pk":{"type":"integer"},"number":{"type":"string"},"status":{"type":"string"}}},{"type":"null"}]},"payment_choice":{"oneOf":[{"$ref":"#/components/schemas/PaymentChoice"},{"type":"null"}]},"user_email":{"oneOf":[{"type":"string"},{"type":"null"}]},"phone_number":{"oneOf":[{"type":"string"},{"type":"null"}]},"user_phone_number":{"oneOf":[{"type":"string"},{"type":"null"}]},"gift_box":{"oneOf":[{"type":"object","properties":{"note":{"type":"string"},"gift_video":{"type":"boolean"},"gift_video_notification_sent":{"type":"boolean"},"price":{"type":"string"}}},{"type":"null"}]},"delivery_range":{"oneOf":[{"type":"object","properties":{"lower":{"type":"string","format":"date-time"},"upper":{"type":"string","format":"date-time"}}},{"type":"null"}]},"total_amount_with_interest":{"oneOf":[{"type":"string","pattern":"^\\d+\\.\\d{2}$"},{"type":"null"}]},"is_guest":{"type":"boolean"},"is_post_order":{"type":"boolean"},"data_source_shipping_options":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/DataSourceShippingOptionDetail"}},{"type":"null"}]},"attribute_based_shipping_options":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/PreOrderAttributeBasedShippingOption"}},{"type":"null"}]}}},"Basket":{"type":"object","properties":{"pk":{"type":"integer"},"total_amount":{"type":"string","pattern":"^\\d+\\.\\d{2}$"}}},"Address":{"type":"object","properties":{"pk":{"type":"integer"},"email":{"type":"string"},"phone_number":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"country":{"$ref":"#/components/schemas/Country"},"city":{"$ref":"#/components/schemas/City"},"line":{"type":"string"},"title":{"type":"string"},"township":{"$ref":"#/components/schemas/Township"},"district":{"oneOf":[{"$ref":"#/components/schemas/District"},{"type":"null"}]},"postcode":{"type":"string"},"notes":{"type":"string"},"company_name":{"type":"string"},"tax_office":{"type":"string"},"tax_no":{"type":"string"},"e_bill_taxpayer":{"type":"boolean"},"is_corporate":{"type":"boolean"},"primary":{"type":"boolean"},"identity_number":{"type":"string"}}},"Country":{"type":"object","properties":{"pk":{"type":"integer"},"code":{"type":"string"},"name":{"type":"string"}}},"City":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"}}},"Township":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"}}},"District":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"}}},"ShippingOptionDetail":{"type":"object","description":"Detailed shipping option with calculated amount","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"null"}]},"shipping_amount":{"type":"string","pattern":"^\\d+\\.\\d{2}$"},"description":{"oneOf":[{"type":"string"},{"type":"null"}]},"kwargs":{"type":"object","additionalProperties":true}}},"PaymentOptionDetail":{"type":"object","description":"Detailed payment option with type information","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"payment_type":{"type":"string","enum":["credit_card","funds_transfer","bkm_express","loyalty_money","cash_register","gpay","redirection","stored_card","masterpass","masterpass_rest","credit_payment","pay_later","saved_card","confirmation","b2b","wallet","pay_on_delivery"]},"payment_type_label":{"type":"string"}}},"Installment":{"type":"object","properties":{"pk":{"type":"integer"},"installment_count":{"type":"integer"},"label":{"type":"string"},"price_with_accrued_interest":{"type":"string","pattern":"^\\d+\\.\\d{2}$"},"monthly_price_with_accrued_interest":{"type":"string","pattern":"^\\d+\\.\\d{2}$"}}},"DeliveryOption":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"delivery_option_type":{"type":"string","enum":["customer","retail_store","pickup_location"]},"is_active":{"type":"boolean"}}},"RetailStore":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"erp_code":{"type":"string"},"township":{"$ref":"#/components/schemas/Township"},"click_and_collect":{"type":"boolean"},"is_active":{"type":"boolean"}}},"BankAccount":{"type":"object","description":"Bank account for funds transfer payments","properties":{"pk":{"type":"integer"},"bank_name":{"type":"string","description":"Name of the bank"},"account_holder":{"type":"string","description":"Account holder name"},"iban":{"type":"string","description":"International Bank Account Number"},"currency":{"type":"string","description":"Currency code (e.g., \"USD\", \"EUR\", \"TRY\")"},"is_active":{"type":"boolean"}}},"PaymentChoice":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"},"price":{"type":"string","pattern":"^\\d+\\.\\d{2}$"}}},"DataSourceShippingOptionDetail":{"type":"object","description":"Data source shipping option for multi-vendor shipping","properties":{"pk":{"type":"integer"},"shipping_amount":{"type":"string","pattern":"^\\d+\\.\\d{2}$"},"shipping_option_name":{"type":"string"},"shipping_option_logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"null"}]},"data_source":{"type":"object","properties":{"pk":{"type":"integer"},"title":{"type":"string"}}},"description":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"PreOrderAttributeBasedShippingOption":{"type":"object","description":"Attribute-based shipping option selected for a product group","properties":{"pk":{"type":"integer"},"shipping_option_name":{"type":"string"},"shipping_option_logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"null"}]},"shipping_amount":{"type":"string","pattern":"^\\d+\\.\\d{2}$"},"product_ids":{"type":"array","items":{"type":"integer"}},"attribute_value":{"type":"string"},"attribute_key":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://apidocs.akinon.com/commerce-openapis/checkout/wallet-and-redirection-payments/process-redirection-payment-callback.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
