On this page, find out how to:
Before you begin
Make sure you've registered to begin using Payment Links. Contact your Solution Engineer or request support . During integration, you can specify your payment capture and 3D Secure settings. Create your secret and public API keys in the Dashboard. You can set up webhooks to be notified when the payment has been approved, so you can continue the sales fulfillment flow. Create a Payment Link
Step 1: Create a new Payment Link session
When requesting a payment from a customer using Payment Links solution, you can create a Payment Links session. This can be sent to the customer through a method that best suits you.
To display a button that redirects the customer after their payment is approved, make sure your API request includes a return_url
parameter with your chosen URL value.
To get a detailed view of all required and optional fields, see our API reference .
Checkout.com does not support Payment Links embedded within an iframe.
You can enable Remember Me to allow customers to save their card details during checkout. The next time the customer shops at any merchant that has Remember Me enabled, we display their saved card details.
Endpoints
http://localhost/ can only be used for the URL fields during testing and does not work in production.
post
https://api.checkout.com/payment-links
post
https://api.sandbox.checkout.com/payment-links
The fields you're required to supply in your request vary depending on the payment method used. To see which fields are required, refer to the Payment methods table.
Request example
4
"reference" : "ORD-123A" , 14
"country_code" : "+44" , 18
"return_url" : "https://example.com/payments/return"
Payment method field requirements
Some payment methods may require you to provide additional fields or specific values when you perform a payment request. Refer to the API reference for more details.
Payment method Field requirements Card payments
No additional requirements.
Apple Pay
Apple Pay is processed as a card transaction. currency
and billing.address.country
must be supported by Apple Pay .Google Pay
Google Pay is processed as a card transaction. currency
and billing.address.country
must be supported by Google Pay .Alipay CN
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be CN
, for Chinacurrency
value must be one of:Alipay HK
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be HK
, for Hong Kongcurrency
value must be one of:Alma
billing.address.country
value must be FR
, for Francecurrency
value must be EUR
Bancontact
customer.name
must be providedbilling.address.country
value must be BE
, for Belgiumcurrency
value must be EUR
Benefit Payment Gateway
billing.address.country
value must be BH
, for Bahraincurrency
value must be BHD
reference
must be providedBizum
billing.address.country
value must be ES
, for Spaincurrency
value must be EUR
Dana
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be ID
, for Indonesiacurrency
value must be one of:EPS
billing.address.country
value must be AT
, for Austriacurrency
value must be EUR
GCash
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be PH
, for the Philippinescurrency
value must be one of:iDEAL
billing.address.country
value must be NL
, for Netherlandscurrency
value must be EUR
Kakao Pay
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be KR
, for South Koreacurrency
value must be one of:Klarna
products[]
must be providedcustomer.name
must be providedbilling.address.country
value must be one of:AT
for AustriaAU
for AustraliaBE
for BelgiumCH
for SwitzerlandCZ
for Czech RepublicDE
for GermanyDK
for DenmarkES
for SpainFR
for FranceFI
for FinlandGB
for United KingdomGR
for GreeceIE
for IrelandIT
for ItalyNL
for NetherlandsNO
for NorwayPL
for PolandPT
for PortugalSE
for SwedenUS
for United Statescurrency
value must be one of: AUD
CHF
CZK
DKK
EUR
GBP
NOK
PLN
SEK
USD
KNET
billing.address.country
value must be KW
, for Kuwaitcurrency
value must be KWD
locale
value must be ar
– if no value is provided, the en-GB
locale is used by defaultMB WAY
billing.address.country
value must be PT
, for Portugalcurrency
value must be EUR
reference
must be providedMobilePay
Multibanco
customer.name
must be providedbilling.address.country
value must be PT
, for Portugalcurrency
value must be EUR
PayPal
Przelewy24
customer.name
must be providedcustomer.email
must be providedbilling.address.country
value must be PL
, for Polandcurrency
value must be EUR
or PLN
QPay
billing.address.country
value must be QA
, for Qatarcurrency
value must be QAR
description
must be providedSEPA Direct Debit
billing.address.address_line1
must be providedbilling.address.city
must be providedbilling.address.country
value must be set to a country in the Single Euro Payments Area (SEPA) billing.address.zip
must be providedcurrency
value must be EUR
stc pay
billing.address.country
must be set to SA
currency
value must be SAR
reference
must be providedTabby
billing.address.country
value must be one of:AE
for United Arab EmiratesSA
for Saudi ArabiaKW
for Kuwaitcurrency
value must be one of:reference
must be providedThe following shipping information must be provided:shipping.address_line1
shipping.city
shipping.zip
items[]
must be providedFor each item
in items[]
, the following must be provided: Tamara
reference
must be provided.items[]
must be provided.billing.address.address_line1
and billing.address.city
must be provided.For each item
in items[]
, the following must be provided: billing.address.country
must be one of:SA
for Saudi ArabiaAE
for United Arab EmiratesTouch 'n Go
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be MY
, for Malaysiacurrency
value must be one of:TrueMoney
customer.email
or customer.id
must be providedpayment_type
must be set to Regular
or Recurring
products[]
must be providedFor each product
in products[]
, the following must be provided:name
quantity
reference
unit_price
billing.address.country
value must be TH
, for Thailandcurrency
value must be one of:TWINT
billing.address.country
value must be CH
, for Switzerlandcurrency
value must be CHF
payment_type
must be set to Regular
reference
must be providedVenmo
billing.address.country
must be US
, for the United Statescurrency
value must be USD
Vipps
Response example
2
"id" : "pl_ELqQJXdXzabU" , 3
"reference" : "ORD-123A" , 4
"expires_on" : "2024-08-20T20:25:28+08:00" , 7
"href" : "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU"
Step 2: Send the link to your customer
Retrieve the Payment Link from _links.redirect.href
to send to your customer.
This could be by email, text message, social media, live chat – wherever your customer wants to pay.
When they visit the link, they're presented with a Hosted Payments Page to complete their payment. Once they complete the payment, they're redirected to a Checkout.com-hosted confirmation page.
Check the status of a Payment Link
To keep track of the payments you request through Payment Links, you can check the status using the id returned when you created the session. For example, pl_ELqQJXdXzabU
.
There are three statuses:
Active
– The Payment Link can accept a payment from the customer. A payment may have been attempted by the customer but not completed successfully.Payment Received
– A payment has been received successfully using this Payment Link.Expired
– The Payment Link has expired and can no longer be accessed.Endpoints
For a full explanation of the fields, see our API reference .
get
https://api.checkout.com/payment-links/{id}
get
https://api.sandbox.checkout.com/payment-links/{id}
Response examples
2
"id" : "pl_ELqQJXdXzabU" , 4
"payment_id" : "undefined" , 7
"reference" : "ORD-123A" , 8
"description" : "Payment for Gold Necklace" , 9
"expires_on" : "2021-08-20T20:25:28+08:00" , 16
"address_line1" : "123 High St." , 17
"address_line2" : "Flat 456" , 23
"country_code" : "+44" , 24
"number" : "1234567890" 29
"name" : "Gold Necklace" , 36
"href" : "https://api.sandbox.checkout.com/payment-links/pl_ELqQJXdXzabU" 39
"href" : "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU"
2
"id" : "pl_ELqQJXdXzabU" , 3
"status" : "Payment Received" , 4
"payment_id" : "pay_mbabizu24mvu3mela5njyhpit4" , 7
"reference" : "ORD-123A" , 8
"description" : "Payment for Gold Necklace" , 9
"expires_on" : "2021-08-20T20:25:28+08:00" , 16
"address_line1" : "123 High St." , 17
"address_line2" : "Flat 456" , 23
"country_code" : "+44" , 24
"number" : "1234567890" 29
"name" : "Gold Necklace" , 36
"href" : "https://api.sandbox.checkout.com/payment-links/pl_ELqQJXdXzabU" 39
"href" : "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU" 42
"href" : "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4" 45
"href" : "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/actions"
2
"id" : "pl_ELqQJXdXzabU" , 4
"payment_id" : "undefined" , 7
"reference" : "ORD-123A" , 8
"description" : "Payment for Gold Necklace" , 9
"expires_on" : "2021-08-20T20:25:28+08:00" , 16
"address_line1" : "123 High St." , 17
"address_line2" : "Flat 456" , 23
"country_code" : "+44" , 24
"number" : "1234567890" 29
"name" : "Gold Necklace" , 36
"href" : "https://api.sandbox.checkout.com/payment-links/pl_ELqQJXdXzabU" 39
"href" : "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU"
Next steps