### Confirm Sequra Payment Setup Request Example Source: https://www.checkout.com/docs/payments/add-payment-methods/sequra/payment-setup-api This is an example of a POST request to confirm a Sequra payment setup, using the payment setup ID and the Sequra payment method name. ```bash post `https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/sequra` ``` -------------------------------- ### Create Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/benefit-payment-gateway/payment-setup-api This is an example response after successfully creating a payment setup. It includes the payment setup ID, amount, currency, reference, and the status of available payment methods, such as 'benefit' being 'ready'. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "BHD", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "Benefit Payment Gateway payment", "payment_methods": { "benefit": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "benefit" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Confirm TrueMoney Payment Setup Request Example Source: https://www.checkout.com/docs/payments/add-payment-methods/truemoney/payment-setup-api This is an example of a POST request to confirm a TrueMoney payment setup using the payment setup ID. ```http post `https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/truemoney` ``` -------------------------------- ### Create QPay Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/qpay/payment-setup-api This is an example response after successfully creating a QPay payment setup. The `payment_methods.qpay.status` will be 'ready' if all required fields were valid. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "QAR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "QPay payment", "payment_methods": { "qpay": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "qpay" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Sequra Payment Setup Response Example Source: https://www.checkout.com/docs/payments/add-payment-methods/sequra/payment-setup-api This JSON response indicates a successful payment setup with Sequra, showing the payment details and available methods. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 20000, "currency": "EUR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "seQura payment", "payment_methods": { "sequra": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "sequra" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### TrueMoney Payment Setup Response Example Source: https://www.checkout.com/docs/payments/add-payment-methods/truemoney/payment-setup-api This JSON response indicates a successful setup for a TrueMoney payment, showing the payment details and available methods. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1100, "currency": "THB", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "TrueMoney payment", "payment_methods": { "truemoney": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "truemoney" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create MB WAY Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/mb-way/payment-setup-api This is an example response after successfully creating a payment setup for MB WAY. It includes the payment setup ID and confirms MB WAY is ready. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_mbwayrv3wxetbjo2mybygeszy", "amount": 1000, "currency": "EUR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "MB WAY payment", "payment_methods": { "mbway": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "mbway" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create BLIK Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/blik/payment-setup-api This is an example response after successfully creating a BLIK payment setup. It indicates the payment is ready for confirmation. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1099, "currency": "PLN", "payment_type": "Regular", "reference": "ORDER_01234", "description": "BLIK payment", "payment_methods": { "blik": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "blik" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/klarna-debit-risk/payment-setup-api This is a response example for the Create a payment setup endpoint. It shows the payment setup details, including the initialized payment methods and their statuses. Note the 'klarna' object with its initialization status and flags. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "EUR", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Klarna payment", "payment_methods": { "klarna": { "initialization": "disabled", "status": "initialization_required", "flags": [] } }, "available_payment_methods": [ "klarna" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/google-pay/payment-setup-api This is an example response after creating a payment setup. It indicates that Google Pay is available and requires a token or token data for further processing. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 2000, "currency": "GBP", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Google Pay payment", "payment_methods": { "googlepay": { "status": "action_required", "flags": [ "token_or_token_data_required" ] } }, "available_payment_methods": [ "googlepay" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Tabby Payment Setup Response Example Source: https://www.checkout.com/docs/payments/add-payment-methods/tabby/payment-setup-api This is an example of a successful response when setting up a payment with Tabby. It confirms the payment details and indicates that the 'tabby' payment method is ready. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 10000, "currency": "AED", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Tabby payment", "payment_methods": { "tabby": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "tabby" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create GCash Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/gcash/payment-setup-api This is an example response after successfully creating a GCash payment setup. The 'payment_methods.gcash.status' will be 'ready' if all required fields are present. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "PHP", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "GCash payment", "payment_methods": { "gcash": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "gcash" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create Bizum Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/bizum/payment-setup-api This is a response example for creating a Bizum payment setup. It confirms the payment details and indicates that Bizum is ready for use. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 100, "currency": "EUR", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Bizum payment", "payment_methods": { "bizum": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "bizum" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create Vipps Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/vipps/payment-setup-api This is an example response after successfully creating a Vipps payment setup. It includes payment details and confirms Vipps is ready. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "NOK", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "Vipps payment", "payment_methods": { "vipps": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "vipps" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Response Example: Get Session Details Source: https://www.checkout.com/docs/payments/authenticate-payments/google-secure-payment-authentication/non-hosted-standalone This JSON represents a successful 200 OK response when retrieving session details. It mirrors the initial session response and includes 'next_actions' to guide the next steps. ```json { "id": "sid_y2tlt2pd6ptu7fwlsz5ovmndea", "transaction_id": "e9b9a6c6-f3e3-4fe7-96cb-967aeab1a320", "amount": 100, "currency": "GBP", "completed": false, "authentication_type": "regular", "authentication_category": "payment", "status": "pending", "next_actions": ["collect_channel_data"], "challenge_indicator": "no_preference", "preferred_experiences": { "3ds": { "status": "available" }, "google_spa": { "status": "available" } }, "_links": { "self": { "href": "https://sessions.cko-qa.ckotech.co/sessions/sid_y2tlt2pd6ptu7fwlsz5ovmndea" }, "collect_channel_data": { "href": "https://sessions.cko-qa.ckotech.co/sessions/sid_y2tlt2pd6ptu7fwlsz5ovmndea/collect-data" }, "callback_url": { "href": "https://google.com/" } } } ``` -------------------------------- ### Create a payment setup Source: https://www.checkout.com/docs/payments/add-payment-methods/qpay/payment-setup-api Initiates a QPay payment setup by sending payment details to the API. ```APIDOC ## POST /payments/setups ### Description Creates a payment setup for QPay. This is the first step in accepting QPay payments. ### Method POST ### Endpoint `https://{prefix}.api.checkout.com/payments/setups` (Production) `https://{prefix}.api.sandbox.checkout.com/payments/setups` (Sandbox) ### Parameters #### Request Body - **amount** (number) - Required - The payment amount, in the minor currency unit. Minimum: 1. - **currency** (string) - Required - Three-letter ISO 4217 currency code. Supported value: `QAR`. - **description** (string) - Required - A description of the payment. Max length: 100. - **payment_methods.qpay.description** (string) - Required - A description of the payment order. Alphanumeric characters only. Max length: 255. - **payment_methods.qpay.national_id** (string) - Required - The customer's Qatari national ID. Must start with `2` or `3`, followed by 10 digits. Pattern: `^(2|3)\d{10}$`. - **settings.failure_url** (string) - Required - The URL to redirect the customer to if the payment fails. Format: URI. Max length: 1024. - **settings.success_url** (string) - Required - The URL to redirect the customer to if the payment is successful. Format: URI. Max length: 1024. - **billing** (object) - Optional - The customer's billing details. - **billing.address** (object) - Required if `billing` is provided. - **billing.address.address_line1** (string) - Required if `billing` is provided. - **billing.address.city** (string) - Required if `billing` is provided. - **billing.address.country** (string) - Required if `billing` is provided. - **reference** (string) - Optional - A reference you can use to identify the payment. Max length: 80. ### Request Example ```json { "amount": 1000, "currency": "QAR", "description": "QPay payment", "payment_methods": { "qpay": { "national_id": "28765432101", "description": "Order ORD-5023-4E89" } }, "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the payment setup. - **processing_channel_id** (string) - The ID of the processing channel. - **amount** (number) - The payment amount. - **currency** (string) - The currency of the payment. - **payment_type** (string) - The type of payment. - **reference** (string) - The reference identifier for the payment. - **description** (string) - The description of the payment. - **payment_methods.qpay.status** (string) - The status of the QPay payment method (e.g., `ready`). - **payment_methods.qpay.flags** (array) - Flags associated with the QPay payment method. - **available_payment_methods** (array) - List of available payment methods. - **settings.success_url** (string) - The success URL. - **settings.failure_url** (string) - The failure URL. #### Response Example ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "QAR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "QPay payment", "payment_methods": { "qpay": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "qpay" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` ``` -------------------------------- ### Get Payment Setup Status Source: https://www.checkout.com/docs/payments/add-payment-methods/venmo/payment-setup-api Call this GET endpoint to retrieve the status of a payment setup. Use this to check if the payment is ready for confirmation after customer interaction. ```http GET https://{prefix}.api.checkout.com/payments/setups/{id} ``` ```http GET https://{prefix}.api.sandbox.checkout.com/payments/setups/{id} ``` -------------------------------- ### Payment Setup Response Example Source: https://www.checkout.com/docs/payments/add-payment-methods/tamara/payment-setup-api This JSON object shows a successful response after initiating a payment setup. It confirms the payment details and indicates that Tamara is a 'ready' payment method. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 10000, "currency": "SAR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "Tamara payment", "payment_methods": { "tamara": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "tamara" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Confirm WeChat Pay Payment Setup Source: https://www.checkout.com/docs/payments/add-payment-methods/wechat-pay/payment-setup-api This example shows the confirmation request for a WeChat Pay payment setup. It requires the payment setup ID and the payment method name. ```json { "id": "pay_gdbok753fk3ebk4dpq7xqq72te", "status": "Pending", "reference": "ORD-5023-4E89", "customer": { "id": "cus_ujs5uvwcshhujllodxegkknwou" }, "_links": { "self": { "href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_gdbok753fk3ebk4dpq7xqq72te" }, "redirect": { "href": "weixin://wxpay/bizpayurl?pr=MQ4aYOXzz" } } } ``` -------------------------------- ### POST /payments - Subsequent Request Example Source: https://www.checkout.com/docs/payments/manage-payments/perform-an-account-funding-transaction Example of a subsequent request to the payments endpoint, used for recurring payments after initial setup. ```APIDOC ## POST /payments ### Description This endpoint is used to process subsequent payments, typically for recurring transactions where card details have been previously stored. ### Method POST ### Endpoint `https://{prefix}.api.checkout.com/payments` or `https://{prefix}.api.sandbox.checkout.com/payments` ### Request Body - **source** (object) - Required - Payment source details. - **type** (string) - Required - Type of the source, e.g., "card". - **number** (string) - Required - Card number. - **expiry_month** (integer) - Required - Expiry month of the card. - **expiry_year** (integer) - Required - Expiry year of the card. - **stored** (boolean) - Required - Indicates if the card details are stored. - **amount** (integer) - Required - The amount to be charged. - **currency** (string) - Required - The currency of the transaction (e.g., "USD"). - **payment_type** (string) - Required - Type of payment, e.g., "Unscheduled" or "Recurring". - **merchant_initiated** (boolean) - Required - Indicates if the transaction was initiated by the merchant. - **previous_payment_id** (string) - Optional - The ID of the previous payment, used for recurring transactions. - **processing** (object) - Optional - Processing specific options. - **merchant_initiated_reason** (string) - Optional - Reason for merchant-initiated transaction, e.g., "delayed_charge". - **aft** (boolean) - Required - Indicates if this is an Account Funding Transaction. - **recipient** (object) - Required - Details of the recipient. - **first_name** (string) - Required - Recipient's first name. - **last_name** (string) - Required - Recipient's last name. - **account_number** (string) - Required - Recipient's account number. - **address** (object) - Required - Recipient's address. - **country** (string) - Required - Recipient's country. - **sender** (object) - Required - Details of the sender. - **type** (string) - Required - Type of the sender, e.g., "individual". - **first_name** (string) - Required - Sender's first name. - **last_name** (string) - Required - Sender's last name. - **date_of_birth** (string) - Required - Sender's date of birth (YYYY-MM-DD). - **address** (object) - Required - Sender's address. - **address_line1** (string) - Required - Sender's address line 1. - **city** (string) - Required - Sender's city. - **country** (string) - Required - Sender's country. ### Request Example ```json { "source": { "type": "card", "number": 4242424242424242, "expiry_month": 10, "expiry_year": 2026, "stored": true }, "amount": 5000, "currency": "USD", "payment_type": "Unscheduled", "merchant_initiated": true, "previous_payment_id": "pay_paymentid", "processing": { "merchant_initiated_reason": "delayed_charge", "aft": true }, "recipient": { "first_name": "Ali", "last_name": "Farid", "account_number": "5555554444", "address": { "country": "GB" } }, "sender": { "type": "individual", "first_name": "Jia", "last_name": "Tsang", "date_of_birth": "1990-01-01", "address": { "address_line1": "123 High St.", "city": "London", "country": "GB" } } } ``` ``` -------------------------------- ### Touch 'n Go Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/touch-%27n-go/payment-setup-api Example response after setting up a Touch 'n Go payment. It includes payment details and available methods. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1100, "currency": "MYR", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "Touch 'n Go payment", "payment_methods": { "tng": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "tng" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Przelewy24 Payment Setup Confirmation Request Source: https://www.checkout.com/docs/payments/add-payment-methods/przelewy24/payment-setup-api This is an example of a POST request to confirm a Przelewy24 payment setup. It includes the production and sandbox endpoints. ```HTTP post https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/p24 post https://{prefix}.api.sandbox.checkout.com/payments/setups/{id}/confirm/p24 ``` -------------------------------- ### Payment Setup API Response Example Source: https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-using-the-payment-setup-api This JSON response shows the status and available payment methods for a payment setup, including details for Klarna, Stcpay, and Bizum. ```json { "id": "set_890xyz", "currency": "GBP", "amount": 2000, "payment_methods": { "klarna": { "initialization": "disabled", "status": "initialization_required", "flags": ["initialization_not_enabled"] }, "stcpay": { "initialization": "disabled", "status": "initialization_required", "flags": ["initialization_not_enabled"] }, "bizum": { "status": "ready", "flags": [] } }, "available_payment_methods": ["bizum", "tabby","stcpay"] } ``` -------------------------------- ### Create Dana Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/dana/payment-setup-api This is an example response after successfully creating a Dana payment setup. It includes the payment ID and status. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 110000, "currency": "IDR", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Dana payment", "payment_methods": { "dana": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "dana" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Response Example for Get Payments Source: https://www.checkout.com/docs/payments/manage-payments/get-a-list-of-payments The results are sorted by processing date in descending order. This example shows a successful response with payment details. ```json { "limit": 10, "skip": 0, "total_count": 1, "data": [ { "id": "pay_einf5abzzgbejdpuartvqgl36i", "requested_on": "2022-04-14T17:03:10.103019Z", "source": { "type": "card", "expiry_month": 11, "expiry_year": 2024, "scheme": "Visa", "last4": "7526", "fingerprint": "F2FFA3967396478A7EB64FE6E0A2384F230C23A2F7E520D27EDBB46F24E5B922", "bin": "482028", "card_type": "CREDIT", "card_category": "CONSUMER", "issuer": "Test Bank", "issuer_country": "US", "product_id": "N1", "product_type": "Visa Rewards" }, "amount": 1000, "currency": "EUR", "payment_type": "Recurring", "reference": "ORD-5023-4E89", "description": "Set of 3 masks", "status": "Declined", "approved": false, "3ds": { "downgraded": false, "enrolled": "N" }, "risk": { "flagged": false, "score": 0 }, "metadata": { "udf1": "TEST123", "coupon_code": "NY2024", "partner_id": "123989" }, "_links": { "self": { "href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_einf5abzzgbejdpuartvqgl36i" }, "actions": { "href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_einf5abzzgbejdpuartvqgl36i/actions" } } } ] } ``` -------------------------------- ### Create Payment Setup Request Source: https://www.checkout.com/docs/payments/add-payment-methods/klarna-debit-risk/payment-setup-api This is a request example for the Create a payment setup endpoint. It includes essential details like processing channel ID, currency, amount, reference, description, payment type, and success/failure URLs. ```json { "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "currency": "EUR", "amount": 1000, "reference": "ORDER_01234", "description": "Klarna payment", "payment_type": "Regular", "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### PayPal Payment Setup Response Example Source: https://www.checkout.com/docs/payments/add-payment-methods/paypal/payment-setup-api This JSON response illustrates the structure returned after initiating a PayPal payment setup. It includes details about the payment, enabled methods, and customer information. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 50, "currency": "GBP", "payment_type": "Regular", "reference": "ORDER_01234", "description": "PayPal payment", "payment_methods": { "paypal": { "initialization": "disabled", "status": "initialization_required", "flags": [] } }, "available_payment_methods": [ "paypal" ], "settings": { "success_url": "https://example.com/success", "failure_url": "https://example.com/failure" }, "customer": { "email": { "address": "hannah.bret@example.com" }, "phone": { "country_code": "+44", "number": "1234567890" }, "device": { "locale": "en-GB" } }, "order": { "shipping": { "address": { "address_line1": "123 High St.", "city": "London", "zip": "SW1A 1AA", "country": "GB" }, "method": "string" }, "items": [ { "name": "Test Product", "quantity": 1, "unit_price": 5000, "total_amount": 5000, "reference": "ITEM-001" } ] } } ``` -------------------------------- ### Create Payment Setup Response Source: https://www.checkout.com/docs/payments/add-payment-methods/wechat-pay/payment-setup-api This is an example response after successfully creating a payment setup. It includes the payment details and confirms WeChat Pay is ready. ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "CNY", "payment_type": "Regular", "reference": "ORD-5023-4E89", "description": "WeChat Pay payment", "payment_methods": { "wechatpay": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "wechatpay" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` -------------------------------- ### Create a payment setup Source: https://www.checkout.com/docs/payments/add-payment-methods/tamara/payment-setup-api Initiates a payment setup with Tamara by calling the Create a payment setup endpoint. This is the first step in accepting Tamara payments. ```APIDOC ## Create a payment setup ### Description Initiates a payment setup with Tamara. This is the first step in accepting Tamara payments. ### Method POST ### Endpoint `https://{prefix}.api.checkout.com/payments/setups` (Production) `https://{prefix}.api.sandbox.checkout.com/payments/setups` (Sandbox) ### Information Your base URL's `{prefix}` value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints. ``` -------------------------------- ### Create a payment setup Source: https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-using-the-payment-setup-api Create a payment setup to receive the list of available payment methods. Provide known customer and order information like amount, currency, and country. The response returns the list of payment methods available for the customer. ```APIDOC ## POST /payments/setups ### Description Create a payment setup to receive the list of available payment methods. This is recommended as soon as the transaction amount is known. If the amount changes, it can be updated later. Provide any known customer and order information in the request body. ### Method POST ### Endpoint `https://{prefix}.api.checkout.com/payments/setups` ### Parameters #### Request Body - **processing_channel_id** (string) - Required - The processing channel's unique identifier - **amount** (integer) - Required - The payment amount - **currency** (string) - Required - The payment currency - **customer** (object) - Optional - Customer information - **billing_address** (object) - Optional - Customer's billing address - **country** (string) - Optional - Country code - **address_line1** (string) - Optional - Address line 1 - **city** (string) - Optional - City - **zip** (string) - Optional - Zip code - **settings** (object) - Optional - Checkout settings - **success_url** (string) - Optional - URL to redirect to on success - **failure_url** (string) - Optional - URL to redirect to on failure ### Request Example ```json { "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 10000, "currency": "EUR", "customer": { "billing_address": { "country": "NL", "address_line1": "Nieuwstraat 123", "city": "Amsterdam", "zip": "1234 AB" } }, "settings": { "success_url": "https://example.com/success", "failure_url": "https://example.com/failure" } } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the payment setup. - **payment_methods** (array) - A list of available payment methods. - **type** (string) - The type of payment method (e.g., "card", "paypal"). - **name** (string) - The display name of the payment method. - **logo** (string) - URL of the payment method's logo. - **countries** (array) - List of countries where this payment method is available. - **currencies** (array) - List of currencies supported by this payment method. - **min_amount** (integer) - Minimum transaction amount for this payment method. - **max_amount** (integer) - Maximum transaction amount for this payment method. - **fields** (array) - Fields required for this payment method. - **name** (string) - The name of the field. - **type** (string) - The type of the field (e.g., "string", "numeric"). - **required** (boolean) - Whether the field is required. #### Response Example ```json { "id": "set_12345abcde", "payment_methods": [ { "type": "card", "name": "Credit Card", "logo": "https://example.com/logos/card.png", "countries": ["NL", "BE"], "currencies": ["EUR"], "min_amount": 100, "max_amount": 1000000, "fields": [ {"name": "card_number", "type": "string", "required": true}, {"name": "expiry_month", "type": "numeric", "required": true}, {"name": "expiry_year", "type": "numeric", "required": true}, {"name": "cvv", "type": "string", "required": true} ] }, { "type": "paypal", "name": "PayPal", "logo": "https://example.com/logos/paypal.png", "countries": ["US", "GB"], "currencies": ["USD", "GBP"], "min_amount": 500, "max_amount": 500000, "fields": [] } ] } ``` ``` -------------------------------- ### Tabby Payment Setup Confirmation Request Source: https://www.checkout.com/docs/payments/add-payment-methods/tabby/payment-setup-api Example of a POST request to confirm a Tabby payment setup. Use the production or sandbox endpoint as appropriate. ```HTTP post `https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/tabby` post `https://{prefix}.api.sandbox.checkout.com/payments/setups/{id}/confirm/tabby` ``` -------------------------------- ### Create a payment setup Source: https://www.checkout.com/docs/payments/add-payment-methods/przelewy24/payment-setup-api Initiates a Przelewy24 payment setup by calling the Create a payment setup endpoint. Requires details such as amount, currency, customer country, account holder information, and redirect URLs. ```APIDOC ## POST /payments/setups ### Description Creates a payment setup for Przelewy24 payments. ### Method POST ### Endpoint `https://{prefix}.api.checkout.com/payments/setups` (Production) `https://{prefix}.api.sandbox.checkout.com/payments/setups` (Sandbox) ### Parameters #### Request Body - **amount** (number) - Required - The payment amount, in the minor currency unit. Minimum: 1. - **currency** (string) - Required - Three-letter ISO 4217 currency code. Supported values: `PLN`, `EUR`. - **processing_channel_id** (string) - Required - The processing channel's unique identifier. - **customer.country** (string) - Required - The two-letter ISO country code of the customer. Supported value: `PL`. - **payment_methods.p24.account_holder** (object) - Required - The account holder's details. - **payment_methods.p24.account_holder.email** (string) - Required - The account holder's email address. Format: email. Max length: 254. - **payment_methods.p24.account_holder.name** (string) - Required - The account holder's name. Min length: 3. Max length: 100. - **settings.success_url** (string) - Required - The URL to redirect the customer to if the payment is successful. Format: URI. Max length: 1024. - **settings.failure_url** (string) - Required - The URL to redirect the customer to if the payment fails. Format: URI. Max length: 1024. - **description** (string) - Optional - A description of the payment. Max length: 100. - **reference** (string) - Optional - A unique reference for the payment. Max length: 80. ### Request Example ```json { "amount": 1000, "currency": "PLN", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "customer": { "country": "PL" }, "payment_methods": { "p24": { "account_holder": { "name": "Hannah Bret", "email": "hannah.bret@example.com" } } }, "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the payment setup. - **processing_channel_id** (string) - The processing channel's unique identifier. - **amount** (number) - The payment amount. - **currency** (string) - The three-letter ISO 4217 currency code. - **payment_type** (string) - The type of payment. - **reference** (string) - A unique reference for the payment. - **description** (string) - A description of the payment. - **payment_methods** (object) - Details about the payment methods. - **p24** (object) - Przelewy24 specific details. - **status** (string) - The status of the Przelewy24 payment method (e.g., "ready"). - **flags** (array) - Any flags associated with the payment method. - **available_payment_methods** (array) - A list of available payment methods. - **settings** (object) - Payment settings. - **success_url** (string) - The URL for successful payments. - **failure_url** (string) - The URL for failed payments. ### Response Example ```json { "id": "set_rcmepwrchqab2wsergcafvijfy", "processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4", "amount": 1000, "currency": "PLN", "payment_type": "Regular", "reference": "ORDER_01234", "description": "Przelewy24 payment", "payment_methods": { "p24": { "status": "ready", "flags": [] } }, "available_payment_methods": [ "p24" ], "settings": { "success_url": "https://example.com/payments/success", "failure_url": "https://example.com/payments/failure" } } ``` ```