Pay by Bank
What is Pay by Bank?
Being able to offer fast and secure bank transfers to users of your platform represents a clear competitive advantage. Whether you manage a marketplace or any third-party networking platform, simplifying bank transfers will allow you to retain and offer your users a smooth and easy payment process.
The Pay by Bank solution enables your end-users to make direct payments by using their own online banking details.
What is the transaction workflow?
Standard transaction workflow:

Lemonway Status Codes
Status Name | Status Number | Status Description |
---|---|---|
Pending | 4 | It is not possible to obtain the final status of the payment at this time. |
Authorized | 16 | The payment was successfully authorised. |
Success | 0 | Funds are credited to the merchant's wallet. |
Error | 6 | The payment was refused. |
Cancelled | 7 | The payment was cancelled by the user or by Lemonway when a transaction has not changed status up to 14 days after initialisation. |
Transactions that remain in Lemonway Code Status 4 or 16 up to 14 days will be automatically cancelled by Lemonway. The transaction status will change to Cancelled (7).
Minimum Transaction Amount
Payments using Pay by Bank are limited to transactions above €1. If you try to make a payment below €1 you will receive the direct error message 365 (Amount is less than Authorized Value).
Maximum Transaction Amount
The EU permits a maximum of €15,000 per transaction in the Euro Payments area.
Lemonway's Pay-by-Bank Coverage
Lemonway supports the most popular banks in 5 countries across Europe. Use the tabs below to view the coverage and supported banks in each country:
BNP Paribas
Banque Populaire
Boursorama
CIC
Caisse d'Epargne
Crédit Agricole
Crédit Mutuel
Hello bank!
LCL
La Banque Postale
N26
Natixis
Revolut
Société Générale
ABN AMRO
Aktivbank AG
Alxing-Brucker Genossenschaftsbank
BBBank
BTV Bank für Tirol und Vorarlberg Zweigniederlassung Deutschland
BW-Bank
Bank 1 Saar
Bank für Kirche und Caritas
Bank für Kirche und Diakonie - KD-Bank
Bank im Bistum Essen
Bankhaus Anton Hafner
Bankhaus Bauer
Bankhaus Ellwanger & Geiger
Bankhaus Max Flessa
Bankhaus Rautenschlein AG
Bankhaus Werhahn
Bensberger Bank
C24
CVW-Privatbank
Comdirect Bank AG
Commerzbank
Consorsbank
DKB
DKM Darlehnskasse Münster
Degussa Bank
Deutsche Bank
Donner & Reuschel
EDEKABANK Hamburg
EthikBank
Eurocity Bank
Evangelische Bank
Evenord-Bank
Finom
Frankfurter Bankgesellschaft
Fürstlich Castell'sche Bank
GLS Bank
GRENKE BANK
Gabler-Saliter Bankgeschäft
Gladbacher Bank
Hausbank München
Hoerner Bank
HypoVereinsbank
ING
Ikano Bank
Internationales Bankhaus Bodensee
Kontist
Kurhessische Landbank
LIGA Bank
MERKUR PRIVATBANK
MKB Mittelstandskreditbank
MLP Finanzdienstleistungen
Münsterländische Bank Thie & Co
N26
NORD/LB
Norisbank
North Channel Bank
Otto M. Schröder Bank
PSD Bank
Pax-Bank
Postbank
RSB Retail+Service Bank
Revolut
Santander
Sparda Banken
Sparkassen
St. Galler Kantonalbank Deutschland
Steyler Bank
Südwestbank
Targobank
Tomorrow
Triodos Bank Deutschland
UNION-BANK
VietinBank
Vivid
Volks- und Raiffeisenbanken
Volkswagen Bank
Weberbank
levoBank
Allianz Bank
Alto Adige Banca S.p.A. – Sudtirol Bank AG
BANCA GALILEO
BNL Gruppo BNP Paribas
BPER Banca
Banca Capasso Antonio
Banca Intesa Sanpaolo
Banca Monte dei Paschi di Siena
Banca Popolare Vesuviana Società cooperativa
Banca Popolare del Cassinate Società cooperativa per azioni
Banca Popolare delle Provincie Molisane
Banca Popolare di Cortona - Società cooperativa per azioni
Banca Popolare di Lajatico S.C.P.A.
Banca Promos S.p.A.
Banca Santa Giulia S.p.A.
Banca Sella
Banca Widiba
Banca di Macerata
Banca di Risparmio di Savigliano
Banco BPM
Banco Posta
Cassa Centrale Banca
Cassa Rurale Alta Vallagarina di Besenello Calliano Nomi Volano Banca di Credito Cooperativo - Società cooperatva
Cassa Rurale Rotaliana e Giovo BCC Società Cooperativa
Credem Banca
Credit Agricole
Credito Etneo Banca di Credito Cooperativo - Società cooperativa a responsabilità limitata
Credito Lombardo Veneto S.p.A.
Fideuram
Findomestic Banca
Fineco Bank
Guber Banca
Hype
Hypo Tirol Bank AG
ICCREA - Gruppo BCC
ING
IsyBank
Mediocredito Trentino Alto Adige Spa
Mediolanum
N26
PostePay
Prader Bank
Revolut
Solution Bank
Unicredit Italy
Activo Bank
Banco Atlantico Europa SA
Banco BPI
Banco CTT
Banco Montepio
Banco Portugues de Gestao
Banco de Investimento Global
Bankinter
Caixa Economica Da Misercordia De Angra Do Heroismo
Caixa Geral de Depósitos
Caixa de Credito de Leiria
Credito Agricola
Edenred
EuroBic
Millennium BCP
N26
Novo Banco
Novo Banco dos Acores
Revolut
Santander
Sodexo
Universo Bank
Abanca
BBVA
Banco Cooperativo
Banco Pichincha
Banco Sabadell
Banco Santander
Bankinter
Caixa Popular
Caixa Rural Benicarlo
CaixaBank
Caja Viva
CajaSiete
Cajamar
Deutsche Bank
EVO Banco
Global Caja
Grupo Caja Rural
ING
IberCaja
Imagin
N26
Openbank
Revolut
RuralNostra
Unicaja
Language Customization
It is possible to customize the language you want to be displayed:
- After initiating a
POST v2/moneyins/paybybank/transfer/init
, Lemonway returns to you a redirectURL - You can add a locale parameter as in the two examples below for production and sandbox
Production
https://webkit.lemonway.fr/mb/YourEnvironmentName/prod/?moneyintoken=XXXXXXX&&locale={language}_{countryiso2}
Sandbox
https://sandbox-webkit.lemonway.fr/ YourEnvironmentName/dev/?moneyintoken=XXXXXXX&locale={language}_{countryiso2}
We currently support the following languages:
LOCALE | LANGUAGE |
---|---|
da_DK | Danish |
de_DE | German |
en_US | English (US) |
en_UK | English (UK) |
es_ES | Spanish |
fi_FI | Finnish |
fr_FR | French |
it_IT | Italian |
nl_NL | Dutch |
no_NO | Norwegian |
pt_PT | Portuguese |
pl_PL | Polish |
sv_SE | Swedish |
Note
If a language is not supported or does not exist, English will be applied by default
Important
Your error messages will be returned in the language that you specified as your locale. For example, if you specify the locale=es_ES, then call
GET /v2/moneyins
, in the object psp.message, the response message will be in Spanish.
How does it work?
There are 2 use case scenarios in relation to implementing Lemonway's Pay by Bank solution.

1. Custom Design Bank Selection Site
The aim of this implementation is to enable you to have complete control over design, functionality, and the end-user experience. The following chart outlines the procedural flow in a Pay by Bank operation.

Use the Get Pay by Bank List method to retrieve a list of banks in your operating country markets.
🎯 Recommendation
We recommend that you implement this use case if technically possible. If your end-user's bank is not listed, then you can offer a standard bank transfer or an alternative form of payment.
Example
{
"countryCode": ["FR"]
},
{
"banks": {
"FR": [
{
},
{
"countryCode": "FR",
"parentName": "Crédit Agricole",
"logoURL": "https://cdn.tink.se/provider-images/frfr-creditagricole.png",
"bankName": "Banque Chalus",
"bankId": "fr-creditagricolebanquechalus-ob",
"segments": [
"PERSONAL"
]
},
{
"countryCode": "FR",
"parentName": "Banque Populaire",
"logoURL": "https://cdn.tink.se/provider-images/fr/ fr-banquepopulaire.png",
"bankName": "Banque Populaire Alsace Lorraine Champagne",
"bankId": "fr-bpalsacelorrainechampagne-ob",
"segments": [
"PERSONAL"
]
},
{
"countryCode": "FR",
"parentName": "Banque Populaire",
"logoURL": "https://cdn.tink.se/provider-images/fr/ fr-banquepopulaire.png",
"bankName": "Banque Populaire Aquitaine Centre Atlantique",
"bankId": "fr-bpaquitainecentreatlantique-ob",
"segments": [
"PERSONAL"
]
},
{
"countryCode": "FR",
"parentName": "Banque Populaire",
"logoURL": "https://cdn.tink.se/provider-images/fr/ fr-banquepopulaire.png",
"bankName": "Banque Populaire Auvergne et Rhône-Alpes",
"bankId": "fr-bpauvergneetrhonealpes-ob",
"segments": [
"PERSONAL"
]
},
{
"countryCode": "FR",
"parentName": "Banque Populaire",
"logoURL": "https://cdn.tink.se/provider-images/fr/ fr-banquepopulaire.png",
"bankName": "Banque Populaire Bourgogne Franche-Comté",
"bankId": "fr-bpbourgognefranchecomte-ob",
"segments": [
"PERSONAL"
]
},
...
]
}
}
Once you have retrieved the list of banks according to your country code preferences, you can begin to build your bank selection website. However, you will need to initiate end-user payment. Use the Initiate Pay by Bank method, specifying the bankId in the request body of the call.
Example with bankId specified in the call:
{
"returnUrl": "https://www.yoursite.com/success.php",
"errorUrl": "https://www.yoursite.com/oops.php",
"cancelUrl": "https://www.yoursite.com/seeYouNextTime.php",
"totalAmount": 1500,
"accountId": "33612345678",
"commissionAmount": 100,
"countryCode": "FR",
"comment": "Order number 2457765AX2",
"autoCommission": false,
"bankId": "fr-bnpparibas-ob"
}
Implementation Benefits
Benefits
You have complete creative design and control to build a bank selection site accordingly to your specifications.
- Your end-users can be sent to their specific bank website directly when they specify Pay by Bank each time. If your end-user's bank is not listed, then you can offer a regular bank transfer or an alternative form of payment.
- A secure payment method because the end-user is required to first enter their bank credentials, and then go through Strong Customer Authentication (SCA).
- You can customize your websites for each country you operate in.
If you are interested in using our Pay by Bank solution, please contact the Lemonway support team or your account manager.
Typical User Payment Flow
-
The user selects their bank from a displayed list and confirms their choice.
-
The user is sent directly to their bank page, as you have previously obtained their bankId.

- The user enters their bank credentials.


- The user will be sent an authentication code

- The user then enters the authentication code and validates

- The bank displays the payment details and the user validates

- The bank validates the payments and the user is redirected to the returnurl.
2. Out of the Box Bank Selection List
If you want a quick and easy out-of-the-box solution, then this method is for you. You do not need the end-user bankId, however, each user will need to select their bank from a displayed list.
Important
If you use this implementation, your end-user may not find their bank in the bank list displayed. Our Pay by Bank coverage is extensive however, some banks have not yet connected all of their branches to the network. If you are unsure, use the Get Pay by Bank List method and present the list to your client.
To initiate end-user payment you will need to use the Initiate Pay by Bank
This use case is based on no bankId in the request body of the call. When the end-user selects Pay by Bank transfer from your website they are redirected to the pre-populated bank selection page based on the country code specified in the request.

We are able to make a limited amount of customizations for your bank selection webpage, for example fonts and colours. Please contact our member of our implementation team to assist you.
Example without bankId specified in the call:
{
"returnUrl": "https://www.yoursite.com/success.php",
"errorUrl": "https://www.yoursite.com/oops.php",
"cancelUrl": "https://www.yoursite.com/seeYouNextTime.php",
"totalAmount": 1500,
"accountId": "33612345678",
"commissionAmount": 100,
"countryCode": "FR",
"comment": "Order number 2457765AX2",
"autoCommission": false
}
Error Messages
There three categories of errors:
- Configuration errors: If you receive the error message 366. Contact our Support Team to assist you.
- Bank errors: If you would like to list your bank error messages call
GET /v2/moneyins
orGet /v2/oneyIn
messages will be displayed in the psp.message** field. They will appear in the language of the selected bank, for example, If country code=es then the messages will be in Spanish.- Technical errors: These are displayed in English.
Updated about 1 month ago