EPS

Start accepting payments using Electronic Payment Standard (EPS), a favorite payment method in Austria.

EPS allows your customers to make purchases online through quick and easy bank transfers that are both secure and guaranteed.

📘

To start accepting EPS payments, please contact your customer success manager.

Process an EPS payment

EPS payments follow a two-step process:

  1. Request an EPS payment
  2. Redirect the customer

Step 1: Request an EPS payment

The request

Use the details below to set up your request.

Endpoints

Live

https://api.checkout.com/payments

Sandbox

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

Header parameters

Header

Value

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 name

Description

source Object required

Details about the payment source.

source.type\ String\ required

The type of payment source. Set this to eps.

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 "HYPTAT22XXX"\ 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\ optional

The payment amount. Omitting the amount or providing 0 will perform a card verification.

currency\ String\ required

The three-letter ISO 4217 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.

Request example

{
  "source": {
    "type": "eps",
    "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_wqvd2nukz5dujnmokm7ljhymwa",
  "status": "Pending",
  "customer": {
    "id": "cus_uvs2lu4b7ncurjx5zdtrixnc4e"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_wqvd2nukz5dujnmokm7ljhymwa"
    },
    "redirect": {
      "href": "https://ftg-customer-integration.giropay.de/ftgbank/b/bankselection/2329733103475232793;jsessionid=6CA094B861DC4D16D1C48D1988DE4A32.sf-testapp02tom24?op=001"
    }
  }
}

Step 2: Redirect the customer

Redirect your customer to the redirect link’s href in the response. This will send them to an EPS 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 an EPS 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.

Get details about an EPS payment

You can retrieve details about an existing EPS payment.

The request

Use the details below to set up your request.

Endpoint

Live

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

Sandbox

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

Header and path parameters

Header

Value

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

Path

Value

payment_id Required

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

The response

Response example

{
  "id": "pay_iilqeu2rsdqedkvkjhl2rxgbvy",
  "created_on": "2018-03-28T14:50:26Z",
  "source": {
    "type": "eps",
    "purpose": "Mens black t-shirt L",
    "bic": "HYPTAT22XXX",
    "iban": "AT611904300234573201",
    "account_holder": "Test Account"
  },
  "amount": 1914,
  "currency": "EUR",
  "payment_type": "Regular",
  "status": "Captured",
  "flagged": false,
  "_links": {
    "self": {
      "href": "http://api.checkout.com/gateway/payments/pay_iilqeu2rsdqedkvkjhl2rxgbvy"
    }
  }
}

Refund an EPS payment

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

Cancel an EPS 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 payment_canceled webhook.

Get a list of supported banks

You can use this request to get an up-to-date list of all banks supporting EPS payments.

The request

Use the details below to set up your request.

Endpoints

Live

GEThttps://api.checkout.com/giropay/eps/banks

Sandbox

GEThttps://api.sandbox.checkout.com/giropay/eps/banks

Header parameters

Header

Value

Authorization Required

public key

Use the valid public key of your Checkout.com account. You can find this in the Hub.

The response

Response example

{
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/giropay/eps/banks"
    }
  },
  "banks": {
    // ...
    "OBLAAT2LXXX": "Oberösterreichische Landesbank AG",
    "SLHYAT2SXXX": "SALZBURGER LANDES-HYPOTHEKENBANK AG",
    "HYSTAT2GXXX": "Landes-Hypothekenbank Steiermark AG",
    "HYPTAT22XXX": "HYPO TIROL BANK AG",
    "HYPVAT2BXXX": "Vorarlberger Landes- und Hypothekenbank AG"
  }
}

Testing EPS

🚧

To start testing, you'll need to:

  • create a test account, and
  • contact your customer success manager or integrations engineer to activate EPS payments in the sandbox environment.
  1. Create an EPS transaction as above, following the redirect link in the response to EPS's bank selection page. (If you include the BIC in your request, you will go straight to the bank's page.)

  2. Select the bank:
      -   BIC: HYPTAT22XXX
      -   Name: HYPO TIROL BANK AG

  3. Confirm your selection and await redirection to the bank's page.

  4. Log in with the following details:
      -   Verfügernummer (user number): 123456
      -   Verfügername (username): [leave empty]
      -   PIN: [leave empty]

  5. Click "Auftrag absenden" to continue.

  6. Leave the radio selection on "mobileTAN" and click "sammeln und zeichnen" to continue.

  7. In the "mobileTAN-Eingabe" field, enter "123456" and confirm by clicking "OK".

  8. Click "zurück".

  9. You should then be redirected to your predefined success URL.

Can we help?

Thanks for using Checkout.com. If you need any help or support, then message our support team at [email protected].