Giropay Payments

Giropay is an e-commerce payment system used in Germany that allows payers to purchase using direct online transfers from their bank account. Payers are redirected to their bank's online banking website where they initiate an instant bank transfer.

Giropay is a supported browser payment method in the Mastercard Payment Gateway. This page describes integration details specific to Giropay. It's recommended that you read the integration guidelines for browser payments, before building a Giropay integration.

Giropay browser payments are only supported for transactions in the EUR currency.

Prerequisites

To offer Giropay as a payment method via the Mastercard Payment Gateway:

  • You must be registered with your browser payments service provider.
  • Your merchant profile on the gateway must be configured using the details of your account with the browser payments service provider.
  • You must have a bank account in one of the supported currencies registered against your merchant account at your browser payments service provider.

Giropay Integration

Giropay via Hosted Checkout

With Hosted Checkout integrations version 50 and later, Giropay is automatically available to your payers when you are enabled and configured for it by your payment service provider.

For details, see Browser Payments via Hosted Checkout Integration.

Giropay via Direct Payment

Direct Payment integration allows you to offer Giropay payment method on your own checkout page.

Giropay is supported from API version 45 onwards.

In addition to the standard fields required in a browser payment request, you need to provide the following fields in the Initiate Browser Payment request for the processing of Giropay payments.

  • sourceOfFunds.type = GIROPAY
  • browserPayment.operation = PAY (the Authorize operation is not supported by Giropay).
  • sourceOfFunds.provided.giropay.bankIdentifier: (optional) Provide the German bank identifier (Bankleitzahl) for the payer's bank account.
  • sourceOfFunds.provided.giropay.bic: The international Business Identifier Code (BIC) for the payer's bank account. For an enhanced payer experience it is recommended that you supply this field. In doing so, the payer will not be presented with the bank selection form and will instead be redirected to their bank automatically.

Preferred Language

You can set the language that you prefer Giropay to use for pages displayed to the payer by providing the browserPayment.preferredLanguage field in the Initiate Browser Payment request. However, the language will be used only if Giropay supports it.

Sample Code to Initiate Giropay Payment
{
   "apiOperation":"INITIATE_BROWSER_PAYMENT",
   "browserPayment":{
      "operation":"PAY",
      "returnUrl":"https://<return_url>"
   },
   "order":{
      "amount":"10.00",
      "currency":"EUR"
   },
   "sourceOfFunds":{
      "type":"GIROPAY"
   }
}

How to Interpret the Transaction Result

The table below shows the transaction response codes for the possible scenarios you may encounter after initiating a Giropay payment.

Initiate Browser Payment Response
What This Means...
response.gatewayCode=SUBMITTED
result=SUCCESS
Redirect the payer using the URL provided in the response.
Retrieve Transaction/Retrieve Order Response
What This Means...
response.gatewayCode=APPROVED
result=SUCCESS
sourceOfFunds.provided.giropay.bankIdentifier
sourceOfFunds.provided.giropay.bic
The payment is successful.
response.gatewayCode=PENDING
result=PENDING
The Mastercard Payment Gateway is waiting for a notification from the acquirer about the payment result. Try RETRIEVE_TRANSACTION again later or listen to notifications from the Mastercard Payment Gateway.
response.gatewayCode=CANCELLED
result=FAILURE
The payer has cancelled the interaction for this payment. Offer the payer the option to try another payment method.
response.gatewayCode=DECLINED or ACQUIRER_SYSTEM_ERROR
result=FAILURE
The payment was declined. Offer the payer the option to try another payment method.
In the case of an ACQUIRER_SYSTEM_ERROR you may want to inquire with the acquirer the reason for payment failure, or you can try RETRIEVE_TRANSACTION again.
response.gatewayCode=TIMED_OUT
result=FAILURE
Treat this as a declined payment. The Mastercard Payment Gateway will make an attempt to ensure the transaction is not successful or will revert the transaction.

Refunds

You can refund Giropay payments in part or in full. You must be configured for refunds on the Mastercard Payment Gateway and on your merchant account at your browser payments service provider.

Testing Your Integration

The Mastercard Payment Gateway provides a browser payments emulator that allows you to test your Giropay integration.

Copyright © 2023 Mastercard