Giropay is a German payment method based on online banking, Giropay allows its customers to complete transactions online using their online banking environment, where funds are debited from their bank account and deposited directly to the merchant's account or a wallet setup at the merchant's end.

Depending on their bank, customers confirm payments on Giropay using a second factor of authentication or a PIN. Giropay accounts for 10% of online checkouts in Germany.

Giropay redirects customers to their website to authenticate the payment and there is an immediate confirmation to the user and the merchant about the success or failure of a payment.

The Paysafe Payments API supports Giropay as a Payment Instrument.

Transaction types

Paysafe supports the following transaction types

  • Payments- It is used to transfer money from the user's bank account to merchant account. Post successful payments, the merchant credits the customer's wallet.

Typical Scenarios


When you want to process an Giropay payment request, you would do the following:

  1. Create a Payment Handle with the transactionType parameter set to PAYMENT and the paymentType parameter set to GIROPAY.
    1. Post : paymenthub/v1/paymenthandles
  2. Since the user has to complete payment by selecting bank account on Giropay page, Paysafe returns a response with the following:
    • The action parameter is set to REDIRECT
    • A redirect_payment link points to the Giropay redirect URL
  3. Redirect the user to the Giropay redirect URL.
    1. On redirecting the customer to the redirection link, the status of the Payment Handle becomes PROCESSING and the merchant will be notified with a webhook for PAYMENT_HANDLE_PROCESSING event
      1. On the redirection page, the User selects the bank, completes the transfer using the banking details.
      2. Post the successful completion of the transfer the merchant will receive a webhook for PAYMENT_HANDLE_PAYABLE indicating the t
  4. Use the paymentHandleToken returned in the response to process the Payment request via Payments API using the private key. You must initiate a POST request to the endpoint:
    1. Post : paymenthub/v1/payments
  5. Once the customer successfully completes the payment, the merchant will receive SETTLEMENT_COMPLETED/ PAYMENT_COMPLETED event (Since this is settlewithauth= true, we can assume that both are same) . Once you receive these events you can safely credit the amount to customers account/ ship the goods.

APIs to use: Payment Handles + Payments

Did you find this page useful?