Giropay integration

logo Giropay

Introduction

Giropay is an online bank transfer payment method which is mainly used in Germany.

Giropay transactions can be secured with the age verification process.

warning

Age Verification process can be triggered manually. Please refer to the age verification section for further indication.

Compatible operations and options

Form integration

In this mode, you have to redirect the user to the Be2bill platform by sending a POST request containing your order’s parameters. To do so, you need to build a form using POST method on your merchant site beforehand, following the instructions below.

Payment

Example

Here is a simple example of a payment form. Submitting this form will redirect to the hosted form.

<form method="post" action="https://secure-test.be2bill.com/front/form/process">
    <input type="hidden" name="IDENTIFIER" value="YOUR_IDENTIFIER" />
    <input type="hidden" name="OPERATIONTYPE" value="payment" />
    <!-- 1000 => EUR 10 -->
    <input type="hidden" name="AMOUNT" value="1000" />
    <input type="hidden" name="VERSION" value="3.0" />
    <input type="hidden" name="CLIENTIDENT" value="john.snow" />
    <input type="hidden" name="CLIENTEMAIL" value="john.snow@example.com" />
    <input type="hidden" name="ORDERID" value="1234" />
    <input type="hidden" name="DESCRIPTION" value="Knows nothing" />
    <input type="hidden" name="AGEVERIFICATION" value="true" />
</form>

Parameters

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • OPERATIONTYPE payment

    The action you want to process.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • CLIENTIDENT string(1-255)

    Unique identifier of the user in your application (e.g. a login or a primary key).

  • DESCRIPTION string(1-510)

    A short description of the operation, can be used to trigger fraud actions. Don’t hesitate to ask your Payment Manager for some advice on this topic.

  • HASH string(64)

    The transaction’s hash as described in the dedicated section.

  • VERSION 3.0

    The API protocol version.

  • APIKEYID string (36)

    ID used to authenticate a transaction using APIKEY.

  • CART[X][BRAND] string(1-100)

    Article brand.

  • CART[X][CATEGORY] computersandsoftware, electronics, appliances, homeandgarden, fashion, healthandbeauty, jewellery, sport, leisureandhobbies, carsandmotorbikes, furniture, / kidsandbaby, videogamesandconsoles, toysandgames, pets, foodanddrink, giftandflowers, entertainment, travel, auctionsandgroupbuying, servicesforindividuals, servicesforprofessionals

    Article category.

  • CART[X][DELIVERYEXPECTEDDATE] date(YYYY-MM-DD)

    Delivery Date.

  • CART[X][DELIVERYEXPECTEDDELAY] int (1-3)

    Number of days for delivery.

  • CART[X][DELIVERYLABEL] string(1-100)

    Delivery method name or description.

  • CART[X][DELIVERYSPEED] standard,express

    Speed of the delivery method. (Specify EXPRESS if under 48h).

  • CART[X][DELIVERYTYPE] storepickup, networkpickup, travelpickup, carrier, edelivery, other

    Delivery method.

  • CART[X][DISCOUNT] float

    Applied discount in percentage. The decimal separator is the dot symbol.

  • CART[X][MERCHANTITEMID] string

    Item ID in the merchant system.

  • CART[X][NAME] string

    Item name.

  • CART[X][PRICE] int

    Unit price in cents, including potential taxes and discounts.

  • CART[X][QUANTITY] integer

    Quantity of this item.

  • CART[X][SUBMERCHANTEXTERNALID] string

    Submerchant account identifier in the marketplace. This field allow a special value “OPERATOR” when the item is sold by the marketplace itself (and not a sub-merchant).

  • CART[X][TAX] float

    Applied taxes in percentage. The decimal separator is the dot symbol.

  • CART[X][TOTALAMOUNT] integer

    Total amount based on PRICE and QUANTITY.

  • AGEVERIFICATION yes, no

    Ask for a legal age verification.

  • BILLINGADDRESS string(1-50)

    The billing address. Be careful not to integrate any line breaks.

  • BILLINGCOUNTRY string(2)

    The country code (ISO_3166-1_alpha-2).

  • BILLINGFIRSTNAME string(1-15)

    The first name part of the billing address.

  • BILLINGLASTNAME string(1-15)

    The last name part of the billing address.

  • BILLINGPHONE string(1-32)

    Billing phone number in international format.

  • BILLINGPOSTALCODE string(1-9)

    The billing postal code.

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • CARDFULLNAME string(1-255)

    The holder’s full name (as described on the payment method).

  • CLIENTADDRESS string(1-510)

    The user’s address.

  • CLIENTDOB date(YYYY-MM-DD)

    The user’s date of birth.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

  • LANGUAGE fr, en, de, es, it, nl, zh, ru, pt, cs

    Configure the hosted form display language.

  • METADATA string(1-255)

    Additional transactional data. Contact your account manager for more informations.

  • SHIPTOADDRESS string(1-50)

    The shipping address.

  • SHIPTOCOUNTRY string(2)

    The shipping country (ISO_3166-1_alpha-2 format).

  • SHIPTOFIRSTNAME string(1-15)

    The first name part of the shipping address.

  • SHIPTOLASTNAME string(1-30)

    The last name part of the shipping address.

  • SHIPTOPHONE string(1-32)

    Shipping phone number in international format.

  • SHIPTOPOSTALCODE string(1-9)

    The shipping postal code.

Notification result parameters

Please see the dedicated section about notification and redirection

You will retrieve the following POST parameters on your NOTIFICATION_URL:

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • CLIENTIDENT string(1-255)

    Unique identifier of the user in your application (e.g. a login or a primary key).

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • CURRENCY string(3)

    Currency code (ISO 4217 format).

  • DESCRIPTOR string

    The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • LANGUAGE fr, en, de, es, it, nl, zh, ru, pt, cs

    Configure the hosted form display language.

  • OPERATIONTYPE payment

    The action you want to process.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • TRANSACTIONID string(1-32)

    Unique Be2bill transaction ID. Make sure to store this ID in your database.

  • VERSION 3.0

    The API protocol version.

  • EXECCODE string(4)

    The operation result code. (See the complete list of execution code)

  • MESSAGE string(no length limit)

    The operation result description linked to EXECCODE.

  • HASH string(64)

    The transaction’s hash as described in the dedicated section.

security

You have to check the received HASH against the one you generate to confirm the request’s origin and integrity before redirecting the user. See this section for more information.

Direct-submit integration

In this mode, you have to redirect the user over HTTPS to the Be2bill platform while sending a POST request containing both your order’s parameters as well as some infomation entered by the user.

Request must be sent to a specific direct-submit dedicated URL.

Payment

Example

Here is a direct-submit request form example. Submitting this form will send a request to the Be2bill platform.

<form method="post" action="https://secure-test.be2bill.com/front/direct-submit/process">
    <input type="hidden" name="IDENTIFIER" value="YOUR_IDENTIFIER" />
    <input type="hidden" name="OPERATIONTYPE" value="payment" />
    <!-- 1000 => EUR 10 -->
    <input type="hidden" name="AMOUNT" value="1000" />
    <input type="hidden" name="VERSION" value="3.0" />
    <input type="hidden" name="CLIENTIDENT" value="john.snow" />
    <input type="hidden" name="CLIENTEMAIL" value="john.snow@example.com" />
    <input type="hidden" name="ORDERID" value="1234" />
    <input type="hidden" name="DESCRIPTION" value="Knows nothing" />
</form>

Parameters

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • OPERATIONTYPE payment

    The action you want to process.

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • VERSION 3.0

    The API protocol version.

  • CLIENTIDENT string(1-255)

    Unique identifier of the user in your application (e.g. a login or a primary key).

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • DESCRIPTION string(1-510)

    A short description of the operation, can be used to trigger fraud actions. Don’t hesitate to ask your Payment Manager for some advice on this topic.

  • AGEVERIFICATION yes, no

    Ask for a legal age verification.

  • CART[X][BRAND] string(1-100)

    Article brand.

  • CART[X][CATEGORY] computersandsoftware, electronics, appliances, homeandgarden, fashion, healthandbeauty, jewellery, sport, leisureandhobbies, carsandmotorbikes, furniture, / kidsandbaby, videogamesandconsoles, toysandgames, pets, foodanddrink, giftandflowers, entertainment, travel, auctionsandgroupbuying, servicesforindividuals, servicesforprofessionals

    Article category.

  • CART[X][DELIVERYEXPECTEDDATE] date(YYYY-MM-DD)

    Delivery Date.

  • CART[X][DELIVERYEXPECTEDDELAY] int (1-3)

    Number of days for delivery.

  • CART[X][DELIVERYLABEL] string(1-100)

    Delivery method name or description.

  • CART[X][DELIVERYSPEED] standard,express

    Speed of the delivery method. (Specify EXPRESS if under 48h).

  • CART[X][DELIVERYTYPE] storepickup, networkpickup, travelpickup, carrier, edelivery, other

    Delivery method.

  • CART[X][DISCOUNT] float

    Applied discount in percentage. The decimal separator is the dot symbol.

  • CART[X][MERCHANTITEMID] string

    Item ID in the merchant system.

  • CART[X][NAME] string

    Item name.

  • CART[X][PRICE] int

    Unit price in cents, including potential taxes and discounts.

  • CART[X][QUANTITY] integer

    Quantity of this item.

  • CART[X][SUBMERCHANTEXTERNALID] string

    Submerchant account identifier in the marketplace. This field allow a special value “OPERATOR” when the item is sold by the marketplace itself (and not a sub-merchant).

  • CART[X][TAX] float

    Applied taxes in percentage. The decimal separator is the dot symbol.

  • CART[X][TOTALAMOUNT] integer

    Total amount based on PRICE and QUANTITY.

  • BILLINGADDRESS string(1-50)

    The billing address. Be careful not to integrate any line breaks.

  • BILLINGCOUNTRY string(2)

    The country code (ISO_3166-1_alpha-2).

  • BILLINGFIRSTNAME string(1-15)

    The first name part of the billing address.

  • BILLINGLASTNAME string(1-15)

    The last name part of the billing address.

  • BILLINGPHONE string(1-32)

    Billing phone number in international format.

  • BILLINGPOSTALCODE string(1-9)

    The billing postal code.

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • CARDFULLNAME string(1-255)

    The holder’s full name (as described on the payment method).

  • CLIENTADDRESS string(1-510)

    The user’s address.

  • CLIENTDOB date(YYYY-MM-DD)

    The user’s date of birth.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

  • LANGUAGE fr, en, de, es, it, nl, zh, ru, pt, cs

    Configure the hosted form display language.

  • METADATA string(1-255)

    Additional transactional data. Contact your account manager for more informations.

  • SHIPTOADDRESS string(1-50)

    The shipping address.

  • SHIPTOCOUNTRY string(2)

    The shipping country (ISO_3166-1_alpha-2 format).

  • SHIPTOFIRSTNAME string(1-15)

    The first name part of the shipping address.

  • SHIPTOLASTNAME string(1-30)

    The last name part of the shipping address.

  • SHIPTOPHONE string(1-32)

    Shipping phone number in international format.

  • SHIPTOPOSTALCODE string(1-9)

    The shipping postal code.

Redirection result parameters

You will retrieve the following GET parameters on your REDIRECT_URL:

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • CLIENTIDENT string(1-255)

    Unique identifier of the user in your application (e.g. a login or a primary key).

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • CURRENCY string(3)

    Currency code (ISO 4217 format).

  • DESCRIPTOR string

    The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • LANGUAGE fr, en, de, es, it, nl, zh, ru, pt, cs

    Configure the hosted form display language.

  • OPERATIONTYPE payment

    The action you want to process.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • TRANSACTIONID string(1-32)

    Unique Be2bill transaction ID. Make sure to store this ID in your database.

  • VERSION 3.0

    The API protocol version.

  • EXECCODE string(4)

    The operation result code. (See the complete list of execution code)

  • MESSAGE string(no length limit)

    The operation result description linked to EXECCODE.

security

You have to check the received HASH against the one you generate to confirm the request’s origin and integrity before redirecting the user. See this section for more information.

Notification result parameters

You will retrieve the following POST parameters on your NOTIFICATION_URL:

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • OPERATIONTYPE payment

    The action you want to process.

  • TRANSACTIONID string(1-32)

    Unique Be2bill transaction ID. Make sure to store this ID in your database.

  • CLIENTIDENT string(1-255)

    Unique identifier of the user in your application (e.g. a login or a primary key).

  • CLIENTEMAIL email(5-255)

    The user’s email.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • VERSION 3.0

    The API protocol version.

  • LANGUAGE fr, en, de, es, it, nl, zh, ru, pt, cs

    Configure the hosted form display language.

  • CURRENCY string(3)

    Currency code (ISO 4217 format).

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

  • EXECCODE string(4)

    The operation result code. (See the complete list of execution code)

  • MESSAGE string(no length limit)

    The operation result description linked to EXECCODE.

  • DESCRIPTOR string

    The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.

  • HASH string(64)

    The transaction’s hash as described in the dedicated section.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

security

You have to check the received HASH against the one you generate to confirm the request’s origin and integrity before redirecting the user. See this section for more information.

Server to server integration

In this mode, you have to send a POST request containing your order’s parameters over HTTPS to the Be2bill platform.

Refund via SCT

Refunds can either be processed through server-to-server request or Be2bill Extranet.

The refund operation will be processed via Sepa Credit Transfer to the specified IBAN and the content specified in DESCRIPTOR will be displayed on the user bank report.

info

You can only refund a succeeded payment transaction. A transaction can be refunded several times, up to the original transaction AMOUNT.

info

Refunds are not supported by Giropay at the moment. Be2bill provides a SEPA Credit Transfer feature allowing refunds. Following additional parameters are required: BANK and IBAN.

Example

Here is a server to server request example:

$> curl --request POST --url "https://secure-test.be2bill.com/front/service/rest/process" \
--data "method=refund" \
--data "params[IDENTIFIER]=YOUR_IDENTIFIER" \
--data "params[OPERATIONTYPE]=refund" \
--data "params[TRANSACTIONID]=A1123456" \
--data "params[ORDERID]=1234" \
--data "params[DESCRIPTION]=Knows nothing" \
--data "params[CARDFULLNAME]=JOHN SNOW" \
--data "params[DESCRIPTOR]=myshop.com" \
--data "params[BANK]=ABNANL2A" \
--data "params[IBAN]=DE11888888889999999999" \
--data "params[VERSION]=3.0" \
--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \

Parameters

  • IDENTIFIER string(1-32)

    Your processing account technical identifier.

  • OPERATIONTYPE refund

    The action you want to process.

  • TRANSACTIONID string(1-32)

    The payment’s TRANSACTIONID you want to refund.

  • ORDERID string(1-40)

    Unique ID associated to an order in the merchant’s database (as specified in your initial POST request)

  • DESCRIPTION string(1-510)

    A short description of the operation, can be used to trigger fraud actions. Don’t hesitate to ask your Payment Manager for some advice on this topic.

  • CARDFULLNAME string(1-255)

    The holder’s full name (as described on the payment method).

  • DESCRIPTOR string

    The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.

  • BANK string(8-11)

    Bank Identifier Code (BIC).

  • IBAN string(1-34)

    IBAN

  • VERSION 3.0

    The API protocol version.

  • HASH string(64)

    The transaction’s hash as described in the dedicated section.

  • CART[X][BRAND] string(1-100)

    Article brand.

  • CART[X][CATEGORY] computersandsoftware, electronics, appliances, homeandgarden, fashion, healthandbeauty, jewellery, sport, leisureandhobbies, carsandmotorbikes, furniture, / kidsandbaby, videogamesandconsoles, toysandgames, pets, foodanddrink, giftandflowers, entertainment, travel, auctionsandgroupbuying, servicesforindividuals, servicesforprofessionals

    Article category.

  • CART[X][DELIVERYEXPECTEDDATE] date(YYYY-MM-DD)

    Delivery Date.

  • CART[X][DELIVERYEXPECTEDDELAY] int (1-3)

    Number of days for delivery.

  • CART[X][DELIVERYLABEL] string(1-100)

    Delivery method name or description.

  • CART[X][DELIVERYSPEED] standard,express

    Speed of the delivery method. (Specify EXPRESS if under 48h).

  • CART[X][DELIVERYTYPE] storepickup, networkpickup, travelpickup, carrier, edelivery, other

    Delivery method.

  • CART[X][DISCOUNT] float

    Applied discount in percentage. The decimal separator is the dot symbol.

  • CART[X][MERCHANTITEMID] string

    Item ID in the merchant system.

  • CART[X][NAME] string

    Item name.

  • CART[X][PRICE] int

    Unit price in cents, including potential taxes and discounts.

  • CART[X][QUANTITY] integer

    Quantity of this item.

  • CART[X][SUBMERCHANTEXTERNALID] string

    Submerchant account identifier in the marketplace. This field allow a special value “OPERATOR” when the item is sold by the marketplace itself (and not a sub-merchant).

  • CART[X][TAX] float

    Applied taxes in percentage. The decimal separator is the dot symbol.

  • CART[X][TOTALAMOUNT] integer

    Total amount based on PRICE and QUANTITY.

  • AMOUNT integer

    The amount to refund. When not specified, refund 100% of the initial transaction resting amount. Could not be higher than the resting amount.

  • EXTRADATA string(1-255)

    Free field (Be2bill will send you back the content of the EXTRADATA you specified ahead).

Request result

Here is the request result from the platform:

  • OPERATIONTYPE refund

    The action you want to process.

  • AMOUNT integer

    The transaction amount in the smallest money decimal (e.g. cents for euro).

  • EXECCODE string(4)

    The operation result code. (See the complete list of execution code)

  • MESSAGE string(no length limit)

    The operation result description linked to EXECCODE.

  • DESCRIPTOR string

    The transaction label sent to the bank network. The transaction will display with this label on the user’s bank statement.

  • TRANSACTIONID string(1-32)

    Unique Be2bill transaction ID. Make sure to store this ID in your database.

Notification result parameters

Exactly the same result parameters than with hosted form integration.

Specific details

Age verification

To trigger age verification feature on a payment, following additional parameter is necessary:

  • AGEVERIFICATION yes, no

    Ask for a legal age verification.

When the user has not reached legal age of majority, payment is automatically rejected.