Payment Methods Reference
Available payment methods and their capabilities.
Paysera Checkout supports multiple payment methods across different countries. Payment method availability depends on your merchant configuration.
Currently Available​
These payment methods are currently available in production:
Bank Transfers (PIS)​
| Method | Key | Countries | Type |
|---|---|---|---|
| Swedbank | swedbank | LT, LV, EE | Bank Transfer |
| SEB | seb | LT, LV, EE | Bank Transfer |
| Luminor | luminor | LT, LV, EE | Bank Transfer |
| Citadele | citadele | LT, LV | Bank Transfer |
| LHV | lhv | EE | Bank Transfer |
| Coop | coop | EE | Bank Transfer |
| Nordea | nordea | FI | Bank Transfer |
| Artea Bank | artea | LT | Bank Transfer |
| Urbo Bank | urbo | LT | Bank Transfer |
| Revolut | revolut | EU-wide | Bank Transfer |
| Paysera | paysera | LT, LV, EE | Bank Transfer |
Card Payments​
| Method | Key | Type |
|---|---|---|
| Credit/Debit Cards | card-payment | Card Payment |
| Apple Pay | apple-pay | Digital Wallet |
Coming Soon​
| Method | Type |
|---|---|
| Google Pay | Digital Wallet |
note
Google Pay is pending approval. Contact your account manager for the latest status.
Querying Available Methods​
Get All Methods​
curl -X GET "https://api.paysera.com/checkout-project/integration/v1/methods" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Filter by Amount and Currency​
curl -X GET "https://api.paysera.com/checkout-project/integration/v1/methods?amount=2500¤cy=EUR" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
note
Filtering is applied only when both amount and currency are provided. There is no country query parameter — supported countries appear per method in the available_countries field.
Response​
{
"items": [
{
"key": "swedbank",
"title": "Swedbank",
"description": "Pay via Swedbank online banking.",
"type": "banklink",
"flow": "redirect",
"available_countries": ["LT", "LV", "EE"],
"available_currencies": {
"EUR": { "main": true }
}
},
{
"key": "card-payment",
"title": "Credit/Debit Card",
"description": "Pay via credit or debit card.",
"type": "card",
"flow": "redirect",
"available_countries": ["LT", "LV", "EE", "PL"],
"available_currencies": {
"EUR": { "main": true },
"USD": { "main": false }
}
}
]
}
Response Fields​
| Field | Type | Description |
|---|---|---|
key | string | null | Unique identifier for pre-selection |
title | string | Display name of the payment method |
description | string | null | Detailed description of the payment method |
type | string | Method type: card, banklink, wallet, or pis |
flow | string | Flow type: redirect or decoupled |
available_countries | array<string> | List of ISO 3166-1 alpha-2 country codes |
available_currencies | object | Map of currency code → { main: boolean }. main: true marks the primary currency for that method. |
Pre-selecting a Payment Method​
Skip the payment method selection screen by specifying the method when creating a payment link:
curl -X POST https://api.paysera.com/checkout-payment-link/integration/v1/payment-links \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order_id": "order-uuid",
"name": "Order #12345",
"experience": {
"language": "en"
},
"purchase": {
"amount": 2500
},
"payment_details": {
"key": "swedbank",
"country_code": "LT"
}
}'
SDK Usage​
Get Payment Methods​
<?php
use Paysera\CheckoutSdk\Entity\PaymentMethodFilter;
$paymentsFacade = $sdk->getPaymentsFacade();
// Get all methods
$methods = $paymentsFacade->getPaymentMethods();
// Filter by amount and currency
$filter = new PaymentMethodFilter(
amount: 2500, // €25.00 in cents
currency: 'EUR'
);
$filteredMethods = $paymentsFacade->getPaymentMethods($filter);
// Display methods
foreach ($filteredMethods as $method) {
echo sprintf(
"%s (%s) [%s/%s] countries: %s\n",
$method->getTitle(),
$method->getKey() ?? 'n/a',
$method->getType(),
$method->getFlow(),
implode(', ', $method->getAvailableCountries())
);
}
Pre-select Method in Payment Link​
<?php
$linkRequest = $paymentsFacade->buildPaymentLinkCreateRequest([
'name' => 'Order #12345',
'lifetime' => 3600,
'payment_details' => [
'key' => 'swedbank', // Pre-select Swedbank
'country_code' => 'LT', // Lithuania
'purpose' => 'Order #12345', // Payment description
],
'purchase' => [
'amount' => 2500,
],
]);
Error Handling​
Validation Errors​
When payment_details.key references an unavailable method, the create-payment-link endpoint returns:
{
"error": "invalid_request",
"error_description": "Validation failed",
"error_properties": {
"payment_details.key": ["Payment method is not available for this configuration"]
}
}
Authentication Failure​
{
"error": "unauthorized",
"error_description": "Authentication is required to access this resource"
}
Related Documentation​
- Payment Links - Creating payment links with method pre-selection
- Currencies Reference - Supported currencies