Skip to content

Last updated: March 15, 2023

On this page, find out how to:


Before you begin

  • Have you registered to begin using Payment Links? Contact your Solution Engineer or support@checkout.com. During integration, you'll be able to 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 fulfilment 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 get a detailed view of all required and optional fields, see our API reference.

Information

To display a button that will redirect the customer after their payment is approved, make sure your API request includes a return_url parameter with your chosen URL value.

Endpoints

Testing

http://localhost/ can only be used for the URL fields during testing and will not work in production.

post

https://api.checkout.com/payment-links

Required parameters for certain payment methods

Depending on the payment method, certain parameters are required. Please use the table below to find out more.

Request example

1
{
2
"amount": 1000,
3
"currency": "GBP",
4
"reference": "ORD-123A",
5
"billing": {
6
"address": {
7
"country": "GB"
8
}
9
},
10
"customer": {
11
"name": "John Smith",
12
"email": "john.smith@example.com"
13
},
14
"return_url": "https://example.com/payments/return"
15
}

Payment methods

We've listed the available payment methods for the Payment Links below.

Different payment methods have different required and optional fields when making a request. We've shown examples of these below.

You can view a request example with all of these fields on our API reference.

Payment methodField requirements

Bancontact

  • billing.address.country: BE for Belgium.
  • currency: EUR.
  • customer.name is required.

EPS

  • billing.address.country: AT for Austria.
  • currency: EUR.

Google Pay

Google Pay is processed as a card transaction, so all required fields are the same as with a card payment.

This also means it will be rendered as a payment option when allow_payment_methods: [“card”] is passed in the session request or when conditions for card and Google Pay are met.

iDEAL

  • currency should be set to EUR
  • billing.address.country: NL for Netherlands

KNET

  • billing.address.country: KW for Kuwait.
  • currency: KWD.
  • locale: ar
    en-GB is the default if field is not provided.

Multibanco

  • billing.address.country: PT for Portugal.
  • currency: EUR.
  • customer.name is required.

Przelewy24

  • billing.address.country: PL for Poland.
  • currency: EUR or PLN.
  • customer.name is required.
  • customer.email is required.

Sofort

  • currency should be set to EUR
  • billing.address.country is required

Response example

1
{
2
"id": "pl_ELqQJXdXzabU",
3
"reference": "ORD-123A",
4
"expires_on": "2020-08-20T20:25:28+08:00",
5
"_links": {
6
"redirect": {
7
"href": "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU"
8
}
9
}
10
}

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 will be presented with a Hosted Payments Page to complete their payment. Once they have completed the payment, they will be 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. It will look like 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}

Response examples

1
{
2
"id": "pl_ELqQJXdXzabU",
3
"status": "Active",
4
"payment_id": "undefined",
5
"amount": 200,
6
"currency": "GBP",
7
"reference": "ORD-123A",
8
"description": "Payment for Gold Necklace",
9
"expires_on": "2021-08-20T20:25:28+08:00",
10
"customer": {
11
"name": "John Smith",
12
"email": "john.smith@example.com"
13
},
14
"billing": {
15
"address": {
16
"address_line1": "123 High St.",
17
"address_line2": "Flat 456",
18
"city": "London",
19
"zip": "SW1A 1AA",
20
"country": "GB"
21
},
22
"phone": {
23
"country_code": "+44",
24
"number": "1234567890"
25
}
26
},
27
"products": [
28
{
29
"name": "Gold Necklace",
30
"quantity": 1,
31
"price": 200
32
}
33
],
34
"_links": {
35
"self": {
36
"href": "https://api.sandbox.checkout.com/payment-links/pl_ELqQJXdXzabU"
37
},
38
"redirect": {
39
"href": "https://pay.sandbox.checkout.com/link/pl_ELqQJXdXzabU"
40
}
41
}
42
}

Next steps