Skip to main content

API Reference

Complete reference of all Paysera Checkout integration endpoints.

Interactive API Reference​

For detailed endpoint documentation with request/response examples, see the Endpoint Reference section under API Integration:

OpenAPI Specification​

Download the complete API specification:

Download OpenAPI Spec (YAML)

Use with Postman, Insomnia, or Swagger Editor for interactive exploration.

Base URL​

https://api.paysera.com

Authentication​

All endpoints require OAuth2 Bearer token authentication:

Authorization: Bearer YOUR_ACCESS_TOKEN

See Authentication for details on obtaining tokens.


Orders API​

Base path: /merchant-order/integration/v1

Create Order​

Creates a new payment order.

POST /merchant-order/integration/v1/orders

Request Body:

FieldTypeRequiredDescription
project_idstring (UUID)NoYour merchant project ID (defaults to the project from your JWT token)
redirect_urls.success_urlstringYesURL to redirect on successful payment
redirect_urls.failure_urlstringYesURL to redirect on failed payment
redirect_urls.callback_urlstringYesWebhook URL for payment notifications
purchase.referencestringYesYour unique order reference
purchase.amountstringYesAmount in minor units (e.g., "2500" for €25.00)
purchase.currencystringYesISO 4217 currency code
metadataobjectNoAdditional key-value metadata

Response: 201 Created

FieldTypeDescription
idstring (UUID)Order ID
projectIdstring (UUID)Project ID
statusstringOrder status (pending_payment)
amountintegerAmount in minor units
currencystringCurrency code
referencestringYour order reference
createdAtintegerUnix timestamp
updatedAtintegerUnix timestamp

Base path: /checkout-payment-link/integration/v1

Creates a payment link for an existing order.

POST /checkout-payment-link/integration/v1/payment-links

Request Body:

FieldTypeRequiredDescription
order_idstring (UUID)YesThe payment order ID
namestringYesDisplay name for the payment
amountstringYesAmount in minor units as string
currencystringYesISO 4217 currency code
languagestringYesUI language (ISO 639-1)
country_codestringNoPayer country (ISO 3166-1 alpha-2)
link_lifetimeintegerNoLink validity in seconds (default: 259200)
preferred_payment_method_keystringNoPre-selected payment method
receiver.namestringNoPayment receiver name
payer.namestringNoCustomer name
payer.emailstringNoCustomer email
is_personalizedbooleanNoWhether link is personalized
metadataobjectNoAdditional key-value metadata

Response: 201 Created

FieldTypeDescription
idstring (UUID)Payment link ID
link.urlstringPayment URL for customer
link.hashstringUnique link hash
projectIdstring (UUID)Project ID
orderIdstring (UUID)Order ID
statusstringLink status (active)
amountintegerAmount in minor units
currencystringCurrency code
expiredAtintegerExpiration Unix timestamp
createdAtintegerUnix timestamp
updatedAtintegerUnix timestamp

Payment Methods API​

Base path: /checkout-project/integration/v1

Get Available Payment Methods​

Retrieves available payment methods for your project.

GET /checkout-project/integration/v1/methods

Query Parameters:

ParameterTypeRequiredDescription
amountintegerNoFilter by transaction amount (minor units)
currencystringNoFilter by currency (ISO 4217)
note

Filtering only applies when both amount and currency are provided.

Response: 200 OK

{
"items": [
{
"key": "swedbank",
"name": "Swedbank",
"country_code": "LT",
"min_amount": 1,
"max_amount": 5000000,
"currencies": ["EUR"]
}
]
}
FieldTypeDescription
items[].keystringPayment method identifier
items[].namestringDisplay name
items[].country_codestringCountry code
items[].min_amountintegerMinimum amount (minor units)
items[].max_amountintegerMaximum amount (minor units)
items[].currenciesarraySupported currencies

Common Response Codes​

CodeDescription
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Invalid or expired token
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
409Conflict - Resource already exists
422Unprocessable Entity - Validation error
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Error Response Format​

{
"error": "error_code",
"message": "Human-readable description",
"details": [
{
"field": "field_name",
"message": "Field-specific error"
}
]
}