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:

workflow

Lemonway Status Codes

Status NameStatus NumberStatus Description
Pending4It is not possible to obtain the final status of the payment at this time.
Authorized16The payment was successfully authorised.
Success0Funds are credited to the merchant's wallet.
Error6The payment was refused.
Cancelled7The 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:

LOCALELANGUAGE
da_DKDanish
de_DEGerman
en_USEnglish (US)
en_UKEnglish (UK)
es_ESSpanish
fi_FIFinnish
fr_FRFrench
it_ITItalian
nl_NLDutch
no_NONorwegian
pt_PTPortuguese
pl_PLPolish
sv_SESwedish

📘

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.

flow

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.

Customized

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

  1. The user selects their bank from a displayed list and confirms their choice.

  2. The user is sent directly to their bank page, as you have previously obtained their bankId.

Customized
  1. The user enters their bank credentials.
Customized Customized
  1. The user will be sent an authentication code
Code
  1. The user then enters the authentication code and validates
CodeValidate
  1. The bank displays the payment details and the user validates
CodeValidate
  1. 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.

StandardMenu

📘

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:

  1. Configuration errors: If you receive the error message 366. Contact our Support Team to assist you.
  2. Bank errors: If you would like to list your bank error messages call GET /v2/moneyins or Get /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.
  3. Technical errors: These are displayed in English.