Airwallex logo
Airwallex logo

Desktop/Mobile Website Browser

Accept Paysera payments on your website by redirecting shopper to Paysera’s page. See checkout process below:

  1. The shopper selects to pay with Paysera Wallet on merchant’s checkout page

  2. The shopper selects preferred bank on the checkout page and proceed payment

  3. They are redirected to a payment page where they can:

    a) Log into their Paysera account;

    b) Scan the QR code to continue the payment on the Paysera app

  4. For both option, the shopper confirms payment and authenticates with their credentials and TAN

  5. Payment confirmation is displayed on the webpage

Step 1. Initialize a Payment Intent

Create a PaymentIntent object with a request_id, amount, currency and a merchant_order_id from your backend server.

Shell
1curl -X POST \
2 https://api.airwallex.com/api/v1/pa/payment_intents/create \
3 -H 'Content-Type: application/json' \
4 -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNDc...' \
5 -d '{
6 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
7 "amount": 20,
8 "currency": "EUR",
9 "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6"
10 "return_url": "https://www.airwallex.com"
11 }'

Step 2. Get available banks

Paysera requires bank_name when confirming the Payment Intent, you can call this API endpoint /api/v1/pa/config/banks with payment_method_type, country_code and lang to get available bank names based on the payment method selected.

Request:

1/api/v1/pa/config/banks?payment_method_type=online_banking&country_code=IT&lang=en

Response:

Shell
1{
2 "has_more": false,
3 "items": [
4 {
5 "name": "citadele_ee", // Bank name to be passed to our API
6 "display_name": "AS Citadele banka", // For front-end to display
7 "recources": {
8 "logo_url": "" // .svg
9 }
10 }
11 ]
12}

Note for available banks:

Alternatively, you can maintain a list of available banks locally on your server for payment methods that require bank_name if you do not want to use this API endpoint. However, we highly recommend you get the banks dynamically from this API to avoid any trouble when bank information or availability gets updated.

Supported banks:

bank_nameDisplay name
citadeleAS Citadele banka
n26N26
revolutRevolut
swedbankSwedbank AS
lhvAS LHV Pank
luminorLuminor Bank AS
sebSEB Pank

Step 3. Redirect to Paysera to complete payment

When a shopper selects to pay with Paysera on their desktop browser, call the following API endpoints to get a URL, which you can redirect the shopper to Paysera payment page to complete payment.

  1. Obtain URL from Airwallex and redirect shopper to Paysera

Request:

Shell
1curl -X POST \
2 https://api.airwallex.com/api/v1/pa/payment_intents/{id}/confirm \
3 -H 'Content-Type: application/json' \
4 -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNDc...' \
5 -d '{
6 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
7 "payment_method":
8 {
9 "type": "paysera",
10 "paysera": {
11 "shopper_name": "first_name last_name",
12 "bank_name": "bank_name"
13 "country_code": "EE" // Supported countries: EE, LT, LV, RU
14 }
15 }
16 }'

Response: Render the value of url to redirect shoppers to Paysera.

Shell
1{
2 "next_action": {
3 "type": "redirect",
4 "method": "GET",
5 "url": "https://r3.girogate.de/ti/simeps?tx=925603632&rs=7aSEP8cAs03mihiC8Y3Zjv4HP8SeK9Mw&cs=3decf160275f70f726566f5a1e3a99918b0f319948353ed0f2336ad94010e411"
6 }
7}
  1. Wait for notification from Airwallex

Airwallex will notify you on the payment result asynchronously via the webhook API. Please refer to webhook documentation to set up your webhook accordingly. Although subscribing to different events is optional, it is recommended to at least subscribe to the payment_intent.succeeded which indicates that the shopper has successfully paid for the order via Paysera.

  1. Query the PaymentIntent status

You may also query the status of a payment anytime via the PaymentIntents API

Shell
1 GET /payment_intents/{id}
Was this page helpful?