Introduction

Giropay is the joint online payment method of the German banks and savings banks. And all our merchants are customers of these banks and savings banks. This means that there is usually a business relationship that has existed for years. By the way, your data is not only encrypted, but also stored on extra secure servers in Germany. For you, this means particularly good data protection according to the strictest German rules.

With giropay you have the choice: Either you pay directly online from your checking account, without registering via your online banking. Or you register in advance and pay with username and password, including giropay buyer protection and direct payment confirmation. And of course always free of charge.

Overview

Dear Merchants,

We want to ensure you are well-informed about the configuration requirements for the new Giropay solution. If your merchant agreement includes the new Giropay offering, please make sure to follow the configuration steps outlined on this page. This will ensure a seamless payment experience for your customers.

As a reminder, the new Giropay solution brings enhanced convenience to your end customers, offering them the following payment options:

1. Online Bank Transfer
2. Payment via Login
3. Payment via Girocard

We appreciate your attention to these details and your commitment to providing a top-notch payment experience to your customers. Should you have any queries or need assistance, our support team is here to help.

Thank you for choosing our services and for your ongoing partnership.

Test data for Giropay

Giropay Login tests

This is a test buyer for PAYONE business partners only and most likely will not work for non-PAYONE customers.

Order-amounts up to 500,00€ EUR are allowed.

Login Data

User: PAYONE-1

Password: Payone!-1

Online bank transfer tests
  1. Select the option "Online-Überweisung"
  2. Search for the bank "Giropay Testbank"
  3. Enter the following IBAN : DE48499999601234567890 and any value for the VR-NetKey.
  4. PIN: 1234
  5. TAN using photo : 123456

Integrations

POST Request - Pre-/ Authorization
The default lifetime for the Giropay checkout is 30 minutes. It is possible to set an expiry time for the checkout between 120 und 1800 seconds. Please contact the merchant service (Contact) if you want to limit the Giropay checkout time.
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
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

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
Fixed Value DE
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

Mandatory if shopping cart type is "mixed" or "physical".

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

Mandatory if shopping cart type is "mixed" or "physical".

Specifies country of address for the customer. Some countries require additional information in parameter "state"

shipping_city
optional
Format CHAR(1..50)
City to which the goods will be delivered.
Mandatory if shopping cart type is "mixed" or "physical".
shipping_state
optional
Format LIST
Permitted values ISO 3166-2 States (regions)  2-letter-code.
Samples US Samples CA
AK BC
AB AR
Wallet PARAMETERS
wallettype
required
Fixed Value PDT
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"

Article Parameters
it[n]
optional
Format LIST
it[n] Comments
goods Goods
shipment Shipping Charges
handling Handling fee
voucher Voucher / discount
id[n]
optional
Format CHAR(1..32)
Array elements [n] starting with [1]; serially numbered; max [400]

International Article Number (EAN bzw. GTIN)

Product number, SKU, etc. of this item

pr[n]
optional
Format NUMERIC(10) max. 19 999 999 99
Array elements [n] starting with [1]; serially numbered; max [400]

Unit gross price of the item in smallest unit! e.g. cent

no[n]
optional
Format NUMERIC(6)
Array Array elements [n] starting with [1]; serially numbered; max [400]

Quantity of this item

de[n]
optional
Format CHAR(1..255)
Array elements [n] starting with [1]; serially numbered; max [400]

Description of this item. Will be printed on documents to customer.

va[n]
optional
Format NUMERIC(4)
Array elements [n] starting with [1]; serially numbered; max [400]

VAT rate (% or bp)

Paydata Parameters
add_paydata[over_capture]
optional
Only valid with request "preauthorization"

Value “yes” will enable the overcapture function. The overcapture is restricted until 10% of the order amount.

Note: This function has to be activated by Giropay.

add_paydata[minimum_age]
optional
Minimum age of the customer for the order → see parameter add_paydata[redirect_url_after_age_verification_failure]
add_paydata[redirect_url_after_age_verification_failure]
optional
For use with parameter add_paydata[minimum_age]

Note: In case of a rejection “Error-URL” will be used if this URL was not transmitted

add_paydata[shopping_cart_type]
optional
Categorizes the shopping cart of a checkout based on the properties of the goods it contains. The default value is MIXED.
Value Description Required parameters
  • physical
  • mixed
The shopping cart contains only physical goods or mixed goods.
  • country
  • lastname
  • shipping_firstname
  • shipping_lastname
  • shipping_zip
  • shipping_city
  • shipping_country
digital The shopping cart contains only digital goods
  • country
  • lastname
  • shipping_firstname
  • shipping_lastnameemail
  • anonymous_donation
  • authorities_payment
The shopping cart contains exclusively an anonymous donation or payments to authorities
  • lastname
  • country
add_paydata[order_secured]
optional
Only valid with request "preauthorization"

Value "yes" will enable the secured preorder.

For a secured preorder, a payment guarantee is issued to the merchant for the selected period (maximum 15 calendar days). Captures (partial payments) are always executed within the guarantee period.

add_paydata[preauthorization_validity]
optional
Only valid with add_paydata[order_secured]

Should be a number between 1 and 15.

Desired guarantee period (maximum 15 calendar days) for a secured preorder (ORDER_SECURED).

Response Parameters
status
required
Permitted Values
REDIRECT
ERROR
ReSponse Parameter (redirect)
Format NUMERIC(9..12)

The txid specifies the payment process within the PAYONE platform

Format NUMERIC(6..12)

PAYONE User ID, defined by PAYONE

Format CHAR(2..2000)

Redirect URL → zMerchant system has to redirect customer to this URL to complete payment

ReSponse Parameter (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.

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.11
mode=test
request=preauthorization
encoding=UTF-8
aid=12345
clearingtype=wlt
reference=Ref123456
amount=300
currency=EUR
lastname=Mustermann
country=DE
wallettype=PDT
successurl=http://www.yourdomain.dev
errorurl=http://www.yourdomain.dev
backurl=http://www.yourdomain.dev
RESPONSE

status=REDIRECT
redirecturl=http://www.aliasregistrationpage.com
txid=345678901
userid=123456789
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

capturemode
required
Format LIST
Value Comment
completed

Set with last capture; i.e.: Delivery completed.
No further capture is allowed.

notcompleted

Set with partial deliveries (last delivery with "completed")
Another capture is expected to complete the transaction.

Specifies whether this capture is the last one or whether there will be another one in future.

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

Request Body schema: application/json
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=1
amount=-1000
currency=EUR
RESPONSE

status=APPROVED
txid=345678901
settleaccount=no

Sequence Diagrams

Important: The final status of transactions will be sent asynchronously. For details see: Sequence Diagrams

Sale

Order/Delivery

Order/ Reversal

Order/Delivery/ Retoure