Contents
About giropay
General information about giropay
giropay is a standard founded by the German banks Sparkasse, Postbank, Volks- und Raiffeisen Banken. The giropay online transfer has a number of advantages for merchants. Firstly giropay provides the vendor with a guarantee for payments of up to 10,000 euros; secondly the transfer is a prepayment which minimises the payment term. Finally the customer is using the familiar and trusted online banking of its own credit institution, just the same as with online banking.
In the first step the customer chooses the giropay payment method at the checkout of the online shop and selects its credit institution. The customer is then connected directly to its Sparkasse/bank and logs on as normal using a PIN. A pre-completed transfer form then appears. The customer need only enter their TAN to confirm the payment.
With online banking, the data disclosed in the online transfer is encrypted with SSL (Secure Sockets Layer) to prevent manipulation.
giropay is an online bank transfer with PIN and TAN that provides you with access to nearly 40 million online banking users in Germany in Austria. Additionally to the full 100% payment guarantee the use of giropay is relatively low priced. |
Further information can be found on the webpage of giropay (http://www.giropay.de).
Process flow chart
giropay process flow
Payment platform interface
Data formats: Format Description a alphabetical as alphabetical with special characters n numeric an alphanumeric ans alphanumeric with special characters ns numeric with special characters bool boolean expression (true or false) 3 fixed length with 3 digits/characters ..3 variable length with maximum 3 digits/characters enum enumeration of allowed values dttm ISODateTime (YYYY-MM-DDThh:mm:ss) Abbreviations: Abbreviation Description CND condition M mandatory O optional C conditional Notice: Please note that the names of parameters can be returned in upper or lower case.Definitions
Calling the giropay interface
To initiate a payment with giropay, call up the following URL:
Notice: For security reasons, Payment platform rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.
Notice: Please observe that a connection via iFrame is not possible due to existing regulations and will be technically prevented.
The following table describes the encrypted payment request parameters:
Parameter | Format | CND | Description |
---|---|---|---|
MerchantID | ans..30 | M | ID of merchant. Additionally this parameter has to be passed in plain language too. |
TransID | ans..64 | M | TransactionID which should be unique for each payment |
RefNr | ans..40 | OC | Merchant's unique reference number. Only characters a-zA-Z0-9,-_ are allowed. |
Amount | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit). |
Currency | a3 | M | Currency, three digits DIN / ISO 4217 |
OrderDesc | ans..384 | M | Description of purchased goods, unit prices etc. Please note: The first 27 characters appear on the customer-account statement. You can view the full data in Analytics. |
MAC | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm |
UserData | ans..1024 | O | If specified at request, Payment platform forwards the parameter with the payment result to the shop |
URLSuccess | ans..256 | M | Complete URL which calls up Payment platform if payment has been successful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between Payment platform and shop, please use the parameter UserData. |
URLFailure | ans..256 | M | Complete URL which calls up Payment platform if payment has been unsuccessful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between Payment platform and shop, please use the parameter UserData. |
Response | a7 | O | Status response sent by Payment platform to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter. |
URLNotify | ans..256 | O | Complete URL which Payment platform calls up in order to notify the shop about the payment result. The URL may be called up only via port 443 It may not contain parameters: Use the UserData parameter instead. |
ReqID | ans..32 | O | To avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, the payment platform will not carry out the payment, but will just return the status of the original transaction. Please note that the payment platform must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly. |
SellingPoint | ans..50 | O | Selling point |
Service | ans..50 | O | Products or service sold |
Channel | ans..64 | O | Configuration channel of the PPRO contract (account and ContractID are stored in the system). If it exists, it may overwrite channels stored in the system. |
Language | a2 | O | 2-letter language code (e.g.. de) that should be preferred when presenting payment pages to the consumer |
AccOwner | a..50 | O | Name of the card holder in the format |
Scheme | enum | O | Defines the scheme: „gir“ or „eps“ |
BIC | ans..11 | O | Bank Identifier Code |
Plain | ans..50 | O | A value to be set by the merchant to return some information unencrypted, e.g. the MID |
Custom | ans..1024 | O | The merchant can submit several values separated by | which are returned unencrypted and separated by &. Custom=session=123|id=456 will change in the answer to Session=123&id=456 |
expirationTime | ans..19 | O | timestamp for the end time of the transaction processing, specified in UTC. Format: YYYY-MM-ddTHH:mm:ss |
Parameters for online transfers with giropay
The following table gives the result parameters which the Payment platform transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are forwarded Blowfish encrypted to your system:
Parameter | Format | CND | Description | |
---|---|---|---|---|
MID | ans..30 | M | ID of merchant | |
PayID | an32 | M | ID assigned by Payment platform for the payment, e.g. for referencing in batch files | |
XID | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Payment platform | |
TransID | ans..64 | M | Merchant’s transaction number | |
Status | a..50 | M | OK (URLSuccess) or FAILED (URLFailure) | |
Description | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! | |
Code | n8 | M | Error code according to Payment platform Response Codes Excel file | |
RefNr | ans..40 | O | Merchant’s unique reference number. Only characters a-zA-Z0-9,-_ are allowed. | |
UserData | ans..1024 | O | If specified at request, Payment platformforwards the parameter with the payment result to the shop | |
MAC | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm | |
PaymentPurpose | ans..26 | O | Purpose of payment | |
PaymentGuarantee | a..12 | O | NONE= no payment guarantee, VALIDATED= customer account valid, but no payment guarantee, FULL= payment guarantee Notice: This parameter is only returned if the Status=OK. | |
ErrorText | ans..128 | O | Detailed PPRO error message. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with support. | |
TransactionID | an..20 | O | Unique transaction number from PPRO | |
Plain | ans..50 | O | A value to be set by the merchant to return some information unencrypted, e.g. the MID | |
Custom | ans..1024 | O | The merchant can submit several values separated by | which are returned unencrypted and separated by &. Custom=session=123|id=456 will change in the answer to Session=123&id=456 |
Result parameters for URLNotify, URLSuccess and URLFailure in case of giropay
Verification of the online status of giropay banks
With Payment platform merchants can check which banks are online before processing the payment and thereby enable the giropay payment. For this verification call up the following URL:
The following table describes the encrypted payment request parameters:
Parameter | Format | CND | Description |
---|---|---|---|
MerchantID | ans..30 | M | ID of merchant. Additionally this parameter has to be passed in plain language too. |
Table: Parameters for verification of the online status of giropay banks
Please transfer the Merchant-ID both in the unencrypted as well as the encrypted string.
The following table describes the result parameters, which Payment platform sends in response:
Parameter | Format | CND | Description |
---|---|---|---|
MerchantID | ans..30 | M | ID of merchant. Additionally this parameter has to be passed in plain language too. |
BICList | ans.. | M | The BICList parameter contains all banks which are online at the time of the inquiry as comma-separated values. Example: BICList=TESTBIC1,TESTBIC2,… |
Table: Result parameters for requesting the giropay banks
Credit with reference
Credits (refunds) are possible via a Server-to-Server connection. The Payment platform permits only credits for giropay that reference a previously made transaction via Payment platform. The amount of the Credit is limited to the amount of the previous capture.
To carry out a credit with a reference transaction, please use the following URL:
Notice: For security reasons, Payment platform rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.
The following table describes the encrypted payment request parameters:
Parameter | Format | CND | Description |
---|---|---|---|
MerchantID | ans..30 | M | ID of merchant. Additionally this parameter has to be passed in plain language too. |
PayID | an32 | M | ID assigned by Payment platform for the payment to be credited |
TransID | ans..64 | M | TransactionID which should be unique for each payment |
MAC | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm |
Amount | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit). |
Currency | a..3 | M | Currency code, three digits DIN / ISO 4217 |
OrderDesc | ans..768 | OC | Description of refunded goods, unit prices, merchant’s comment etc. |
ReqID | ans.32 | O | To avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, the payment platform will not carry out the payment, but will just return the status of the original transaction. Please note that the payment platform must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly. |
Parameters for credits of giropay payments
The following table describes the Payment platform response parameters:
Parameter | Format | CND | Description |
---|---|---|---|
MID | ans..30 | C | ID of merchant |
PayID | an32 | M | ID assigned by Payment platform for the payment, e.g. for referencing in batch files |
XID | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Payment platform |
TransID | ans..64 | M | Merchant’s transaction number |
Status | a..30 | M | OK or FAILED or AUTHORIZE_REQUEST |
Description | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | n8 | M | Error code according to Payment platform Response Codes Excel file |
RefNr | ans..40 | O | Merchant’s unique reference number. Only characters a-zA-Z0-9,-_ are allowed. |
ErrorText | ans..128 | O | Detailed PPRO error message Notice: Is returned only if Status=FAILED. Use is possible only in agreement with support. |
Result parameters for credits of giropay payments
Batch processing via the interface
Information about using Batch files and their structure can be found in the Batch Manager manual. Within batch processing not alle functions are available which are usually available for the online interface.
This section describes the parameters which must be transferred within the data set (Record) for executing a giropay payment and which information can be found within the response file about the payment status.
Following table gives an overview of all batch versions that are possible for a specific action an their specialities:
Action | Version | Description |
---|---|---|
Credit | 1.0 / 2.0 | Standard version without return of parameter Code |
| 1.x / 2.x | with RefNr (valid for all versions other than 1.0) |
Description of the possible batch versions
The structure for a giropay payment within a Batch file to be submitted is the following:
HEAD,<MerchantID>,<Date>,<Version> GIROPAY,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID> FOOT,<CountRecords>,<SumAmount> |
Example for Master MID Funktion:
HEAD,[Master]MerchantID,Date,2.x Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action) FOOT,CountRecords,SumAmount |
The following table describes the individual fields and values used within the data set (record) within the batch file:
Parameter | Format | CND | Description |
---|---|---|---|
Type | a..11 | M | HEAD for Header, FOOT for Footer, GIROPAY for giropay |
Action | a..20 | M | The parameter Action defines the type of transaction: Credit |
Amount | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit). |
Currency | a3 | M | Currency code, three digits DIN / ISO 4217 |
TransID | ans..64 | M | TransactionID which should be unique for each payment |
RefNr | ans..40 | O | Merchant's unique reference number. Only characters a-zA-Z0-9,-_ are allowed. |
PayID | an32 | M | ID for this transaction given by Payment platform |
Description of fields within the record for Batch files
The record area within the response file for Batch transactions looks the following way:
HEAD,<MerchantID>,<Date>,<Version> GIROPAY,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount> |
The following table describes the response parameters which the Batch Manager saves in the Record area for each transaction (standard parameters not explained here, such as <TransID> or <RefNR> and request parameters are returned unchanged and correspond to the call as specified in):
Parameter | Format | CND | Description |
---|---|---|---|
Action | a..20 | M | The parameter Action defines the type of transaction: Credit |
PayID | an32 | M | ID for this transaction given by Payment platform |
Status | a..50 | M | OK or FAILED |
Code | n8 | M | Error code according to Payment platform Response Codes Excel file |
Description of result parameters within the record for Batch files