Skip to main content

Payment Strategy Related

This document covers all services for payment strategy related checkout to complete any chosen payment option, including the requests and responses associated with these services.

NOTE

Authenticated Endpoints

Accessing authenticated endpoints requires users to establish a session through Session Authentication. To do this:

  1. Users must log in using their credentials (e.g., username and password) via a designated authentication endpoint.
  2. Upon successful login, the server will generate and return a session cookie to the client.
  3. This session cookie must be included in subsequent API requests as part of the headers. The session cookie serves as proof of authentication and ensures secure access to protected resources.

POST Send Funds Transfer Choice

This method is used to notify the funds transfer choice (bank account) selected by the user.

The available bank accounts are listed within the PaymentOptionSelectionPage context following the selection of a payment option.

Path: https://{commerce_url}/orders/checkout/?page=FundsTransferChoicePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=FundsTransferChoicePage"

payload = 'bank_account=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "FundsTransferPage",
"page_slug": "fundstransferpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Funds Transfer Payment

This method is used to complete order with FundsTransfer payment type.

Path: https://{commerce_url}/orders/checkout/?page=FundsTransferPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=FundsTransferPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Loyalty Money Payment

This method is used to complete order with LoyaltyMoney payment type.

Path: https://{commerce_url}/orders/checkout/?page=LoyaltyMoneyPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=LoyaltyMoneyPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Pay Later Payment

This method is used to complete order with PayLater payment type.

Path: https://{commerce_url}/orders/checkout/?page=PayLaterCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=PayLaterCompletePage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Pay on Delivery Payment Choice

This method is used to set payment choice for PayOnDelivery payment type.

Path: https://{commerce_url}/orders/checkout/?page=PayOnDeliveryPaymentChoicePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=PayOnDeliveryPaymentChoicePage"

payload = 'payment_choice=cash'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "PayOnDeliveryPage",
"page_slug": "payondeliverypage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Pay on Delivery Payment

This method is used to complete order with PayOnDelivery payment type.

Path: https://{commerce_url}/orders/checkout/?page=PayOnDeliveryPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=PayOnDeliveryPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Redirection Payment

This method is used to start redirection to 3rd party payment service.

Path: https://{commerce_url}/orders/checkout/?page=RedirectionPaymentSelectedPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=RedirectionPaymentSelectedPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "https://3rd-party-payment.com/pay/XASiso-daaskA12-1"
},
"page_name": "RedirectionPageCompletePage",
"page_slug": "redirectionpagecompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Redirection Payment

This method is used by 3rd party payment services in order to complete order.

Path: https://{commerce_url}/orders/checkout/?page=RedirectionPageCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=RedirectionPageCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Credit Payment Option on Credit Payment Type

This method is used to set credit payment option for Credit payment type.

The available Credit Payment options are listed within the PaymentOptionSelectionPage context following the selection of a payment option.

Path: https://{commerce_url}/orders/checkout/?page=CreditPaymentSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CreditPaymentSelectionPage"

payload = 'credit_payment_option=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "CreditPaymentConfirmationPage",
"page_slug": "creditpaymentconfirmationpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Redirection on Credit Payment

This method is used to start redirection process on credit payment option for Credit payment type.

After the completion on the third-party application, user is redirected to the next page, which is called CreditPaymentCompletePage.

Path: https://{commerce_url}/orders/checkout/?page=CreditPaymentConfirmationPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CreditPaymentConfirmationPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "CreditPaymentConfirmationPage",
"page_slug": "creditpaymentconfirmationpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Credit Payment Payment

This method is used by 3rd party payment services in order to complete order.

Path: https://{commerce_url}/orders/checkout/?page=CreditPaymentCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CreditPaymentCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Cash Register Payment

This method is used to start Cash Register Payment in stores with Akinon Instore application in order to generate barcode which will be used on payment process.

If the payment option configuration includes a setting called is_installment_active, the next page will be CashRegisterInstallmentSelectionPage; otherwise, it will be CashRegisterCompletePage.

Path: https://{commerce_url}/orders/checkout/?page=CashRegisterPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CashRegisterPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

Response from CashRegisterInstallmentSelectionPage

{
"context_list": [
{
"page_context": {
"cards": [
{
"card_payment_type": "credit",
"installments": [
{
"pk": 1,
"installment_count": 1,
"label": "Advance",
"price_with_accrued_interest": 100,
"monthly_price_with_accrued_interest": 100
},
{
"pk": 2,
"installment_count": 3,
"label": "3 Installments",
"price_with_accrued_interest": 105,
"monthly_price_with_accrued_interest": 105
},
],
"bank": {
"pk": 1,
"name": "Bank",
"slug": "bank",
"logo": "https://cdn-mgsm.akinon.net/card_types/2017/01/25/56dd552c-c769-4b3f-86f6-1f340bafa3c0.jpg"
}
}
]
},
"page_name": "CashRegisterInstallmentSelectionPage",
"page_slug": "cashregisterinstallmentselectionpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

Response from CashRegisterCompletePage

The client needs to generate an image from the barcode field, which is a base64 encoded string. The term number refers to the order number. Additionally, the client can utilize the seconds field to check the order's completion by using it as a request frequency.

{
"context_list": [
{
"page_context": {
"barcode": "iVBoAAAANSUhEUgAAAV4AAAEYCAIAAACbSAk8AAAI00lEQVR4nO3bXWiWdQPH8f....",
"number": 9922111123321,
"seconds": 5
},
"page_name": "CashRegisterCompletePage",
"page_slug": "cashregistercompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Installment Option on Cash Register Payment

This method is used to set installment option on Cash Register Payment.

Path: https://{commerce_url}/orders/checkout/?page=CashRegisterInstallmentSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CashRegisterInstallmentSelectionPage"

payload = 'installment=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "CashRegisterCompletePage",
"page_slug": "cashregistercompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Cash Register Payment

This method is used to complete Cash Register Payment.

Path: https://{commerce_url}/orders/checkout/?page=CashRegisterCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=CashRegisterCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start BKM Express Payment Type

This method is used to start BKM Express payment type. The client opens a popup using the BKM Express JS Client Library, utilizing the data in the page context provided below.

Path: https://{commerce_url}/orders/checkout/?page=BexSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=BexSelectionPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"path": "https://api.bkmexpress.com.tr/v1/merchant/path/ticket?type=payment",
"token": "ASDXX123123kaSDJAA",
"transaction_id": "5b03cc8a2902ff2e3e7a8706cd3c033a"
},
"page_name": "BexBinNumberPage",
"page_slug": "bexbinnumberpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Bin Number on BKM Express Payment Type

This method is used to set bin_number for BKM Express Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=BexBinNumberPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=BexBinNumberPage"

payload = 'bin_number=665544'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"installments": [
{
"pk": 1,
"installment_count": 1,
"label": "Advance",
"price_with_accrued_interest": 100,
"monthly_price_with_accrued_interest": 100
},
{
"pk": 2,
"installment_count": 3,
"label": "3 Installments",
"price_with_accrued_interest": 105,
"monthly_price_with_accrued_interest": 105
},

],
"card_type": {
"name": "Card Finans",
"slug": "card-finans",
"logo": "https://cdn-mgsm.akinon.net/card_types/2017/01/25/56dd552c-c769-4b3f-86f6-1f340bafa3c0.jpg"
},
"installment_messages": []
},
"page_name": "BexInstallmentSelectionPage",
"page_slug": "bexinstallmentselectionpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Installment Option on BKM Express Payment Type

This method is used to set an installment option for BKM Express Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=BexInstallmentSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=BexInstallmentSelectionPage"

payload = 'installment=3'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "BexNoncePage",
"page_slug": "bexnoncepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Bex Nonce Page on BKM Express Payment Type

This method is used by BKM Express client.

Path: https://{commerce_url}/orders/checkout/?page=BexNoncePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=BexNoncePage"

payload = 'order_id=123123asdasd&transaction_id=asdasdasdasdas&data=%7B%22status%22%3A%20%22ok%22%2C%22paymentPurchased%22%3A%20true%7D'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "BexCompletePage",
"page_slug": "bexcompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete BKM Express Payment Type

This method is used to Complete BKM Express Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=BexCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=BexCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Garanti Pay Payment

This method is used to start Garanti Pay payment process.

Path: https://{commerce_url}/orders/checkout/?page=GPaySelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=GPaySelectionPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "GPayRedirectPage",
"page_slug": "gpayredirectpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Redirection on Garanti Pay Payment

This method is used to start redirection process on Garanti Pay payment type. The client needs to utilize the URL provided in the page context below to redirect to the Garanti Pay payment service page.

Path: https://{commerce_url}/orders/checkout/?page=GPayRedirectPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=GPayRedirectPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "https://akinon-shop.com/orders/garanti-pay-redirect/"
},
"page_name": "GPayCompletePage",
"page_slug": "gpaycompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Garanti Pay Payment

This method is used by the Garanti Pay payment service, a third-party service, to complete the order.

Path: https://{commerce_url}/orders/checkout/?page=GPayCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=GPayCompletePage"

payload = 'gpay=true&success=true&gpinstallment=3'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Confirmation Payment

This method is used to start payment confirmation process.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentAgreementCheckPage

During the checkout step, if the customer selects the "Paycell" payment method, the suitability of the customer's phone number for this payment method is checked. If the customer has not accepted the terms and conditions or if mobile payment is not enabled, the customer's approval is obtained, and the service is activated with their approval.

If the phone number is suitable for this payment method, an "OTP" verification code is sent to the customer via SMS. The customer enters the "OTP" verification code, which is then verified through the gateway. The payment process is finalized on the complete page.

The customer's phone number must always be suitable for this payment method. This page run the check_agreement to verify the suitability of the phone_number and determines the next page based on the status of the phone number. Additionally, if necessary, the terms and conditions will be displayed on this page.

If there is a configuration setting called agreement_required in the payment settings, the next page will be ConfirmationPaymentAgreementConfirmPage; otherwise, it will be ConfirmationPaymentSelectedPage.

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentAgreementCheckPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

Response from ConfirmationPaymentAgreementConfirmPage

{
"context_list": [
{
"page_context": {
"terms_and_conditions": {...}
},
"page_name": "ConfirmationPaymentAgreementConfirmPage",
"page_slug": "confirmationpaymentagreementconfirmpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

Response from ConfirmationPaymentSelectedPage

{
"context_list": [
{
"page_context": {},
"page_name": "ConfirmationPaymentSelectedPage",
"page_slug": "confirmationpaymentselectedpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Agree Terms and Conditions on Confirmation Payment

This method is used to agree terms and conditions for Confirmation Payment.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentAgreementConfirmPage

Example Request

{
import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentAgreementConfirmPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
}

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "ConfirmationPaymentSelectedPage",
"page_slug": "confirmationpaymentselectedpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Continue on Confirmation Payment

This method is used to validate user and user phone for Confirmation Payment option.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentSelectedPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentSelectedPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "ConfirmationPaymentQueryPage",
"page_slug": "confirmationpaymentquerypage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Confirmation Query on Confirmation Payment

This method is used to query payment gateway with OTP or token.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentQueryPage

The query page validates the OTP code that is sent via SMS and expects the OTP code as a parameter. However, the required inputs may vary depending on the payment gateway configured for this payment type.

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentQueryPage"

payload = 'otp=5544'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "ConfirmationPaymentCompletePage",
"page_slug": "confirmationpaymentcompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Confirmation Payment

This method is used to complete Confirmation Payment.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

GET Fetch Saved Cards to Start Saved Cards Payment Type

This method is used to fetch customer's saved cards.

Path: https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=ConfirmationPaymentCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"cards": [
"name": "My Visa Card",
"masked_card_number": "5555 55** **** **92",
"token": "my-visa-card"
]
},
"page_name": "SavedCardSelectionPage",
"page_slug": "savedcardselectionpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Saved Card on Saved Card Payment Type

This method is used to set card on Saved Card Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=SavedCardSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=SavedCardSelectionPage"

payload = 'card=my-visa-card'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"installments": [
{
"pk": 1,
"installment_count": 1,
"label": "Advance",
"price_with_accrued_interest": 100,
"monthly_price_with_accrued_interest": 100
},
{
"pk": 2,
"installment_count": 3,
"label": "3 Installments",
"price_with_accrued_interest": 105,
"monthly_price_with_accrued_interest": 105
},
],
"card_type": {
"name": "Card Finans",
"slug": "card-finans",
"logo": "https://cdn-mgsm.akinon.net/card_types/2017/01/25/56dd552c-c769-4b3f-86f6-1f340bafa3c0.jpg"
},
"installment_messages": []
},
"page_name": "SavedCardInstallmentSelectionPage",
"page_slug": "savedcardinstallmentselectionpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Installment Option on Saved Card Payment Type

This method is used to set installment option on Saved Card Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=SavedCardInstallmentSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=SavedCardInstallmentSelectionPage"

payload = 'installment=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "SavedCardConfirmationPage",
"page_slug": "savedcardconfirmationpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete Saved Card Payment Type

This method is used to complete Saved Card Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=SavedCardConfirmationPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=SavedCardConfirmationPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start Masterpass Payment Type

This method is used to start Masterpass Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=MasterpassBinNumberPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MasterpassBinNumberPage"

payload = 'is_masterpass_stored_card=true&bin_number=665544'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"installments": [
{
"pk": 1,
"installment_count": 1,
"label": "Advance",
"price_with_accrued_interest": 100,
"monthly_price_with_accrued_interest": 100
},
{
"pk": 2,
"installment_count": 3,
"label": "3 Installments",
"price_with_accrued_interest": 105,
"monthly_price_with_accrued_interest": 105
},
],
"card_type": {
"name": "Card Finans",
"slug": "card-finans",
"logo": "https://cdn-mgsm.akinon.net/card_types/2017/01/25/56dd552c-c769-4b3f-86f6-1f340bafa3c0.jpg"
},
"installment_messages": []
},
"page_name": "MasterpassInstallmentPage",
"page_slug": "masterpassinstallmentpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Installment on Masterpass Payment Type

This method is used to set installment option on Masterpass Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=MasterpassInstallmentPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MasterpassInstallmentPage"

payload = 'installment=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "MasterpassOrderNoPage",
"page_slug": "masterpassordernopage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Continue on Masterpass Payment Type

This method is used to continue on Masterpass Payment Type.

Path: https://{commerce_url}/orders/checkout/?page=MasterpassOrderNoPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MasterpassOrderNoPage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"msisdn": "...",
"order_no": "...",
"token": "...",
"direct_token": "...",
"three_d": true,
"extras": {...},
},
"page_name": "MasterpassCompletePage",
"page_slug": "masterpasscompletepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Continue on Masterpass Payment Type

This method is used to complete Masterpass Payment Type by Masterpass 3rd party service.

Path: https://{commerce_url}/orders/checkout/?page=MasterpassCompletePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MasterpassCompletePage"

payload = {}
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Start MobilExpress Payment Type

This method is used to fetch saved cards on MobilExpress according to the clear parameter.

Based on the configuration, the next page can be one of the following: MobilExpressCardFoundOtpRequiredPhonePage or MobilExpressCardListPage.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressSelectionPage"

payload = 'clear=false'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Response from MobilExpressCardFoundOtpRequiredPhonePage

{
"context_list": [
{
"page_context": {
"phone_number": "5554443322"
},
"page_name": "MobilExpressCardFoundOtpRequiredPhonePage",
"page_slug": "mobilexpresscardfoundotprequiredphonepage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

Response from MobilExpressCardListPage

{
"context_list": [
{
"page_context": {
"cards": [
{
"cardId": "6f08f86f-0343-4e9e-a3e2-656a3facf79b",
"maskedCardNo": "454671******7894",
"alias": "MAXIMUM",
"cardBrand": "MAXIMUM",
"isDefault": true,
"isExpired": false,
"showEulaId": false,
"isThreeDValidated": true,
"isOTPValidated": false,
"activationDate": "2020-11-02 22:08:55",
"cardType": "Credit"
}
]
},
"page_name": "MobilExpressCardListPage",
"page_slug": "mobilexpresscardlistpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Phone Number Validation on MobilExpress Payment Type

This method is used to validate phone number on MobilExpress payment type.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredPhonePage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredPhonePage"

payload = 'phone_number=5XXXXXXXXX'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"phone_number": "5554443322"
},
"page_name": "MobilExpressCardFoundOtpRequiredOtpPage",
"page_slug": "mobilexpresscardfoundotprequiredotppage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Continue on Phone Number Validation on MobilExpress Payment Type

This method is used to validate phone number with OTP code on MobilExpress payment type.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredOtpPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredOtpPage"

payload = 'otp=5544'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"cards": [
{
"cardId": "6f08f86f-0343-4e9e-a3e2-656a3facf79b",
"maskedCardNo": "454671******7894",
"alias": "MAXIMUM",
"cardBrand": "MAXIMUM",
"isDefault": true,
"isExpired": false,
"showEulaId": false,
"isThreeDValidated": true,
"isOTPValidated": false,
"activationDate": "2020-11-02 22:08:55",
"cardType": "Credit"
}
]
},
"page_name": "MobilExpressCardListPage",
"page_slug": "mobilexpresscardlistpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set card on MobilExpress Payment Type

This method is used to set card on MobilExpress payment type.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredOtpPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressCardFoundOtpRequiredOtpPage"

payload = 'card_token=asddasdada&masked_card_number=454671******7894'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"installments": [
{
"pk": 1,
"installment_count": 1,
"label": "Advance",
"price_with_accrued_interest": 100,
"monthly_price_with_accrued_interest": 100
},
{
"pk": 2,
"installment_count": 3,
"label": "3 Installments",
"price_with_accrued_interest": 105,
"monthly_price_with_accrued_interest": 105
},

],
"installment_messages": []
},
"page_name": "MobilExpressInstallmentSelectionPage",
"page_slug": "mobilexpressinstallmentselectionpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Set Installment Option on MobilExpress Payment Type

This method is used to set Installment Option on MobilExpress payment type.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressInstallmentSelectionPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressInstallmentSelectionPage"

payload = 'installment=1'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {},
"page_name": "MobilExpressTryPaymentPage",
"page_slug": "mobilexpresstrypaymentpage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}

POST Complete MobilExpress Payment Type

This method is used to complete MobilExpress payment type.

Path: https://{commerce_url}/orders/checkout/?page=MobilExpressTryPaymentPage

Example Request

import requests

url = "https://{commerce_url}/orders/checkout/?page=MobilExpressTryPaymentPage"

payload = 'agreement=true'
headers = {
'x-requested-with': 'XMLHttpRequest',
'Cookie': 'osessionid=<session_id>',
'Content-Type': 'application/x-www-form-urlencoded'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response

{
"context_list": [
{
"page_context": {
"redirect_url": "/orders/completed/IjcwMjExMjMyMTA5MTci:1mRByT:tTgDsJbIKXyxJZyIZwHIBqtShvw/",
"order_id": 303,
"new_user": false,
"token": "138ddd19a0436166354cccbacb4cbb0473104193",
"campaigns": []
},
"page_name": "ThankYouPage",
"page_slug": "thankyoupage"
}
],
"template_name": "orders/checkout.html",
"errors": null,
"pre_order": {...}
}