Pay by Bank (Updated)

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:

workflowworkflow

Lemonway Status Codes Key:

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 on the wallet of the merchant

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 initialized.

🚧

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


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:

France - 14 Banks

BNP Paribas
Banque Populaire
Boursorama
Caisse d'Epargne
Credit Agricole
Credit Industriel et Commercial
Credit Mutuel
Hello bank!
ING
LCL
La Banque Postale
N26
Revolut
Societe Generale

Germany - 21 Banks

BBBank
BW-Bank
Comdirect Bank AG
Commerzbank
Consors Finanz
Consorsbank
DKB
Degussa Bank
Deutsche Bank
HypoVereinsbank
ING
N26
NORD/LB
Norisbank
Postbank
Revolut
Santander
Sparda Banken
Sparkassen
TargoBank
Volks- und Raiffeisenbanken

Italy - 37 Banks

BNL Gruppo BNP Paribas
BPER Banca
Banca Carige
Banca Intesa Sanpaolo
Banca Intesa Sanpaolo Private Banking
Banca Monte dei Paschi di Siena
Banca Patrimoni
Banca Popolare di Sondrio
Banca Sella
Banca Widiba
Banca di Credito Cooperativo
Banco BPM
Banco Posta
Borsa Del Credito
Buddybank
Cartalis
CheBanca
Credem Banca
Credit Agricole
Fideuram
Findomestic Banca
Fineco Bank
Hello Bank
Hype
ING
Iccrea Banca
Illimity
Mediolanum
N26
Nexi
Paytipper
Revolut
Sella Personal Credit
Smartika
Soldo
TIM
Unicredit Italy

Portugal - 22 Banks

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

Spain - 18 Banks

Abanca
BBVA
Banco Sabadell
Banco Santander
Bankia
Bankinter
CaixaBank
Cajamar
EVO Banco
ING
IberCaja
ImaginBank
N26
Openbank
Revolut
Ruralvia
TargoBank
Unicaja


Language Customization

It is possible to customize the language you want displayed:

  • After initiating a POST v2/moneyins/paybybank/transfer/init, Lemonway returns to you a redirectURL
  • You can add a locale parameter as 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=XXXXXXXlocale={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.

flowflow

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.

CustomizedCustomized

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 of a bank list query, using ISO Alpha-2 country Code for France:

      {
            "countryCode": ["FR"]
      },   

Example of a bank list output:

      {
        "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.

CustomizedCustomized

  1. The user enters their bank credentials.

CustomizedCustomized

CustomizedCustomized

  1. The user will be sent an authentication code

CodeCode

  1. The user then enters the authentication code and validates

CodeValidateCodeValidate

  1. The bank displays the payment details and the user validates

CodeValidateCodeValidate

  1. The banks 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's bankId, however each user will need to select their bank from a displayed list.

OutoftheboxOutofthebox

❗️

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.

StandardMenuStandardMenu

📘

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 GetMoneyIn. 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.

Did this page help you?