Skip to main content

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)​

MethodKeyCountriesType
SwedbankswedbankLT, LV, EEBank Transfer
SEBsebLT, LV, EEBank Transfer
LuminorluminorLT, LV, EEBank Transfer
CitadelecitadeleLT, LVBank Transfer
LHVlhvEEBank Transfer
CoopcoopEEBank Transfer
NordeanordeaFIBank Transfer
Artea BankarteaLTBank Transfer
Urbo BankurboLTBank Transfer
RevolutrevolutEU-wideBank Transfer
PayserapayseraLT, LV, EEBank Transfer

Card Payments​

MethodKeyType
Credit/Debit Cardscard-paymentCard Payment
Apple Payapple-payDigital Wallet

Coming Soon​

MethodType
Google PayDigital 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&currency=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​

FieldTypeDescription
keystring | nullUnique identifier for pre-selection
titlestringDisplay name of the payment method
descriptionstring | nullDetailed description of the payment method
typestringMethod type: card, banklink, wallet, or pis
flowstringFlow type: redirect or decoupled
available_countriesarray<string>List of ISO 3166-1 alpha-2 country codes
available_currenciesobjectMap 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())
);
}
<?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"
}