
SEPA Direct Debit
Integration
We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:
Find a high level overview in the "Process flows" chapter.
This payment method allows you to address various business cases. Depending on the integration mode and the business case, differences apply. Have a look at this matrix to know exactly what is most suitable for you:
I want my customers to fill in the mandate.... |
|||
---|---|---|---|
On our platform | In my webshop | ||
I will process the first transaction.... | Right after the mandate creation | CreateHostedCheckout with mandate creation |
CreatePayment with mandate creation |
Later | CreateHostedCheckout with mandate creation for a 0-amount transaction + Create payment |
Create mandate + Create payment |
Hosted Checkout Page with mandate creation
Add the following properties to a standard CreateHostedCheckout request:
{
"hostedCheckoutSpecificInput":{
"returnUrl":"https://yourReturnUrl.com",
"locale":"en_GB",
"paymentProductFilters":{
"restrictTo":{
"products":[
771
]
}
}
},
"order":{
"amountOfMoney":{
"amount":1000,
"currencyCode":"EUR"
}
},
"sepaDirectDebitPaymentMethodSpecificInput":{
"paymentProduct771SpecificInput":{
"mandate":{
"customerReference":"CustomerRef_{{TIMESTAMP}}",
"recurrenceType":"RECURRING",
"signatureType":"SMS"
}
}
}
}
Properties | Remarks |
---|---|
hostedCheckoutSpecificInput paymentProductFilters.restrictTo. |
returnURL: The URL we redirect your customers to after the payment has been finalised locale: The language version of our Hosted Checkout Page, including the SEPA mandate form |
order.amountOfMoney amount currencyCode |
Amount: The gross amount you want to charge for this order. If you want to create the mandate first and process the transaction later, set the value to "0" |
sepaDirectDebitPaymentMethodSpecificInput.paymentProduct771SpecificInput.mandate customerReference |
customerReference: A unique reference for your customer recurrenceType: The mandate's validity. Possible values:
signatureType: The mode for signing the mandate. Possible values:
|
Server-to-server with mandate creation
Add the following properties to a standard CreatePayment request:
{
"order": {
"amountOfMoney": {
"amount": 123,
"currencyCode": "EUR"
}
},
"sepaDirectDebitPaymentMethodSpecificInput": {
"paymentProduct771SpecificInput": {
"mandate": {
"returnUrl": "https://yourReturnUrl.com",
"customer": {
"bankAccountIban": {
"iban": "BE45000253450589"
},
"companyName": "yourCompanyName",
"contactDetails": {
"emailAddress": "customer@domain.com"
},
"mandateAddress": {
"city": "Paris",
"countryCode": "FR",
"street": "27 rue des fleurs",
"zip": "75008"
},
"personalInformation": {
"name": {
"firstName": "john",
"surname": "doe"
},
}
},
"customerReference": "0efaa98944324234b9ad27f9355a1093",
"language": "en",
"recurrenceType": "RECURRING",
"signatureType": "SMS"
}
},
"paymentProductId": 771
}
}
Properties | Remarks |
---|---|
order.amountOfMoney amount currencyCode |
Amount: The gross amount you want to charge for this order |
sepaDirectDebitPaymentMethodSpecificInput.paymentProduct771SpecificInput.mandate customerReference |
returnURL: The URL we redirect your customers to after the payment has been finalised customer: All required information for creating the mandate customerReference: A unique reference for your customer language: The language version of the SEPA mandate form recurrenceType: The mandate's validity. Possible values:
signatureType: The mode for signing the mandate. Possible values:
paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter |
Server-to-server with existing mandate
Add the following properties to a standard CreatePayment request:
{
"order": {
"amountOfMoney": {
"amount": 200,
"currencyCode": "EUR"
}
},
"sepaDirectDebitPaymentMethodSpecificInput": {
"paymentProduct771SpecificInput": {
"existingUniqueMandateReference": "mandateRef_existingReference"
},
"paymentProductId": 771
}
}
Properties | Remarks |
---|---|
order.amountOfMoney amount currencyCode |
Amount: The gross amount you want to charge for this order |
sepaDirectDebitPaymentMethodSpecificInput.paymentProduct771SpecificInput.existingUniqueMandateReference |
The reference of the mandate your customer signed during the creation of the first transaction |
paymentProductId |
The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter |
Create mandate
Our CreateMandateAPI allows you to create a mandate for later use, thus separating it from the transaction request linked to this mandate. Consequentially, you can use this mandate in subsequent Server-to-server with existing mandate requests.
Add the following properties to a standard CreateMandate request:
{
"customer":{
"bankAccountIban":{
"iban":"BE45000253450589"
},
"mandateAddress":{
"city":"Monument Valley",
"countryCode":"US",
"houseNumber":"13",
"street":"Desertroad",
"zip":"84536"
},
"personalInformation":{
"name":{
"firstName":"Jane",
"surname":"Doe"
},
}
},
"customerReference":"uniqueCustomerReference123456789012",
"language":"en",
"recurrenceType":"UNIQUE",
"returnUrl":"https://yourReturnUrl.com",
"signatureType":"SMS"
}
Properties | Remarks |
---|---|
customer bankAccountIban.iban mandateAddress |
All required information for the mandate |
customerReference |
customerReference: A unique reference for your customer language: The language version of the SEPA mandate form signatureType: The mode for signing the mandate. Possible values:
returnUrl: The URL we redirect your customers to after the payment has been finalised recurrenceType: The mandate's validity. Possible values:
|