Skip to main content

Create Payment Link

POST https://api.paysera.com/checkout-payment-link/integration/v1/payment-links

Creates a payment link for an existing order. The payment link provides a URL where customers can complete the payment process.

Authorization​

This endpoint requires OAuth2 Bearer token authentication.

Authorization Header Format:

Authorization: Bearer YOUR_ACCESS_TOKEN

For more details, see the Authentication section.

Request Body​

FieldTypeRequiredDescription
order_idstring (UUID)✓Reference ID for the associated order
namestring✓Descriptive name for the payment link (max 255 chars)
experience.languagestring✓Language code for the payment link (ISO 639-1, e.g., en, lt)
experience.payment_flowstringPayment flow type (default: paysera_checkout)
purchase.amountinteger✓Amount in minor currency units (e.g., cents)
lifetimeintegerLink validity in seconds (default: 259200 = 3 days, 0 = never expires)
payment_details.keystringPreferred payment method key
payment_details.purposestringPayment purpose description (max 255 chars)
payment_details.country_codestringCountry code (ISO 3166-1 alpha-2) for filtering payment methods
payer_information.namestringPayer name (max 150 chars)
payer_information.emailstringPayer email
metadataobjectAdditional key-value metadata pairs
Amount Format

All amounts use minor currency units (e.g., cents for EUR). The amount "2500" represents €25.00.

Response​

FieldTypeDescription
link_idstring (UUID)Unique payment link identifier
order_idstring (UUID)Associated order ID
payment_URLstringPayment URL - redirect customer here to complete payment
experience.languagestringLanguage of the payment link
experience.payment_flowstringPayment flow type
payment_details.keystringPayment method key
payment_details.purposestringPayment purpose
payment_details.country_codestringCountry code (ISO 3166-1 alpha-2)
purchase.amountintegerAmount in minor currency units
payer_information.namestringPayer name
payer_information.emailstringPayer email
expired_atintegerUnix timestamp when link expires
created_atintegerUnix timestamp of creation

Example​

Request​

POST https://api.paysera.com/checkout-payment-link/integration/v1/payment-links
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
{
"order_id": "a6f2b8e3-5e5f-47d9-b13f-87ed2db2938a",
"name": "Order #12345",
"experience": {
"language": "en",
"payment_flow": "paysera_checkout"
},
"purchase": {
"amount": 2500
},
"lifetime": 3600,
"payment_details": {
"key": "credit_card",
"purpose": "Order #12345 - Leather Wallet",
"country_code": "LT"
},
"payer_information": {
"name": "John Doe",
"email": "john@example.com"
}
}

Response​

{
"link_id": "c8d9e0f1-2a3b-4c5d-6e7f-8a9b0c1d2e3f",
"order_id": "a6f2b8e3-5e5f-47d9-b13f-87ed2db2938a",
"payment_URL": "https://api.paysera.com/checkout-payment-link/payment-collection/v1/payment-links/abc123def456GhiJkl_mNOpQrStUvWxYz0123456",
"experience": {
"language": "en",
"payment_flow": "paysera_checkout"
},
"payment_details": {
"key": "credit_card",
"purpose": "Order #12345 - Leather Wallet",
"country_code": "LT"
},
"purchase": {
"amount": 2500
},
"payer_information": {
"name": "John Doe",
"email": "john@example.com"
},
"expired_at": 1736436870,
"created_at": 1736433270
}

Pre-selecting Payment Method​

To skip the payment method selection screen and redirect directly to a specific bank or payment provider:

{
"order_id": "a6f2b8e3-5e5f-47d9-b13f-87ed2db2938a",
"name": "Order #12345",
"experience": {
"language": "en"
},
"purchase": {
"amount": 2500
},
"payment_details": {
"key": "swedbank",
"country_code": "LT"
}
}

Use the Get Payment Methods endpoint to retrieve available method keys.

Next Steps​

After creating a payment link:

  1. Redirect the customer to the payment_URL
  2. Set up webhook handling to receive payment notifications

AUTHORIZATION: HTTP

REQUEST

Base URL
https://api.paysera.com

RESPONSE

Payment link created successfully
{}