Eps/Giropay

Eps/Giropay

Eps-Überweisung is offered by Austrian banks and Giropay is offered by German banks.

Eps-Überweisung and Giropay allows consumers to make online payments via their online banking applications. After successful login, a form will open on eps-Überweisung containing the transfer order for the consumer’s bank. All relevant details of the purchase e.g. amount and consumer details are already filled in and the consumer needs to authorize the transaction. Once the transfer order has been accepted by the consumer’s bank the merchant will receive a confirmation.

Integration

Conclude and sign an eps merchant contract with the account-holding bank. If card complete is stated as an acquirer, QENTA will receive a PIN which is required to our integration specialists to complete the configuration of the account. If not, forward this PIN letter to us, also IBAN and BIC of the bank account; otherwise, the configuration can’t be finished.

Commands

Pre Transaction Commands

The first step is to generate a unique order number with the command CREATEORDER.

Transaction Commands

INITIATEPAYMENT

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

INITTYPE

ORDERREFERENCE

PAYMENTTYPE

CUSTOMERSTATEMENT

AMOUNT

CONFIRMURL

CURRENCY

APPLICATIONTYPE

ORDERNUMBER

ORIGINATOR

ORDERDESCRIPTION

ACCOUNT_TYPE

SUCCESSURL

FAILUREURL

WINDOWNAME

The value EPS-SO has to be forwarded for the request parameter ACCOUNT_TYPE.

Eps/Giropay payment methods can be initialized if the merchant sends EPS for parameter INITTYPE.

QENTA offers different layouts for the consumer’s bank statement with a maximum length of 35 characters. Be aware that ORDERREFERENCE and/or CUSTOMERSTATEMENT must be defined in the request to be used. Contact our integration specialists to choose a different option.

Example

ORDERNUMBER = 843160
ORDERREFERENCE = 1234567890
CUSTOMERSTATEMENT = customerStatement12345

Option 1: ORDERNUMBER + ORDERREFERENCE + CUSTOMERSTATEMENT = ”000000843160 1234567890 customerSta”

Option 2: ORDERNUMBER + Localtime = ”0000843160-20211220-150839”

Option 3: ORDERREFERENCE = ”001234567890”

Option 4: ORDERNUMBER + CUSTOMERSTATEMENT = ”000000843160 customerStatement12345”

Option 1 is enabled by default.

Responses

201 Successful initialization.

Table 1. Response Parameters
Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

COMMAND=INITIATEPAYMENT&
MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
INITTYPE=EPS&
ACCOUNT_TYPE=EPS-SO&
ORDERNUMBER=7065512&
LANGUAGE=en&
AMOUNT=1&
CURRENCY=EUR&
APPLICATIONTYPE=S&
SERVICEURL=http://yourimprint.com/&
CUSTOMERSTATEMENT=eh3462t3hg346&
SUCCESSURL=https://yoursuccessurl.com&
ORDERDESCRIPTION=Test&
FAILUREURL=https://yourfailureurl.com&
CANCELEURL=https://yourcancelurl.com&
WINDOWNAME=test&

Response samples

header=Content-Type%3A+text%2Fhtml%0D%0A&
body=%3Chtml%3E%3Chead%3E%3Cmeta+http-equiv%3D%22refresh%22+content%3D%220%3BURL%3Dhttps%3A%2F%2Frouting.eps.or.at%2Fappl%2FepsSO-test%2Ftransinit%2Fbankauswahl_prepare.html%3Flang%3Dde%26caiSO%3D%252BMFp8Zj1sZNAjOOoAAOguRl5l%22%3E%3C%2Fhead%3E%3C%2Fhtml%3E&
version=qtillserver+3.23.0.47&
status=0
  1. Decode the text with URL Decoder. Use Notepad ++ or some other URL Decoder. After decoding the response should look like this.

    header=Content-Type: text/html
    &body=<html><head><meta http-equiv="refresh" content="0;URL=https://routing.eps.or.at/appl/epsSO-test/transinit/bankauswahl_prepare.html?lang=de&caiSO=%2BMFp8Zj1sZNAjOOoAAOguRl5l"></head></html>&version=qtillserver 3.23.0.47&status=0
  2. Beautify code (delete everything above and below html tag, and replace every "+" with empty space).

    <html>
        <head>
            <meta http-equiv="refresh" content="0;URL=https://routing.eps.or.at/appl/epsSO-test/transinit/bankauswahl_prepare.html?lang=de&caiSO=%2BMFp8Zj1sZNAjOOoAAOguRl5l">
        </head>
    </html>
  3. Execute the HTML, and the EPS mask should be seen in a browser. Enter specific test data for Eps/Giropay payment method. After that, the merchant will be redirected to the successurl (which is invalid in this example).

VERIFYPAYMENT

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

PAYMENTNUMBER

QTILL_CLIENT_IP_ADDRESS

ORIGINATOR

Responses

201 Successful verification.

Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
The additional parameters will be returned.
Table 2. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
The additional parameters will be returned.

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=VERIFYPAYMENT&
APPLICATIONTYPE=S&
ORDERNUMBER=564478&
LANGUAGE=en&

Response samples

order.1.amount=1.00&
payment.1.1.paymentNumber=564478&
payment.1.1.timeModified=24.10.2022+14%3A58%3A05&
payment.1.1.paymentType=ELECTRONICPAYMENTSTD&
order.1.merchantNumber=840&
order.1.depositAmount=1.00&
payment.1.1.epsConsumerBIC=STZZATWWXXX&
payment.1.1.providerReferenceNumber=20221024eps96577&
payment.1.1.epsConsumerName=QENTA+TEST&
payment.1.1.orderNumber=564478&
order.1.approveAmount=0&
order.1.credits=0&
payment.1.1.merchantNumber=840&
order.1.payments=1&
version=qtillserver+3.23.0.48&
order.1.refundAmount=0&
payment.1.1.currency=EUR&
order.1.state=ORDERED&
orders=1&
payment.1.1.batchNumber=300000567&
order.1.acquirer=EPS+Bank&
order.1.brand=EPS-SO&
status=0&
payment.1.1.epsConsumerIBAN=AT028900000001100401&
payment.1.1.depositAmount=1.00&
order.1.orderText=Test&
order.1.contractNumber=qenta+test&
payment.1.1.state=payment_deposited&
order.1.customerStatement=eh3462t3hg346&
order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
order.1.timeModified=24.10.2022+14%3A58%3A05&
order.1.orderNumber=564478&
payment.1.1.gatewayReferenceNumber=564478&
payment.1.1.approveAmount=1.00&
order.1.currency=EUR&
order.1.timeCreated=24.10.2022+14%3A56%3A11&
order.1.orderDescription=Test&
payment.1.1.timeCreated=24.10.2022+14%3A58%3A05&
order.1.paymentType=ELECTRONICPAYMENTSTD

Post Transaction Commands

GETORDERDETAILS

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

ADMIN_PASSWORD

ORIGINATOR

Responses

201 Successful getting order details.

Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
The additional parameters will be returned.
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
The additional parameters will be returned.

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=GETORDERDETAILS&
APPLICATIONTYPE=S&
ORDERNUMBER=564478&
ADMIN_PASSWORD=9p3a0m5f&

Response samples

order.1.amount=1.00&
payment.1.1.paymentNumber=564478&
payment.1.1.timeModified=24.10.2022+14%3A58%3A05&
payment.1.1.paymentType=ELECTRONICPAYMENTSTD&
order.1.merchantNumber=840&
order.1.depositAmount=1.00&
payment.1.1.epsConsumerBIC=STZZATWWXXX&
payment.1.1.providerReferenceNumber=20221024eps96577&
payment.1.1.epsConsumerName=QENTA+TEST&
payment.1.1.orderNumber=564478&
order.1.approveAmount=0&
order.1.credits=0&
payment.1.1.merchantNumber=840&
order.1.payments=1&
version=qtillserver+3.23.0.48&
order.1.state=ORDERED&
payment.1.1.currency=EUR&
order.1.refundAmount=0&
orders=1&
order.1.brand=EPS-SO&
order.1.acquirer=EPS+Bank&
payment.1.1.batchNumber=300000567&
status=0&
payment.1.1.epsConsumerIBAN=AT028900000001100401&
payment.1.1.depositAmount=1.00&
order.1.orderText=Test&
order.1.contractNumber=qenta+test&
payment.1.1.state=payment_deposited&
order.1.customerStatement=eh3462t3hg346&
order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
order.1.orderNumber=564478&
order.1.timeModified=24.10.2022+14%3A58%3A05&
payment.1.1.gatewayReferenceNumber=564478&
objectsTotal=1&
payment.1.1.approveAmount=1.00&
order.1.currency=EUR&
order.1.timeCreated=24.10.2022+14%3A56%3A11&
order.1.orderDescription=Test&
payment.1.1.timeCreated=24.10.2022+14%3A58%3A05&
order.1.paymentType=ELECTRONICPAYMENTSTD

DEPOSIT

The transaction is automatically deposited for EPS/Giropay.

REFUND

Has to be authorized by the respective financial service provider!

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

AMOUNT

CREDITNUMBER

ADMIN_PASSWORD

CURRENCY

MERCHANTREFERENCE

CUSTOMERSTATEMENT

ISO_TRANSACTION_TYPE

ORIGINATOR

For refunds, basket item data are additional optional parameters.

Responses

201 Successful refunding.

Table 3. Response Parameters
Required Parameters Optional Parameters

status

creditNumber

version

errorCode

message

paySysMessage

originator

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=REFUND&
ORDERNUMBER=564478&
CURRENCY=EUR&
AMOUNT=1.00&
ADMIN_PASSWORD=9p3a0m5f&
APPLICATIONTYPE=S&
LANGUAGE=en&

Response samples

creditNumber=14186719&
version=qtillserver+3.23.0.48&
status=0

Query Commands

For every payment method commands QUERYORDERS, QUERYCREDITS, and QUERYBATCHES are used.

Order Flow Diagram

Image

To interpret this diagram, the successful completion of a NEW PAYMENT is assumed.

All possible commands for specific acquirers are found here.