Start accepting payments using Giropay, a favorite payment method in Germany.
Giropay provides a method to make purchases online through quick and easy bank transfers that are not only secure but guaranteed.
To start accepting Giropay payments, please contact your customer success manager.
Giropay payments follow a two-step process:
Step 1: Request a Giropay payment
The request
Use the details below to set up your request.
Endpoints
Live
Sandbox
Header parameters
Authorization
Required
secret key
Use the valid secret key of your Checkout.com account. You can find this in the Hub.
Content-Type
Required
application/json
The table below describes the minimum recommended fields. You can find the full list, as well as complete request and response examples, in our API reference.
source
Object
required
Details about the payment source.
source.type
String
required
The type of payment source. Set this to giropay
.
source.bic
String
optional
The 8- or 11-character bank identifier code (BIC). If you want to test this in the sandbox environment, set the value to "TESTDETT421"
If you include this, your payment will follow an alternative flow.
source.purpose
String
required
A description of the payment.
Maximum characters: 27
amount
Integer
required
The payment amount.
currency
String
required
The three-letter ISO currency code. Set this to EUR
.
success_url
String
Optional
For redirect payment methods, overrides the default success redirect URL configured on your account.
failure_url
String
Optional
For redirect payment methods, overrides the default failure redirect URL configured on your account.
{
"source": {
"type": "giropay",
"purpose":"Mens black t-shirt L"
},
"amount": 1914,
"currency": "EUR",
"success_url": "http://example.com/payments/success",
"failure_url": "http://example.com/payments/fail"
}
If a customer ID or email is not provided in the request, then we automatically create a customer profile and return the customer id
in the response.
The response
If you receive a 202 Success
response containing a status
field set to Pending
, then your request was successful.
Response example
{
"id": "pay_d3ohhwwu3qderfjlzitknc26sq",
"status": "Pending",
"customer": {
"id": "cus_hfgq4ctsnr6e3cfhq5ctwb5gtu"
},
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/payments/pay_d3ohhwwu3qderfjlzitknc26sq"
},
"redirect": {
"href": "https://ftg-customer-integration.giropay.de/ftgbank/b/bankselection/219499703994809788;jsessionid=8ECFE1809F9BAB6635EC9D37D98A1CAE.sf-testapp01tom21?op=001"
}
}
}
Step 2: Redirect the customer
Redirect your customer to the redirect
link’s href in the response. This will send them to a Giropay bank selection page where they will select their bank before being transferred to that bank's page to enter their authorization details. If successful, the payment can be approved.
Once they've completed this step, the customer is transferred to your predefined success or failure URL. Confirmation of a Giropay payment is communicated only through webhooks. When you receive a payment_captured
webhook notification, the transaction has been completed successfully. Until the payment_captured
webhook is received (response code 10000
), all payments are labeled as Pending.
Alternative flow: Including the BIC
If you include the BIC in your request, the payment will follow a slightly different flow.
Response example
If your request is successful, you'll receive a response like the following (note the different redirect URL):
{
"id": "pay_iilqeu2rsdqedkvkjhl2rxgbvy",
"status": "Pending",
"customer": {
"id": "cus_xtmverdclvfuhjuqjwduqeuqnu",
},
"_links": {
"redirect": {
"href": "https://ftg-customer-integration.giropay.de/ftg/b/go/07i2i1k00pp1tkapcdoy3bo3;jsessionid=3EEF88674DADC7A4FC117BB39E770269.sf-testapp02tom23"
},
"self": {
"href": "http://api.checkout.com/payments/pay_iilqeu2rsdqedkvkjhl2rxgbvy"
}
}
}
Redirect the customer
Unlike the standard payment flow detailed above, the redirect
link’s href will send your customer directly to their bank's website where they need to enter their authorization details. If successful, the payment can be approved.
After that, the flow is the same: the customer will be sent to your predefined success or failure URL, and you can get confirmation of the payment via webhooks.
You can retrieve details about an existing Giropay payment.
The request
Use the details below to set up your request.
Endpoint
Live
Sandbox
Header and path parameters
Authorization
Required
secret key
Use the valid secret key of your Checkout.com account. You can find this in the Hub.
Content-Type
Required
application/json
payment_id
Required
The payment ID found in the response of the initial payment.
{
"id": "pay_iilqeu2rsdqedkvkjhl2rxgbvy",
"created_on": "2018-03-28T14:50:26Z",
"source": {
"type": "giropay",
"purpose": "Set of three masks",
"bic": "TESTDETT421",
"iban": "DE46940594210000012345",
"account_holder": "Test GmbH & Co. KG"
},
"amount": 1914,
"currency": "EUR",
"payment_type": "Regular",
"status": "Captured",
"flagged": false,
"_links": {
"self": {
"href": "http://api.checkout.com/gateway/payments/pay_iilqeu2rsdqedkvkjhl2rxgbvy"
}
}
}
Giropay supports both partial and full refunds. You can refund a payment through the Hub or using the refund API.
If the customer fails to complete their payment, we will automatically void the payment and send a payment_expired
webhook.
If the customer cancels their payment, we will send payment_canceled
webhook.
You can use this request to get an up-to-date list of all banks supporting Giropay payments.
The request
Use the details below to set up your request.
Endpoints
Live
Sandbox
Header parameters
Authorization
Required
public key
Use the valid public key of your Checkout.com account. You can find this in the Hub.
{
"_links": {
"self": {
"href": "https://api.checkout.com/giropay/banks"
}
},
"banks": {
"BELADEBEXXX": "Landesbank Berlin - Berliner Sparkasse",
"BEVODEBBXXX": "Berliner Volksbank",
"GENODEF1P01": "PSD Bank Berlin-Brandenburg",
"WELADED1WBB": "Weberbank",
"BYLADEM1001": "Deutsche Kreditbank Berlin"
}
}
To start testing, you'll need to:
- create a test account, and
- contact your customer success manager or integrations engineer to activate Giropay payments in the sandbox environment.
Create a Giropay transaction as above, following the redirect link in the response to Giropay's bank selection page. (If you follow the alternative flow and include the BIC in your request, you will go straight to the bank's page.)
Select the bank ("Wählen Sie Ihre Bank aus"):
- BIC: TESTDETT421
- Name: Sparkasse Testinstitut-421 94059421 TESTDETT421Click "Weiter zu meiner Bank" and await redirection to the bank's page.
Log in with the following details:
- Anmeldename oder Legitimations-ID: chiptanscatest2
- PIN: 12345Click "Jetzt bezahlen" to continue.
Scroll to the end of the next page, select "Optischer TAN" and then click "Jetzt bezahlen".
Scroll to the end of the next page, enter "123456" in the TAN field and click "Login".
On the next page, click "Weiter".
You will then again need to enter "123456" in the TAN field before clicking "Jetzt bezahlen".
You should then be redirected to your predefined success URL.
Thanks for using Checkout.com. If you need any help or support, then message our support team at support@checkout.com.