Giropay is an interbank system, introduced by the German banks in 2005 as the official payment method for online banking. It is accessible by more than 40 million shoppers and accounts for 16% of all online transactions in Germany.
Features #
Available country codes | DE |
---|---|
Processing currencies | EUR |
Settlement currencies | EUR |
Minimum transaction amount | 1.00 EUR |
Maximum transaction amount | No limit. Up to 10.000 EUR – payment guaranteed* Over 10.000 EUR – payment not guaranteed |
Refunds | ✅ |
Partial Refunds | ✅ |
Multiple partial refund | ✅ |
Chargeback | ❌ |
*giropay contractually guarantees the payment for up to 6 weeks after the initial transaction.
Integration Method #
Payment method enumeration values: giropay
There is integration method for Giropay
- Direct API
- Checkout
Direct API #
How to integration #
For direct API integration, you can create a PaymentIntent and get url in only one step. The following is the demo of creating payment intent:
A PaymentIntent is an object that represents your intent to collect payment from your customer and tracks the lifecycle of the payment process. Create a PaymentIntent on your server and specify the amount to collect and a supported currency. If you have an existing Payment Intents integration, add giropay to the list of payment method types.
Please note that for this payment method, you need to specify the country in billing_details.address
as Germany, which country code is DE
.
Request Create a PaymentIntent
{
"amount": 2000,
"currency": "EUR",
"confirm": true,
"payment_method_data": {
"type": "giropay",
"billing_details": {
"address": {
"country": "DE"
},
"firstName": "",
"lastName": ""
}
},
"return_url": "https://wooshpay.com"
}
Response
{
"id": "pi_1670644604036186112",
"object": "payment_intent",
"created": 1687147687000,
"livemode": false,
"currency": "EUR",
"amount": 2000,
"status": "requires_action",
"client_secret": "pi_1670644604036186112_secret_9UHXdOLAE1WV7A1UCIjH8nMP",
"next_action": {
"type": "redirect_to_url",
"giropay_handle_redirect": {
"url": "https://r3.girogate.de/ti/simgiropay?tx=2090827518&rs=33tiT9GdES3vl4zIQ4ShK4Sw3NsvymQj&cs=0981d204f358af0d05ea4aa49a2b678fbe36aa4f13af2624441385921431f7a6"
}
},
"payment_method_types": [
"giropay"
],
"confirmation_method": "automatic",
"return_url": "https://wooshpay.com",
"payment_method": "pm_1670644603939717120",
"capture_method": "automatic"
}
Checkout #
Payment flow #
- Customer selects Giropay from the list of payment methods available and clicks on the Pay botton
- Customers will be redirected to Giropay’s page
- Customers select their bank and approve payment via online banking
Create a seesion #
Request Create a Session
{
"cancel_url": "www.wooshpay.com",
"mode": "payment",
"success_url": "https://wooshpay.com/",
"payment_method_types": [
"giropay"
],
"line_items": [
{
"price_data": {
"currency": "EUR",
"product": null,
"unit_amount": 2000,
"product_data": {
"name": "apple"
},
"billing_scheme": "testscheme",
"lookup_key": "test_lookup_key"
},
"quantity": 1
}
]
}
Response
{
"id": "cs_1680883889586831360",
"object": "checkout.session",
"created": 1689588923000,
"livemode": false,
"currency": "EUR",
"customer": "",
"mode": "payment",
"status": "open",
"url": "https://checkouttest.wooshpay.com/pay/cs_test_1680883889586831360?key=pk_test_NTE2Njk1Mjk1ODMxNjAwMDQ2MDkxOmVqUkVxaWdMOVNQSGpRdmV0ZXUxZFBmcTE2ODY4ODE4NDY0MTg",
"cancel_url": "www.wooshpay.com",
"line_items": {
"object": "list",
"data": [
{
"id": "li_1680883889620385792",
"object": "item",
"currency": "EUR",
"description": "apple",
"price": {
"id": "price_1680883889632968704",
"object": "price",
"created": 1689588923000,
"livemode": false,
"active": false,
"currency": "EUR",
"product": {
"id": "prod_1680883889641357312",
"object": "product",
"created": 1689588923000,
"livemode": false,
"active": false,
"name": "apple",
"updated": 1689588923000
},
"type": "one_time",
"unit_amount": 2000,
"billing_scheme": "per_unit",
"lookup_key": "test_lookup_key"
},
"quantity": 1,
"amount_subtotal": 2000,
"amount_total": 2000
}
]
},
"payment_intent": "pi_1680883889804935168",
"payment_method_types": [
"giropay"
],
"payment_status": "unpaid",
"success_url": "https://wooshpay.com/",
"amount_subtotal": 2000,
"amount_total": 2000,
"billing_address_collection": "auto",
"expires_at": 1689675323250,
"payment_link": "",
"client_secret": "pi_1680883889804935168_secret_oOaiHu8k190zNlX9zeIV5xkl"
}
Next step #
You can add more features to your integration as needed
Create a Webhook #
Listen to events on your WooshPay account so your integration can automatically trigger reactions. Create a webhook that mainly focuses on enabled_events and url.
Create a Refund #
Create a refund to repay funds to your customer. You can also perform partial refunds, but not every payment method supports them. A partial refund is when you refund only part of the original transaction amount.