HiPay Enterprise – SEPA Direct Debit (SDD)
Service endpoints
There are two endpoints (base URLs) to which you can make your API calls:
- Stage, if you are testing your integration,
- and Production, when you have finished testing and want your application to go live.
Recurring payment request with client authentication
To initiate a SEPA mandate for a recurring payment with client authentication, here are the parameters to add to a basic payment request.
The bank account owner must be present to complete the SEPA registration.
Specific required fields:
payment_product => sdd
eci => 7 //ECOMMERCE
recurring_payment => 1
Recurring payment request without client authentication
To initiate a SEPA mandate for a recurring payment without client authentication, here are the parameters to add to a basic payment request.
The bank account owner must be present to complete the SEPA registration.
Specific required fields:
payment_product => sdd
eci => 7 //ECOMMERCE
recurring_payment => 1
firstname => firstname
lastname => lastname
authentication_indicator => 0
gender => M
issuer_bank_id => MARKDEF1100 // BIC
New parameters:
iban => DE23100000001234567890
bank_name => deutsche bank
Recurring payment response
See below the received response. Please pay attention to the field “debit_agreement_id”, which is the most important here.
Merchants must save its value to make more transactions on the same mandate.
Response in XML format using Order service
Response in XML format using Hpayment service
At this point, the transaction status is “Authentication requested”.
The merchant will redirect the customer to the HiPay payment page to complete the payment.
After completing the payment, the customer is redirected to the success page specified by the merchant in the initial payment request (or to the error page in case of failure).
The transaction status will change to “Authenticated”, then to “Authorization requested”. A few days later (approximately 10 bank working days), the transaction status will change from “Authorization requested” to “Authorized” and “Captured” if accepted by the issuer's bank.
Notification response in XML format
Initiating a transaction on an existing mandate
When a merchant wants to make a payment on an existing mandate, the bank account owner doesn’t need to be present.
To proceed, the merchant has to send the value of the aforementioned field “debit_agreement_id” to HiPay.
Specific required fields:
payment_product => sdd
eci => 9 //ECOMMERCE_RECURRING
debit_agreement_id => 574 //This is an example
recurring_payment => 1
Response
See below the received response. This time, the transaction status is set to “Authorization requested” directly, as a confirmation is not required to make another payment on an existing mandate.
Response in XML format
Debit agreement statuses
Creating a mandate without transaction
This is intended for merchants who want to create a debit agreement without any first payment for further recurring payments.
Endpoint:
Specific required fields:
payment_product => sdd
currency => eur
iban => DE23100000001234567890 //This is an example
issuer_bank_id => MARKDEF1100 //This is an example
bank_name => World bank //This is an example
gender => F //or M
firstname => firstname
lastname => lastname
authentication_indicator => 0
agreement_reference => 4465545 //This field is not mandatory. It is used to import an old mandate reference.
Response in XML format
0
At this point, the merchant can initiate an SDD transaction with the given debit agreement.