SEPA Direct Debit

Features
![]() |
AT, BE, CY, DE, EE, ES, FI, FR, GR, IE, IT, LT, LU, LV, MC, MT, NL, PT, SI, SK![]() |
![]() |
EUR![]() |
Protect Plus![]() |
Supported.![]() |
![]() |
Only Payouts are supported (permitted for up to 365 days).![]() |
![]() |
Payments may be subject to chargebacks.![]() |
Configuration

A test sandbox account will be provided, which you will need when testing your implementation.

Field name | Required by PPg | Required in POST | Description |
billingcountryiso2a | Yes | No | The country entered for the billing address, using ISO2A format. |
billingemail |
Yes | No | The billing email address. This can then be used for correspondence with the customer. Maximum length of 255 (maximum of 64 characters before the ”@” symbol). |
billingfirstname | Yes | No | The billing first name. |
billinglastname | Yes | No | The billing last name. |
iban |
Yes | No | The customer’s IBAN. |

Notifications
Once a payment has been authorised, funds will be settled at a later time, as determined by the customer’s bank.

In the unlikely event that payment is still pending settlement after 7 days (settlestatus “10”), this will be scheduled for investigation and we will contact you with further information.
Before you begin testing, we recommend that you contact our Support team and request that rules are enabled on your account, which submit URL notifications to your system in the following scenarios:
- When a payment is authorised.
- When funds have been settled.
Configuring the authorisation notification
We recommend including at least the following fields in your authorisation notification:
- Acquirer Response Message (acquirerresponsemessage)
- Base Amount (baseamount) (e.g. £10.50 is “1050”)*
- Main Amount (mainamount) (e.g. £10.50 is “10.50”)*
- Billing Country (billingcountryiso2a)
- Currency (currencyiso3a)
- Error Code (errorcode)
- Live Status (livestatus)
- Mandate Reference (mandatereference) – This is a unique identifier for the direct debit.
- Order Reference (orderreference)
- Payment Type (paymenttypedescription)
- Request Type (requesttypedescription)
- Settle Status (settlestatus)
- Site Reference (sitereference)
- Transaction Reference (transactionreference)
- Transaction Started Timestamp (transactionstartedtimestamp)
*Please choose your preferred format.
Configuring the settlement notification
We recommend including the following fields in your settlement notification:
- Settle Status (settlestatus)
- Site Reference (sitereference)
- Transaction Reference (transactionreference)
Check the notification
You will need to check the contents of each notification received and respond accordingly by following the processes outlined in the “URL notifications” section of our Action types page. In particular, you will need to look at the updated settlestatus value:
- On authorisation: If the settlestatus is “0”, “1” or “10”, the payment has been authorised and you are not required to take further action at this time. However, values of “2” or “3” indicate funds are not scheduled for settlement (suspended and cancelled, respectively).
- On settlement: If the settlestatus has been updated to “100”, this indicates that the funds have been settled. Alternatively, if this has been updated to “3”, this indicates there has been a problem and the payment was subsequently cancelled.

Testing
You will need to test your solution before you can begin processing live payments. Test transactions are processed through your test Site Reference.

You will need to contact our Support team, providing your test account details. We will then configure your test site reference to connect directly to an external testing environment.
When performing test transactions, your browser will be redirected to the testing environment to simulate a payment. Other than this, the process will be exactly the same as processing live payments.
Payouts
It is possible to perform SEPA Direct Debit Payouts using our API.
SofortSafetyPay