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

Request Parameters
Table 1. Request Parameters
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.

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.
Response Parameters
Table 2. Response Parameters
Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

Initialization Example
Eps/Giropay payment methods can be initialized if the merchant sends EPS for parameter INITTYPE.
  1. Send a request.

    Example of Request for Initiation
    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&
  2. The response looks like this:

    Example of Response for Initiation
    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
  3. 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
  4. 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>
  5. 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

Request Parameters
Table 3. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

PAYMENTNUMBER

QTILL_CLIENT_IP_ADDRESS

ORIGINATOR

Response Parameters
Table 4. 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.
Table 5. 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.
Verifying payment example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=VERIFYPAYMENT&
    APPLICATIONTYPE=S&
    ORDERNUMBER=564478&
    LANGUAGE=en&
  2. The response looks like this:

    Response Parameters
    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

Request Parameters
Table 6. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

ADMIN_PASSWORD

ORIGINATOR

Response Parameters
Table 7. 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.
Table 8. 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.
Getting order details example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=GETORDERDETAILS&
    APPLICATIONTYPE=S&
    ORDERNUMBER=564478&
    ADMIN_PASSWORD=9p3a0m5f&
  2. The response looks like this:

    Response Parameters
    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!
Request Parameters
Table 9. Request Parameters
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.
Response Parameters
Table 10. Response Parameters
Required Parameters Optional Parameters

status

creditNumber

version

errorCode

message

paySysMessage

originator

Refunding example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=REFUND&
    ORDERNUMBER=564478&
    CURRENCY=EUR&
    AMOUNT=1.00&
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
    LANGUAGE=en&
  2. The response looks like this:

    Response Parameters
    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.