LogoLogo
  • Welcome to Akinon Documentation
  • Products
    • ACC
    • Omnitron
    • Commerce
    • Order Management System (OMS)
    • Instore
    • Integrator
    • Marketplace Dashboard (MPD)
    • Project Zero (PZ)
    • Seller Center
    • Akifast
    • App Maker
  • API Reference
    • Welcome to Akinon API Reference
  • Omnitron
    • Getting Started
    • Integration
      • Product
        • Product
        • Pre-Product
        • Attribute
        • Attribute Value
        • Attribute Set
        • Product Image
      • Price
        • Price List
        • Product Price
        • Currency Unit Table
      • Stock
        • Stock List
        • Product Stock
      • Order
        • Get Orders
        • Search Order
        • Get Order Detail by Order Number
        • Get Order Item Detail
        • Orders ID Detail Integration
        • Orders Waiting to Send to ERP
        • Update Order and Order Item
        • Stock Reservation Release
        • Order Cancellation
        • Cancellation & Refund Pending Orders
        • Order Discount Items
        • Order Status Codes & Cancellation Statuses
      • Migration
        • Getting Started
        • User Migration
        • Address Migration
        • Old Order Migration
        • Old Order Item Migration
        • View Migration Progress
        • Currency Options
    • PIM
      • Attributes & Sets
      • Mapping
      • Localization
      • Media
    • Catalogue
      • Introduction
      • Price List
      • Stock List
      • Catalogue Item
      • Category Trees
      • Product Collection
      • Product Sorting
    • Channels
      • Introduction
      • Payments
      • Customers
    • Order
      • Getting Started
      • Fulfillment
      • Cancellations & Refunds
    • Retail Stores
      • Retail Stores
    • User Management
      • Roles & Permissions
      • Add & Remove
    • Whippy Ware
      • Introduction
      • Stock
      • Stock Lists
      • Stock List Rules
      • Stock Providers
      • Stock Locations
  • Omnitron OpenAPIs
    • Without Server
      • Customers
      • Reporting
      • Deleted Items
      • Pos
      • AttributeValues
      • Attribute Values
      • Providers
      • LDAPProviders
      • Healthcheck
      • LoyaltyTransactions
      • Policies
      • Exports
      • Dashboard
      • AuthTOTP
      • Price Lists
      • ProductPrices
      • Districts
      • Cities
      • Countries
      • Townships
      • PrometheusMetrics
      • Language
      • Content Types
      • Mappings
      • Applications
      • ApplicationPermissions
      • Error Reports
      • MailTemplates
      • UploadLogo
      • SalesChannelMarketPlaceAttributeSetConfig
      • SalesChannelCancellationRequestImage
      • SalesChannelCities
      • SalesChannelCancellationReasons
      • SalesChannelCargoCompany
      • SalesChannelProductImage
      • SalesChannelAttributeConfig
      • SalesChannelAttributeValueConfig
      • SalesChannelTownships
      • SalesChannelCustomers
      • SalesChannelFailedIntegrations
      • SalesChannelGetStockList
      • SalesChannelRetailStore
      • IntegrationActions
      • SalesChannelOrderShippingInfo
      • SalesChannelBatchRequests
      • SalesChannelAddresses
      • SalesChannelMarketPlaceAttributeSet
      • SalesChannelErrorReports
      • SalesChannelCategoryNodes
      • SalesChannelDistricts
      • SalesChannelProductStock
      • SalesChannelExtraProductStock
      • SalesChannelOrders
      • SalesChannelCancellationPlans
      • SalesChannelExtraProductPrices
      • SalesChannelProduct
      • SalesChannelAttributeSchemas
      • SalesChannelProductCategories
      • SalesChannelCancellationRequests
      • SalesChannelMarketPlaceAttributeValue
      • SalesChannelMappedProduct
      • SalesChannelMarketPlaceAttribute
      • SalesChannelOrderItem
      • SalesChannelProductPrice
      • SalesChannelCreateOrder
      • GetPriceList
      • SalesChannelCountries
      • SalesChannelGetPriceList
      • SalesChannelCategoryTree
    • With Server
      • Customers
      • Reporting
      • Deleted Items
      • Pos
      • AttributeValues
      • Attribute Values
      • Providers
      • LDAPProviders
      • Healthcheck
      • LoyaltyTransactions
      • Policies
      • Exports
      • Dashboard
      • AuthTOTP
      • Price Lists
      • ProductPrices
      • Districts
      • Cities
      • Countries
      • Townships
      • PrometheusMetrics
      • Language
      • Mappings
      • Content Types
      • Applications
      • ApplicationPermissions
      • Error Reports
      • MailTemplates
      • UploadLogo
      • SalesChannelMarketPlaceAttributeSetConfig
      • SalesChannelCancellationRequestImage
      • SalesChannelCities
      • SalesChannelCancellationReasons
      • SalesChannelCargoCompany
      • SalesChannelProductImage
      • SalesChannelAttributeConfig
      • SalesChannelAttributeValueConfig
      • SalesChannelTownships
      • SalesChannelCustomers
      • SalesChannelFailedIntegrations
      • SalesChannelGetStockList
      • IntegrationActions
      • SalesChannelRetailStore
      • SalesChannelOrderShippingInfo
      • SalesChannelBatchRequests
      • SalesChannelAddresses
      • SalesChannelMarketPlaceAttributeSet
      • SalesChannelErrorReports
      • SalesChannelDistricts
      • SalesChannelCategoryNodes
      • SalesChannelProductStock
      • SalesChannelExtraProductStock
      • SalesChannelCountries
      • SalesChannelOrders
      • SalesChannelProduct
      • SalesChannelCancellationPlans
      • SalesChannelExtraProductPrices
      • SalesChannelProductCategories
      • SalesChannelAttributeSchemas
      • SalesChannelCancellationRequests
      • SalesChannelMarketPlaceAttributeValue
      • SalesChannelMappedProduct
      • SalesChannelMarketPlaceAttribute
      • SalesChannelOrderItem
      • SalesChannelProductPrice
      • SalesChannelCreateOrder
      • GetPriceList
      • SalesChannelGetPriceList
      • SalesChannelCategoryTree
  • Commerce
    • Users
      • Getting Started
      • User Management & Authentication
      • Password & OTP Operations
      • User Profile & Segment Management
      • User Payment & Card Management
      • User Orders & Cancellations
      • Anonymous User Orders & Cancellations
      • User Support & Conversation
      • Captcha Validation
      • Currency & Akifast Operations
    • Checkout
      • Payment Related
      • Payment Strategy Related
      • Shipping Related
      • Independent Pages
    • Product
    • User Collections
    • Basket
    • Discount
    • Autocomplete
    • Breadcrumb
    • Pretty URLs
    • Menu
    • Widgets
    • Loyalty Accounts
    • Address Migration
    • Index Configuration
    • Favourite Products
    • User Address
    • Data Warehouse
    • Introduction
      • Filtering Parameters
    • Data Warehouse
    • Default
  • OMS
    • Package Services
    • Package Item Services
    • Package Denial Reason Services
    • Order Services
    • Order Item Services
    • Transfer Order Services
    • Transfer Item Services
    • Channel Services
    • Cancellation Plan Services
    • Cancellation Reason Services
    • Address Setup Services
    • City Services
    • District Services
    • Township Services
    • Stock Location Address Services
    • Webhook Setup Services
    • Webhook Event Services
    • Omnitron Order Webhooks
    • Undelivered Webhook Event Services
    • Inventory Discrepancy Services
    • OMS Setup Services
    • UI Settings Services
    • OMS Audit Events Service
    • Customer Address Services
    • Application Settings Services
    • Content Type Services
    • Customer Services
    • Channel Setup Services
    • Demo Data Service
    • Order Execution Plan Services
    • Invoice Services
    • Localization Services
    • Action Log Services
    • Order Log Services
    • Celery Metrics Service
    • Stock Location Services
    • Stock Location Address Services
    • Stock Location Sender Address Services
    • Stock Location Sender Address Setup Services
    • Cargo Company Condition Services
    • Permission Group Services
  • OMS OpenAPIs
    • Package Services
      • Default
    • Transfer Order Services
      • Default
  • Instore
    • Password Reset Services
  • Integrator
    • Projects
    • Flows
    • Logs
  • Seller Center
    • Languages
    • Categories
    • Introduction
    • Products
    • Packages
    • Orders
    • Claims
    • Shipping Methods
  • Akifast
    • Authentication
  • B2B
    • Quotation
    • Basket
    • Division
    • User
    • Staff User
    • Groups
    • Notification
    • Notification Template
  • Flows
    • Shipment Flows
    • Payment Flows
    • SMS Flows
    • Basket Offer Flows
Powered by GitBook

© 2025 Akinon. All rights reserved.

On this page
  • GET Available Payment Options
  • POST Set Payment Option
  • POST Set Payment Choice
  • POST SMS Verification
  • GET Created Order Information

Was this helpful?

  1. Commerce
  2. Checkout

Payment Related

This document covers all services for payment-related checkout, including the requests and responses associated with these services.

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.

GET Available Payment Options

This method is used to get a list for all available payment options.

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

The following payment_option are currently available:

credit_card 	=> 'Credit Card'
funds_transfer 	=> 'Funds Transfer'
pay_on_delivery => 'Pay On Delivery'
bkm_express 	=> 'BKM Express'
loyalty_money 	=> 'Store Credit'
cash_register 	=> 'Cash Register'
gpay 			=> 'Garanti Pay'
redirection 	=> "Redirect to Bank"
stored_card 	=> 'Stored Card'
masterpass 		=> 'Masterpass'
credit_payment 	=> 'Credit Payment'
saved_card		=> 'Saved Card'
pay_later		=> 'Pay Later'
confirmation 	=> 'Confirmation From User'

Example Request

import requests

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

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

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

print(response.text)

Example Response

    {
    	"context_list": [
        	{
				"page_context": {
					"checkout_url": "https://{commerce_url}/checkout-with-token/<UNIQUE_CHECKOUT_TOKEN>",
					"status_url": "https://{commerce_url}/checkout-with-token/<UNIQUE_CHECKOUT_TOKEN>/status/",
					"payment_options": [
						{
							"pk": 1,
							"name": "credit_card",
							"slug": "credit_card",
							"payment_type": "credit_card",
							"payment_type_label": "Credit Card",
						}
					],
					"unavailable_options": [
						{
							"name": "Redirect to Bank",
							"slug": "redirection",
							"payment_type": "redirection",
							"payment_type_label": "Redirect to Bank",
							"error_code": 1000,
							"error_message": "Some error message about why the option is not available.",
						}
					]
				},
				"page_name": "PaymentOptionSelectionPage",
				"page_slug": "PaymentOptionSelectionPage"
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }

POST Set Payment Option

This method is used to set the selected payment option to the current pre-order.

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

The endpoint result may vary depending on the selected payment option. Thus, the next page could be one of the following:

  • BinNumberPage

  • FundsTransferChoicePage

  • BexSelectionPage

  • LoyaltyMoneyPage

  • CashRegisterPage

  • PaySelectionPage

  • RedirectionPaymentSelectedPage

  • MobilExpressSelectionPage

  • MasterpassBinNumberPage

  • CreditPaymentSelectionPage

  • PayLaterCompletePage

  • SavedCardSelectionPage

  • ConfirmationPaymentAgreementCheckPage

Example Request

import requests

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

payload = '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_context differs according to the payment option selection
					// explained in payment strategy related documentation
				},
				"page_name": "PaymentOptionSelectionPage",
				"page_slug": "PaymentOptionSelectionPage"
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }

Example Response - Pay on Delivery

When the user selects "Pay on Delivery" as the payment option, the following endpoint response is returned.

    {
    	"context_list": [
        	{
				"page_context": {
					"payment_choices": [
						{
							"label": "Kredi Karti",
							"sku": "00001",
							"value": "credit_card"
						},
						{
							"label": "Pesin",
							"sku": "00002",
							"value": "cash"
						}
					]
				},
				"page_name": "PayOnDeliveryPaymentChoicePage",
				"page_slug": "PayOnDeliveryPaymentChoicePage"
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }

POST Set Payment Choice

This method is used to set the selected payment option (Pay on Delivery) to the current pre-order.

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

The endpoint result may vary depending on "sms verification", "Pay on Delivery" configuration option.

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 - SMS Verification Required

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

Example Response - SMS Verification Disabled

    {
    	"context_list": [
			{
				"page_context": {

				},
				"page_name": "ThankYouPage",
				"page_slug": "ThankYouPage"
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }

POST SMS Verification

This method is used to set the verification code for SMS verification.

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

Example Request

import requests

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

payload = 'verify_code=123456'
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": {
						"verification_sent_datetime": "2023-03-15 15:00:00+00:00",
						"seconds_left": 39,
						"retry": true,
				},
				"page_name": "ThankYouPage",
				"page_slug": "ThankYouPage"
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }

GET Created Order Information

This method is used to get created order information from pre-order.

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

Example Request

import requests

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

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": {
					"redirect_url": "https://{commerce_url}/completed/{ORDERNUMBER}",
					"order_id": 123,
					"order_number": "ON123",
					"new_user": false,
					"token": "df8a210c-c19d-4497-ad63-494fdea1f1e0",
					"campaigns": [
						{
							"code": "1", 
							"message": "xyz"
						},
					],
				},
			}
    	],
    	"template_name": "orders/checkout.html",
    	"errors": null,
    	"pre_order": {...}
    }
PreviousCheckoutNextPayment Strategy Related

Last updated 1 month ago

Was this helpful?