Guides
API Reference

Our reference library for integrating with our API

FAQ

Find answers to our most frequently asked questions

Classic Docs

Documentation for our Classic API

Payment Links

Payment Links allow you to easily accept payments through any channel or device. Email, social media, live chat, text message—be flexible to your customers' payment preferences. Send the payment link to the customer and it will take them to a Checkout.com-hosted payment page to complete the payment.

Use Payment Links to start accepting payments while you're still working on your website or app, or as an alternative to hosting your own payment form. You can also use it in parallel with your existing online integration as another way to reach your customers.

Currently, you can only create payment links using our API. We're working on a user interface so you can more easily create and manage your links.

You can accept the following payment methods with Payment Links:

Links can only be used to accept one-time payments, and expire after 24 hours by default.

  1. Request a payment link, sending us all the payment information, like the amount, currency and customer's billing address.
  2. Using this information, we'll generate a unique link you can share with your customer.

  3. When your customer visits the link, we'll check that it hasn't already been used or expired, and then load the payment page.
  4. Once the customer has filled in the required details, we'll handle the authentication flow and process the payment.
  5. After the payment's been processed, you'll be notified by a webhook.

Preview the Payment Links flow with the demo below. You can try it with one of our test cards, or Sofort test details.

Use one of our test cards with any future expiry date, or use the details below:

  • Card number: 4242 4242 4242 4242
  • Expiry date: Any future date
  • CVV: 100

Use the following details to test a Sofort payment flow:

  1. In the Bank name, BLZ, IBAN or BIC field, enter 88888888, and then click Next.
  2. Enter 88888888 in the Account number field, and 123456 in the PIN field. Click Next.
  3. Select any account, and then click Next.
  4. Enter 12345 in the TAN field and click Next.

To get started with Payment Links, contact your Solution Engineer or integration@checkout.com. During integration, you'll be able to specify your payment capture and 3D Secure settings.

If you haven't already, create a free test account now. This will give you access to the Hub, where you'll find your secret_key and public_key, which you'll need to make requests to our API.

Use the following endpoint to request a payment link.

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

Authorization

REQUIRED

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type

REQUIRED

application/json

The table below describes the minimum recommended fields. For the full specification, see our API reference.


Testing

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


Field nameDescription

amount

INTEGER

REQUIRED

The payment amount. Must be 1 or greater.

The format depends on the currency. For more information, see calculating the value.

currency

STRING

REQUIRED

The payment currency (three-letter ISO currency code).
The currency and billing.address.country fields determine which payment methods are shown on the payment page.

reference

STRING

REQUIRED for PayPal

OPTIONAL for all other methods

A reference you can use to later identify the payment.

expires_in

INTEGER

OPTIONAL

The time for which the link remains valid, in seconds.

If not provided, default is 86,400 seconds (1 day). Max expiry is 1,209,600 seconds (14 days).

customer

OBJECT

OPTIONAL

The customer's details.

customer.email

STRING <EMAIL>

OPTIONAL

The customer's email address.

customer.name

STRING

OPTIONAL

The customer's name. This will only set the name for new customers.

billing

OBJECT

REQUIRED

The customer's billing details.

billing.address

OBJECT

REQUIRED

The billing address.

billing.address.address_line1

STRING

OPTIONAL

The first line of the billing address.

billing.address.address_line2

STRING

OPTIONAL

The second line of the billing address.

billing.address.city

STRING

OPTIONAL

The billing address city.

billing.address.state

STRING

OPTIONAL

The billing address state.

billing.address.zip

STRING

OPTIONAL

The billing address ZIP/postal code.

billing.address.country

STRING

REQUIRED

The billing address country (two-letter ISO country code).
The currency and billing.address.country fields determine which payment methods are shown on the payment page.

return_url

STRING <URI>

OPTIONAL

If provided, the payment confirmation page will include a button that redirects your customer to the provided URL.

 Parameters for supported payment methods
Payment methodbilling.address.countrycurrencyreference
KNETKW - KuwaitKWD

OPTIONAL

MadaSA - Saudi ArabiaSAR

OPTIONAL

PayPalAny supportedAny supported

REQUIRED

Sofort

AT - Austria

BE - Belgium

DE - Germany

IT - Italy

NL - Netherlands

ES - Spain

EUR

OPTIONAL

{
  "amount": 200,  
  "currency": "GBP",
  "reference": "ORD-123A",
  "expires_in": 604800,
  "customer": {
    "name": "Jack Napier",
    "email": "jokershere@email.com"
  },
  "billing": {
    "address": {
      "country": "GB"
    }
  },
  "return_url": "https://example.com/home"
}
{
  "amount": 200,  
  "currency": "KWD",
  "reference": "ORD-123A",
  "expires_in": 604800,
  "customer": {
    "name": "Jack Napier",
    "email": "jokershere@email.com"
  },
  "billing": {
    "address": {
      "country": "KW"
    }
  },
  "return_url": "https://example.com/home"
}
{
  "amount": 200,  
  "currency": "SAR",
  "reference": "ORD-123A",
  "expires_in": 604800,
  "customer": {
    "name": "Jack Napier",
    "email": "jokershere@email.com"
  },
  "billing": {
    "address": {
      "country": "SA"
    }
  },
  "return_url": "https://example.com/home"
}
{
  "amount": 200,  
  "currency": "EUR",
  "reference": "ORD-123A",
  "expires_in": 604800,
  "customer": {
    "name": "Jack Napier",
    "email": "jokershere@email.com"
  },
  "billing": {
    "address": {
      "country": "DE"
    }
  },
  "return_url": "https://example.com/home"
}

The _links.redirect object in the response will contain the payment link which you can send to your customer.

{
  "id": "cid_7fbeb87f-322d-4a02-9758-2ca48ae65696",
  "reference": "ORD-123A",
  "expires_on": "2020-08-20T20:25:28+08:00",
  "_links": {
    "redirect": {
	  "href": "https://pay.sandbox.checkout.com/link/ELqQJXdXzabU"
    }
  }
}

Send the payment link you received in the above response 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 Checkout.com-hosted payment page to complete their payment.

Once your customer has completed the payment, they will be redirected to a Checkout.com-hosted confirmation page. And if you provided a return_url in your request, this will appear as a button on the page, which will redirect the customer to the specified URL.

You can set up webhooks to be notified when the payment has been approved so you can continue the sales fulfilment flow.