Giropay

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.

Overview

Giropay payments follow a two-step process:

  1. Request a payment
  2. Redirect the customer

Request a payment 

The POST request

Use the details below to set up your request.

Endpoints

https://api.checkout.com/payments
https://api.sandbox.checkout.com/payments

Header parameters

HeaderValue

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

Body parameters

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.

Field nameDescription

source

OBJECT

REQUIRED

Details about the payment source.

source.type

STRING

REQUIRED

The type of payment source. Set this to giropay.

source.purpose

STRING

REQUIRED

A description of the payment.

Up to 27 characters.

amount

INTEGER

REQUIRED

The payment amount.

currency

STRING

REQUIRED

The currency in which the payment is being made (three-letter ISO 4217 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.

Request example

{
  "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 POST 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"
    }
  }
}

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.

Get details about a payment

Retrieve details about an existing Giropay payment with the following endpoint.

The GET request

Endpoints

GEThttps://api.checkout.com/payments/{payment_id}
GEThttps://api.sandbox.checkout.com/payments/{payment_id}

Header and path parameters

HeaderValue

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
PathValue

payment_id

REQUIRED

The payment ID found in the response of the initial payment.

The GET response

Response example

{
  "id": "pay_iilqeu2rsdqedkvkjhl2rxgbvy",
  "created_on": "2018-03-28T14:50:26Z",
  "source": {
    "type": "giropay",
    "purpose": "Set of three masks",
    "bic": "TESTDETT421",
    "iban": "DE46940594210000012345",
    "account_holder_name": "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"
    }
  }
}

Refund a payment

Giropay supports both partial and full refunds. You can refund a payment through the Hub or using the refund API.

Cancel a payment

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 a payment_canceled webhook.

Testing Giropay

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.
  1. Create a Giropay transaction as above, following the redirect link in the response to Giropay's bank selection page.
  2. Select the bank ("Wählen Sie Ihre Bank aus"):
    • BIC: TESTDETT421
    • Name: Sparkasse Testinstitut-421 94059421 TESTDETT421.
  3. Click Weiter zu meiner Bank and await redirection to the bank's page.
  4. Log in with the following details:
    • Anmeldename oder Legitimations-ID: chiptanscatest2
    • PIN: 12345
  5. Click Jetzt bezahlen to continue.
  6. Scroll to the end of the next page, select Optischer TAN and then click Jetzt bezahlen.
  7. Scroll to the end of the next page, enter 123456 in the TAN field and click Login.
  8. On the next page, click Weiter.
  9. You will then again need to enter 123456 in the TAN field before clicking Jetzt bezahlenYou should then be redirected to your predefined success URL.

Can we help?

Thanks for using Checkout.com. If you need help or have a question, message our Support team at support@checkout.com.