About Instant Payment


General information about Instant Payment

Instant Payment is based on the Standard Open Banking and belongs to payment category Online Bank Transfer.

The merchant initiates a payment, the customer is forwarded to an Open Banking Operator to allow country and bank selection and finally forwards the customer to their bank to approve and complete the payment.

Instant Banking allows different modes:

ModeDescription
sepaSupported by all banks and is based on SEPA payments
sepaInstant

Supported by most banks and is based on SEPA Instant payments so money is transferred to merchant account typically within 10 seconds

fasterPaymentsUsed specially in the United Kingdom and is using AccountNumber and SortCode



Logo


Info

Instant Payment is based on SEPA Instant Payment or Standard SEPA Payments and therefore widely supported and based on Open Banking Standards.

The implementation is currently based on platform Token.io and Tink.

TypePayments by Online Bank Transfer
 

Use cases

Supported use cases

Supported interface via Token.io

Supported interface via Tink

Use case

Description

Simple process

S-2-S

Form-basedHPP

S-2-S

Form-basedHPP

Authorization + Capture

Merchant wants to authorize payment and capture on delivery

  • not supported

  • use "Sale" instead to authorize and capture a payment within one step






Sale (one-shot)

Merchant wants to collect money from customer via OpenBanking

  • Merchant's shop initiates Instant payment request and receives URL to Open Banking Operator

  • Merchant redirects customer to Open Banking Operator URL
  • Customer enters bank account data (IBAN) and his/her name (account holder name) and confirms payment

  • Merchant's shop gets a notification about successful payment


(tick)

(tick)

(tick)

(tick)

(tick)

full or partial Credit

Merchant wants to credit some money back to customer after a payment has been successfully completed

  • supported via Tink

coming soon



(tick)

(tick)


full or partial Reversal

Merchant wants to cancel a payment which has not been completed

  • not supported







Process flow chart via Token.io

Instant Payment process flow


Process flow charts via Tink

Usecase 1

When customer gives the consent for the upcoming transactions on this merchant for having further transactions without SCA process.



Instant Payment process flow

Usecase 2

When customer doesn't give the consent for the upcoming transactions on this merchant for having further transactions without SCA process.

Instant Payment process flow

Usecase 3

When consent is obtained as described in Usecase 1, and the same customer makes another transaction with the same merchant within 90 days, the merchant can send a request as outlined below to avoid challenging the customer.

Instant Payment process flow


interface


Calling the Instant Banking interface via Token.io

To process a payment with online transfer with Instant Payment, please use the following URL:

OpenBanking.aspx


Key

Format

CND

Description

Beschreibung

RefNr

an..18

M

Reference is mandatory and must be unique for each payment. Allowed characters: A..Za..z0..9.

Die Referenznummer ist obligatorisch und muss für jede Zahlung eindeutig sein. Erlaubte Zeichen sind: A..Za..z0..9

Key

Format

CND

Description

Beschreibung

PayTypea..11O

Defines type of InstantPayment payment:

ValueMeaning
sepaInstant

InstantPayment type "sepaInstant" is used; default, if not specified

sepaInstantPayment type "sepa" is used
fasterPaymentsPayment type used in GB (UK)

Definiert die Art der InstantPayment-Zahlung:

WertBedeutung
sepaInstant

InstantPayment-Typ "sepaInstant" (Standardwert)

sepaInstantPayment-Typ "sepa"
fasterPaymentsZahlung für GB (UK)
Accountan..30O

If you have multiple Bank Accounts configured at Open Banking Operator and setup in , you may select another one than the default.

The account can be named, e.g.

  • MerchantShop1 → referring to bank account IBAN1 DE01123456781234567890
  • MerchantShop2 → referring to bank account IBAN2 FR02123456781234567890
  • MerchantUK → referring to a fasterPayments-Setup using another bank account (via AccountNo, Sortcode)

The naming for "account" needs to be agreed with .

Wenn Sie beim Open Banking Operator mehrere Bankverbindungen konfiguriert und in eingerichtet haben, können Sie eine andere als die Standard-Bankverbindung auswählen.

Das Konto kann benannt werden, z.B.

  • MerchantShop1 → verwendet Bankkonto IBAN1 DE01123456781234567890
  • MerchantShop2 → verwendet  Bankkonto IBAN2 FR02123456781234567890
  • MerchantUK → verwendet das FasterPayments-Setup (UK) (über AccountNo, Sortcode)

Der Wert für "Account" ist bitte mit unserem abzustimmen.

OrderDesc

ans..35

O

Description of purchased goods, unit prices etc.

That value is shown to the consumer in the OpenBanking payment form.

  • Allowed characters: A..Za..z0..9 / - ? : ( ) . , +
  • Diactrics like äöüÄÖÜ, áéíóú, àèìòù, âêîôû, ... are not allowed

Beschreibung der gekauften Waren, Einzelpreise etc.

Dieser Wert wird dem Endkunden im OpenBanking-Zahlungsformular angezeigt.

  • Erlaubte Zeichen: A..Za..z0..9 / - ? : ( ) . , +
  • Sonderzeichen wie äöüÄÖÜ, áéíóú, àèìòù, âêîôû, ... sind nicht erlaubt.

Parameters for online transfers with Instant Payment



Key

Format

CND

Description

Beschreibung

RefNr

ans..30

M

Reference is mandatory and must be unique for each payment. Allowed characters: A..Za..z. Digits are not allowed!

Die Referenznummer ist obligatorisch und muss für jede Zahlung eindeutig sein. Erlaubte Zeichen sind: A..Za..z0..9. Ziffern sind nicht erlaubt!
TransactionIDans..64MUnique transaction id returned by InstantPayment (transfer-id)Eindeutige TransaktionsId von InstantPayment (transfer-id)
ExtCoden..3OExternal Response Code from Open Banking OperatorExterner Antwort-Code vom Open Banking Operator

Return parameters for URLSuccess, URLFailure and URLNotify with Instant Payment



Calling the Instant Banking interface via Tink

Creating Payment Request

To process a payment with online transfer with Instant Payment, please use the following URL:

OpenBanking.aspx


 

Key

Format

CND

Description

Beschreibung

RefNr

an..18

M

Reference is mandatory and must be unique for each payment. Allowed characters: A..Za..z0..9.

Die Referenznummer ist obligatorisch und muss für jede Zahlung eindeutig sein. Erlaubte Zeichen sind: A..Za..z0..9

Key

Format

CND

Description

Beschreibung

CustomerIDans..20C

Permanent User ID, only mandatory when EvenToken: CTWC, so userID can be used for creating delegated authorization for consecutive payments.

Permanente Benutzer-ID, nur obligatorisch, wenn EvenToken: CTWC, sodass die Benutzer-ID zum Erstellen einer delegierten Autorisierung für aufeinanderfolgende Zahlungen verwendet werden kann.

EventTokenans..4M
ValueMeaning
TWCInitiating payment by taking consent for 90 days
TWOCInitiating payment without obtain a consent
CTWCConsecutive Payment with obtained consent
WertBedeutung
TWCAuslösen der Zahlung durch Einholen der Zustimmung für 90 Tage
TWOCAuslösen der Zahlung ohne Einholen einer Zustimmung
CTWCNachfolgende Zahlung mit erhaltener Zustimmung
CountryCodea2M

The country code (in ISO 3166-1 alpha-2 format) of the primary market of the payer.

Possible values: DE, EE, ES, FI, FR, GB, IT, LT, NL, NO, PT, SE

Der Ländercode (im Format ISO 3166-1 Alpha-2) des Primärmarktes des Zahlers.

Mögliche Werte: DE, EE, ES, FI, FR, GB, IT, LT, NL, NO, PT, SE

Parameters for online transfers with Instant Payment 


Key

Format

CND

Description

Beschreibung

RefNr

ans..30

M

Reference is mandatory and must be unique for each payment. Allowed characters: A..Za..z. Digits are not allowed!

Die Referenznummer ist obligatorisch und muss für jede Zahlung eindeutig sein. Erlaubte Zeichen sind: A..Za..z0..9. Ziffern sind nicht erlaubt!
TransactionIDans..64MUnique transaction id returned by InstantPayment (transfer-id)Eindeutige Transaktions-ID von InstantPayment (transfer-id)
CustomerIDans..20C

If the customer's consent is obtained for the Skipping SCA use case, the CustomerID will be returned to the merchant to be provided for consecutive sales requests.

Wenn die Zustimmung des Kunden für den Anwendungsfall „SCA überspringen“ erhalten wurde, wird die Kunden-ID an den Händler zurückgegeben, um sie für nachfolgende Verkaufsanfragen bereitzustellen.

Return parameters for URLSuccess, URLFailure and URLNotify with Instant Payment


Credit with reference

Credits (refunds) are possible via a Server-to-Server connection. The  permits only credits for Instant Payment that reference a previously made transaction via . The amount of the credit is limited to the amount of the sale transaction. 

To carry out a credit with a reference transaction, please use the following URL:

credit.aspx

 

Key

Format

CND

Description

Beschreibung

RefNr

ans..30

M

Reference is mandatory and must be unique for each payment. Allowed characters: A..Za..z. Digits are not allowed!Die Referenznummer ist obligatorisch und muss für jede Zahlung eindeutig sein. Erlaubte Zeichen sind: A..Za..z0..9. Ziffern sind nicht erlaubt!

Parameters for credits of Instant payments via Tink


Result parameters for credits of Instant payments via Tink



Setup with OpenBanking-provider Tink

As does not have access to your Tink setup you need to send us the information required for setup in .

You will have access to your Tink-Console after signing the contract.

Please login into your Tink Console (https://console.tink.com/login) then set up your account as described in https://docs.tink.com/resources/console/set-up-your-tink-account send the information to in clear text, not as a screenshot:

  • client_id: this is the unique ID for your app. This key is public and is instantly available once you create an app.
  • client_secret: this is a secret key for your app. This key authenticates your app with the Tink API.



Setup with OpenBanking-provider Token.io

As does not have access to your Token.io setup you need to send us the information required for setup in .

You will have access to your Token.io-Dashboard after signing the contract.

Please login into your Token.io dashboard (https://dashboard.token.io/) and send the information to in clear text, not as a screenshot:

A sample mail to could look like:

My Token.io setup

CategoryKategorieValueWertCommentKommentar
Account SettingKontoeinstellung



Company NameFirmennameJohn Doe LimitedMax Mustermann GmbH

Member InformationMember Information



Member IDMember IDm:YCkxxxxxxxxxxxxxxxxxxxxxxxv:5zKtXEAqm:YCkxxxxxxxxxxxxxxxxxxxxxxxv:5zKtXEAq

AliasAlias{"type":"DOMAIN","value":"xxxxxxxxxxxxx"}{"type":"DOMAIN","value":"xxxxxxxxxxxxx"}

Public Token KeyPublic Token KeyiYCC0wJXDO0Q-Bqqyi49mD_z-_IWqfmlP_jwGWWNKdsiYCC0wJXDO0Q-Bqqyi49mD_z-_IWqfmlP_jwGWWNKdsShould always be this value; Pls. let us know if it's a different one.Es sollte immer dieser Wert sein; wenn nicht, teilen Sie uns diesen bitte mit.
Authentication KeysAuthentifizierungsschlüssel



API KeyAPI KeybS1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzJmbS1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzJm

Beneficiary InformationInformationen zum Begünstigten



BeneficiaryBegünstigter
Account NameCountryCurrencyIBAN / Account NumberBIC / Sort Code
DE01GermanyEURYour IBAN used as standardYour BIC used as standard
DE02GermanyEUR
Optional: Another IBAN which could be selected via -parameter "Account"
BIC for this IBAN
UK01United KingdomGBPOptional: Your Account Number for UK / FasterPaymentsYour Sort Code for UK / FasterPayments
KontonameLandWährungIBAN / KontonummerBIC / Bankleitzahl
DE01DeutschlandEURDie IBAN, welche standardmäßig verwendet werden sollDie BIC, welche standardmäßig verwendet werden soll
DE02DeutschlandEUR
Optional: Eine weitere IBAN, welche mit dem  -Parameter "Account" selektiert werden kann
BIC für diese IBAN
UK01Vereinigtes KönigreichGBPOptional: Ihre Kontonummer für UK / FasterPaymentsIhr Sort Code für UK / FasterPayments


Customization and Testing with OpenBanking-provider Token.io

How a payment looks like

EnglishDeutschDescriptionBeschreibung

Static:

  • Logo is taken from Token.io-Dashboard → Configuration → CSS
  • To is from Token.io-Dashboard → Configuration → Display name


Dynamic / from API request:

  • One-time payment of is taken from API-amount (e.g. amount=123)
  • Transaction Ref No is taken from API-RefNr
  • Description is taken from API-OrderDesc


Consumer:

  • selects From to choose consumer bank
  • and enters IBAN
  • then clicks Accept to login into consumer bank and confirm payment

Statisch:

  • Das Logo stammt vom Token.io-Dashboard → Konfiguration → CSS
  • Empfänger ist von Token.io-Dashboard → Konfiguration → Anzeigename


Dynamisch / von API-Anfrage:

  • Einmalzahlung wird vom API-Betrag übernommen (z.B. amount=123)
  • Ende-zu-Ende Referenz wird von der API-RefNr genommen
  • Verwendungszweck stammt aus API-OrderDesc


Verbraucher:

  • wählt mittels Von die Bank aus
  • gibt die IBAN ein
  • und klickt dann auf Zustimmen zur Anmeldung bei der Bank und Bestätigung der Zahlung


How to customize your payment / Token.io-account

After signing your contract with the Open Bank Operator (Token.io) you will get access to their dashboard.

There you can set up:

  • your user details and company information (e.g. Company name, Billing details, ...)

Settings → Configuration

General

Here the "Display Name" can be changed. This is the recipient shown to the consumer ("To" / "Empfänger"):

Webhook

Webhook must be set to technical URL: /OpenBankingComplete.aspx


Web App Bank Selection

It's possible to limit bank selection for your consumers. It's recommended to allow "Enable all banks". The consumer can then select any supported bank.

CSS (styling of Token.io Web App (shown to your customer)

It's possible to upload your own merchant logo and customize CSS styling of Web App (shown to consumer):


After you've uploaded your merchant logo and customized your CSS styles the new WebApp-layout can be tested via Payload Builder:



After doing CSS modification a test payment can be initiated to check design:

  • API Key and MemberID are automatically set by Payload Builder
  • (4) Description must be unique for each payment
  • (5) Amount must be used with decimal point
  • (6) Currency must be EUR
  • (7) IBAN is merchant's IBAN, i.e.: any of your benificiary IBAN
  • (8) merchant's BIC is optional → leave empty
  • (9) for testing use any Url, e.g. https://www.google.com
  • (10) click on "Generate"

Then click on Test (1)


A new tab/window will open with new design:



Settings → Authentication Keys

Please generate an API Key for your configuration and send it to :


We also need your MemberID and other information which is shown in next section.

Settings → Member Information

The information shown here is also needed for setup in :

Settings → Beneficiary

Your merchant account may have multiple bank accounts configured. Each bank account can have an account name (assigned by you) and is defined

  • either with IBAN/BIC (SEPA based)
  • or with Account Number / Sort Code (FasterPayments / UK)

A sample setup may look like this:

Testing in Sandbox-mode

As long as your OpenBanking Setup is not setup in Production Mode you can test it in Sandbox Mode.

Therefore please use test data shown here: Test Instant Payment.