Introduction

EPS is an electronic bank transfer solution solely used in Austria. 

It is a secure online payment system for web shops - the transfers are processed exclusively via your own bank's secure online banking.

There is no requirement for an additional customer account with a payment service or another app. The login details for your own bank account are sufficient. Since you are redirected directly to your online banking, the ordering process in the web shop and the payment process are strictly separated.

Over 11,000 online shops already offer quick, easy and secure payment via eps transfer. Many electronic official transactions in Austria are also carried out this way, because eps is the widely used online payment method for e-government. The eps transfer was developed in cooperation with Austrian banks

Overview

Advantages for cosumer

Secure - no login transfer and full data security through the customers own bank

Easy easy to use through the online banking system

Simple as there are no extra registrations and uneccessary costs needed

Advantages for the merchant

Secure - highest reliabitly garantied through austrian banks

Long reach - high buyer and customer potential

Transparent - real time payment confirmation and no need for additonal software or hardware

EPS bank groups
Code Signification
ARZ_OAB

Apothekerbank

ARZ_BAF

Ärztebank

BA_AUS

Bank Austria

ARZ_BCS

Bankhaus Carl Spängler & Co.AG

EPS_SCHEL

Bankhaus Schelhammer & Schattera AG

BAWAG_PSK

BAWAG P.S.K. AG

BAWAG_ESY

Easybank AG

SPARDAT_EBS

Erste Bank und Sparkassen

ARZ_HAA

Hypo Alpe-Adria-Bank International AG

ARZ_VLH

Hypo Landesbank Vorarlberg

HRAC_OOS

HYPO Oberösterreich,Salzburg,Steiermark

ARZ_HTB

Hypo Tirol Bank AG

EPS_OBAG

Oberbank AG

RAC_RAC

Raiffeisen Bankengruppe Österreich

EPS_SCHOELLER

Schoellerbank AG

ARZ_OVB

Volksbank Gruppe

EPS_VRBB

VR-Bank Braunau

EPS_AAB

Austrian Anadi Bank AG

EPS_BKS

BKS Bank AG

EPS_BKB

Brüll Kallmus Bank AG

EPS_VLB

BTV VIER LÄNDER BANK

EPS_CBGG

Capital Bank Grawe Gruppe AG

EPS_DB

Dolomitenbank

EPS_NOEGB

HYPO NOE Gruppe Bank AG

EPS_NOELB

HYPO NOE Landesbank AG

EPS_HBL

HYPO-BANK BURGENLAND Aktiengesellschaft

EPS_MFB

Marchfelder Bank

EPS_SPDBW

Sparda Bank Wien

EPS_SPDBA

SPARDA-BANK AUSTRIA

EPS_VKB

Volkskreditbank AG

EPS_POSO

Posojilnica Bank eGen

Last Update: 12.07.2022

Integrations

POST Request - Pre-/ Authorization
Account Parameters
request
required
Fixed Value: preauthorization / authorization
mid
required
your merchant ID, 5-digit numeric
aid
required
your subaccount ID, 5-digit numeric
portalId
required
your Portal ID, 7-digit numeric
key
required
your key value, alpha-numeric
Common Parameters
clearingtype
required
Fixed Value: sb
onlinebanktransfertype
required
Fixed Value: EPS

EPS: online bank transfer of Austria

mode
required
Fixed Value: test/live
required
Fixed Value: AT
bankgrouptype
required
Format: Char fixed 7 digits XXX_XXX

see banklist above for all participating banks

reference
optional
Format CHAR(2..255)

A unique ID that will be displayed in your shop backend and for the customer

amount
required
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99

Specifies the total gross amount of a payment transaction.

Value is given in smallest currency unit, e.g. Cent of Euro.

The amount must be less than or equal to the amount of the corresponding booking.

currency
required
Format LIST
Permitted values ISO 4217 (currencies) 3-letter-codes
Samples

EUR

USD

GBP

narrative_text
optional
Format CHAR(1..81)

Dynamic text element on account statements (3 lines with 27 characters each) and credit card statements.

successurl
required
Format CHAR(2..255)

Scheme <scheme>://<host>/<path>
       <scheme>://<host>/<path>?<query>
       
scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

URL for "payment successful"

errorurl
required
Format CHAR(2..255)

Scheme <scheme>://<host>/<path>
       <scheme>://<host>/<path>?<query>
       
scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

URL for "faulty payment"

backurl
required
Format CHAR(2..255)

Scheme <scheme>://<host>/<path>
       <scheme>://<host>/<path>?<query>
       
scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

URL for "Back" or "Cancel"

PERSONAL DATA Parameters
customerid
optional
Format CHAR(1..20)
Permitted Symbols [0-9, a-z, A-Z, .,-,_,/]

Merchant's customer ID, defined by you / merchant to refer to the customer record.

"customerid" can be used to identify a customer record. 
If "customerid" is used then stored customer data are loaded automatically.
userid
optional
Format NUMERIC(6..12)

PAYONE User ID, defined by PAYONE

businessrelation
optional
Format LIST
Value Comment
b2c

Indicates business to private customer

b2b

indicates business to business customer (company

Value specifies business relation between merchant and customer

salutation
optional
Format CHAR(1..10)

The customer's salutation

title
optional
Format CHAR(1..20)
Samples

Dr

Prof.

Dr.-Ing.

Title of the customer

firstname
optional
Format CHAR(1..50)

First name of customer; optional if company is used, i.e.: you may use "company" or "lastname" or "firstname" plus "lastname"

lastname
required
Format CHAR(2..50)

Last name of customer; optional if company is used, i.e.: you may use

"company" or "lastname" or "firstname" plus "lastname"

company
optional
Format CHAR(2..50)

Comany name of customer; optional if company is used, i.e.: you may use "company" or "lastname" or "firstname" plus "lastname"

street
optional
Format CHAR(1..50)

Street number and name (required: at least one character)

addressaddition
optional
Format CHAR(1..50)
Samples

7th floor

c/o Maier

Specifies an additional address line for the invoice address of the customer.

zip
optional
Format CHAR(2..50)
Permitted Symbols [0-9][A-Z][a-z][_.-/ ]

Postcode

city
optional
Format CHAR(2..50)

City of customer

country
required
Format LIST
Permitted values ISO 3166 2-letter-codes
state
required
Format LIST
Permitted values ISO 3166-2 States (regions)  2-letter-codes
Samples US Samples CA
AK AB
AL BC

Specifies state / region of country for the customer.
"state" is required for these countries: US, CA, CN, JP, MX, BR, AR, ID, TH, IN and must not be used for all other countries.

email
optional
Format CHAR(5..254)

Mandatory if "add_paydata[shopping_cart_type]=DIGITAL"

Permitted Symbols RFC 5322

Special Remark email validation:

Max. length for email is 254 characters. Validation is set up in the following way:

Username = Max. 63 characters

Domain Name = Max. 63 characters
Domain Suffixes = Max. 4 suffixes with max. 124 characters 
Example: username[63]@domain_name[63].suffix[60].suffix[60].suffix[4]

"@" and "." is counted as a character as well; in case of a total of three suffixes, this would allow a total of 254 characters.

email-address of customer

telephonenumber
optional
Format CHAR(1..30)

Phone number of customer

birthday
optional
Format DATE(8), YYYYMMDD
Samples

20190101

19991231

Date of birth of customer

language
optional
Format LIST
Permitted values ISO 639-1 (Language)2-letter-codes

Language indicator (ISO 639) to specify the language that should be presented to the customer (e.g. for error messages, frontend display).

If the language is not transferred, the browser language will be used. For a non-supported language English will be used.

vatid
optional
Format CHAR(1..50)

VAT identification number. Used for b2b transactions to indicate VAT number of customer.

gender
optional
Format LIST
Permitted values f /m/d

Gender of customer (female / male / diverse* )

* currently not in use

personalid
optional
Format CHAR(1..32)
Permitted Symbols [0-9][A-Z][a-z][+-./()]

Person specific numbers or characters, e.g. number of passport / ID card

ip
optional
Format CHAR(1..39)

Customer's IP-V4-address (123.123.123.123) or IP-V6-address

Delivery data Parameters
shipping_firstname
required
Format CHAR(1..50)

First name of delivery address

shipping_lastname
required
Format CHAR(1..50)

Surname of delivery address

shipping_company
optional
Format CHAR(2..50)

Company name of delivery address

shipping_street
optional
Format CHAR(2..50)

Street number and name of delivery address

shipping_zip
required
Format CHAR(2..50)

Postcode of delivery address

shipping_addressaddition
optional
Format CHAR(1..50)

Specifies an additional address line for the delivery address of the customer, e.g. "7th floor", "c/o Maier".

shipping_country
optional
Format LIST
Permitted values ISO 3166 2-letter-codes
Samples

DE

GB

US

Specifies country of address for the customer.

Some countries require additional information in parameter "state"

shipping_state
required (in CN)
Format LIST
Permitted values ISO 3166-2 States (regions)  2-letter-codes
Samples US Samples CA
AK AB
AL BC

Specifies state / region of country for the customer.
"state" is required for these countries: US, CA, CN, JP, MX, BR, AR, ID, TH, IN and must not be used for all other countries.

Response Parameters
Permitted Values
REDIRECT
ERROR
Response Data (Redirect)
txid
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

redirecturl
Redirect URL
Format NUMERIC(6..12)

PAYONE User ID, defined by PAYONE

Response parameters (error)
Format NUMERIC(1..6)

In case of error the PAYONE Platform returns an error code for your internal usage.

Format CHAR(1..1024)

In case of error the PAYONE Platform returns an error message for your internal usage.

Host: api.pay1.de
Content-Type: application/x-www-form-urlencoded
Payload

aid=12345
mid=23456
portalid=12345123
key=abcdefghijklmn123456789
request=authorization
currency=EUR
encoding=UTF-8
mode=test
reference=pm-post-{{$timestamp}}
currency=EUR
lastname=PM-Tester
firstname=Paul
country=AT
amount=1000
clearingtype=sb
bankcountry=AT
bankgrouptype=ARZ_HTB
onlinebanktransfertype=EPS
backurl=https://yourdomain.dev/return_back
successurl=https://yourdomain.dev/return_sucess
errorurl=https://yourdomain.dev/return_error
Response

redirecturl=https://www.banking.co.at/appl/ebp/logout/so/loginPrepare/eps.html?resource=2&demo=true&cai=%2BNMtoAXdSTWFUJxDMBOCxBJ1eb0wqE3Zfw63sAOSgSqg0PsYnMH--
status=REDIRECT
txid=943213864
userid=622493916
POST Request - Capture
Account Parameters
request
required
Fixed Value: capture
mid
required
your merchant ID, 5-digit numeric
aid
required
your subaccount ID, 5-digit numeric
portalId
required
your Portal ID, 7-digit numeric
key
required
your key value, alpha-numeric
common Parameters
txid
required
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

sequencenumber
optional
Format NUMERIC(1..3)
Permitted values 0..127

Sequence number for this transaction within the payment process (1..n), e.g. PreAuthorization: 0, 1. Capture: 1, 2. Capture: 2

Required for multi partial capture (starting with the 2nd capture)

amount
required
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99

Specifies the total gross amount of a payment transaction.

Value is given in smallest currency unit, e.g. Cent of Euro; Pence of Pound sterling; Öre of Swedish krona.

The amount must be less than or equal to the amount of the corresponding booking.

currency
required
Fixed Value EUR
narrative_text
optional
Format CHAR(1..81)

Dynamic text element on account statements
(3 lines with 27 characters each) and credit card statements.

Response Parameters
Permitted Values
APPROVED
PENDING
ERROR
Response Parameter (approved)
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

Format LIST
Value Comment
yes

Settlement of outstanding balances has been carried out.

no

Settlement of outstanding balances has not been carried out.

Provides information about whether a settlement of balances has been carried out.

Response parameters (pending)
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

Format NUMERIC(6..12)

PAYONE User ID, defined by PAYONE

Response parameters (error)
Format NUMERIC(1..6)

In case of error the PAYONE Platform returns an error code for your internal usage.

Format CHAR(1..1024)

In case of error the PAYONE Platform returns an error message for your internal usage.

Host: api.pay1.de
Content-Type: application/x-www-form-urlencoded
Payload
mid=23456 portalid=12345123 key=abcdefghijklmn123456789 api_version=3.10 mode=test request=capture encoding=UTF-8 txid=345678901 amount=300 currency=EUR
RESPONSE
status=APPROVED txid=345678901 settleaccount=no
POST Request - Debit
Account Parameters
request
required
Fixed Value: debit
mid
required
your merchant ID, 5-digit numeric
aid
required
your subaccount ID, 5-digit numeric
portalId
required
your Portal ID, 7-digit numeric
key
required
your key value, alpha-numeric
Common Parameters
txid
required
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

sequencenumber
required
Format NUMERIC(1..3)
Permitted values 0..127

Sequence number for this transaction within the payment process (1..n), e.g. PreAuthorization: 0, 1. Capture: 1, 2. Capture: 2

Required for multi partial capture (starting with the 2nd capture)

amount
required
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99

Specifies the total gross amount of a payment transaction.

Value is given in smallest currency unit, e.g. Cent of Euro; Pence of Pound sterling; Öre of Swedish krona.

The amount must be less than or equal to the amount of the corresponding booking.

currency
required
Fixed Value EUR
narrative_text
optional
Format CHAR(1..81)

Dynamic text element on account statements

(3 lines with 27 characters each) and credit card statements.

clearingtype
optional
Fixed Value wlt
use_customerdata
optional
Format LIST
Value Comment
yes

Uses current account details from debtor's master data (default)

no

Uses the last known account details in the payment process

Use account details from debtor's master data

transaction_param
optional
Format CHAR(1..50)
Permitted Symbols [0-9][A-Z][a-z][.-_/]

Optional parameter for merchant information (per payment request)

Response Parameters
status
Permitted Values
APPROVED
ERROR
Response Parameter (approved)
txid
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

settleaccount
Format LIST 
Value Comment
yes

Settlement of outstanding balances has been carried out.

no

Settlement of outstanding balances has not been carried out.

Provides information about whether a settlement of balances has been carried out.

Response Parameter (error)
errorcode
Format NUMERIC(1..6)

In case of error the PAYONE Platform returns an error code for your internal usage.

errormessage
Format CHAR(1..1024)

In case of error the PAYONE Platform returns an error message for your internal usage.

customermessage
Format CHAR(1..1024)

The customermessage is returned to your system in order to be displayed to the customer.

(Language selection is based on the end customer's language, parameter "language")

Host: api.pay1.de
Content-Type: application/x-www-form-urlencoded
Payload
                    
mid=23456 portalid=12345123 key=abcdefghijklmn123456789 api_version=3.10 mode=test request=debit encoding=UTF-8 txid=345678901 sequencenumber=2 amount=1000 currency=EUR
RESPONSE
status=APPROVED txid=345678901 settleaccount=no

Test Data and process

Here is a little step-by-step walkthrough, to find your way through the EPS user interface of Hypo Tirol Bank Austria Sandbox.

1
API-Request Parameter bankgrouptype

ARZ_HTB

2
Selection of Bankname BIC/PLZ

Hypo Tirol Bank AG (HYPTAT22XXX)

3
Login

Verfügernummer: 123456
PIN: 12345

4
eps-bank transfer

Successful: "Auftrag absenden"
Cancel: "Zahlung abbrechen"

5
online signatures

Successful: chose "mobileTan" and following "als Einzelbuchungen zeichnen"
Cancel: "Zahlung abbrechen"

6
online signatures - TAN

Successful: mobileTAN-Eingabe "11111" -> "OK"
Cancel: "Zahlung abbrechen"

7
Summary

Choose "zurück" to get back to the shop.