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:
- Create Order - Create a payment order
- Create Payment Link - Generate a payment URL
- Get Payment Methods - Query available methods
OpenAPI Specification​
Download the complete API specification:
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:
| Field | Type | Required | Description |
|---|---|---|---|
project_id | string (UUID) | No | Your merchant project ID (defaults to the project from your JWT token) |
redirect_urls.success_url | string | Yes | URL to redirect on successful payment |
redirect_urls.failure_url | string | Yes | URL to redirect on failed payment |
redirect_urls.callback_url | string | Yes | Webhook URL for payment notifications |
purchase.reference | string | Yes | Your unique order reference |
purchase.amount | string | Yes | Amount in minor units (e.g., "2500" for €25.00) |
purchase.currency | string | Yes | ISO 4217 currency code |
metadata | object | No | Additional key-value metadata |
Response: 201 Created
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Order ID |
projectId | string (UUID) | Project ID |
status | string | Order status (pending_payment) |
amount | integer | Amount in minor units |
currency | string | Currency code |
reference | string | Your order reference |
createdAt | integer | Unix timestamp |
updatedAt | integer | Unix timestamp |
Payment Links API​
Base path: /checkout-payment-link/integration/v1
Create Payment Link​
Creates a payment link for an existing order.
POST /checkout-payment-link/integration/v1/payment-links
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
order_id | string (UUID) | Yes | The payment order ID |
name | string | Yes | Display name for the payment |
amount | string | Yes | Amount in minor units as string |
currency | string | Yes | ISO 4217 currency code |
language | string | Yes | UI language (ISO 639-1) |
country_code | string | No | Payer country (ISO 3166-1 alpha-2) |
link_lifetime | integer | No | Link validity in seconds (default: 259200) |
preferred_payment_method_key | string | No | Pre-selected payment method |
receiver.name | string | No | Payment receiver name |
payer.name | string | No | Customer name |
payer.email | string | No | Customer email |
is_personalized | boolean | No | Whether link is personalized |
metadata | object | No | Additional key-value metadata |
Response: 201 Created
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Payment link ID |
link.url | string | Payment URL for customer |
link.hash | string | Unique link hash |
projectId | string (UUID) | Project ID |
orderId | string (UUID) | Order ID |
status | string | Link status (active) |
amount | integer | Amount in minor units |
currency | string | Currency code |
expiredAt | integer | Expiration Unix timestamp |
createdAt | integer | Unix timestamp |
updatedAt | integer | Unix 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | integer | No | Filter by transaction amount (minor units) |
currency | string | No | Filter by currency (ISO 4217) |
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"]
}
]
}
| Field | Type | Description |
|---|---|---|
items[].key | string | Payment method identifier |
items[].name | string | Display name |
items[].country_code | string | Country code |
items[].min_amount | integer | Minimum amount (minor units) |
items[].max_amount | integer | Maximum amount (minor units) |
items[].currencies | array | Supported currencies |
Common Response Codes​
| Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid or expired token |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesn't exist |
409 | Conflict - Resource already exists |
422 | Unprocessable Entity - Validation error |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |
Error Response Format​
{
"error": "error_code",
"message": "Human-readable description",
"details": [
{
"field": "field_name",
"message": "Field-specific error"
}
]
}
Related Documentation​
- Payment Orders Guide - Detailed order creation guide
- Payment Links Guide - Detailed payment link guide
- Error Codes - Complete error reference
- Payment Statuses - Status reference