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:
- Users must log in using their credentials (e.g., username and password) via a designated authentication endpoint.
- Upon successful login, the server will generate and return a session cookie to the client.
- 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": {...}
}