SEPA
A secure and globally accepted direct debit.
Make yourself familiar with our API Principles to ensure a resilient integration.
Product Overview
Why use SEPA
SEPA Direct Debit is an easy way to take bank payments from your customers, using an IBAN (International Bank Account Number).
The SEPA scheme is a set of rules that dictate how payments must be processed and settled in the SEPA (Single Euro Payment Area) region. As part of these rules, you must create an e-Mandate with your customer to consent to payments.
Feature summary
Payment type | Acceptance currency | Recurring | Reverse | Partial Reverse | Disputes |
---|---|---|---|---|---|
Bank Transfer | EUR (Euro) | ✅ |
|
| ✅ |
Acceptance countries
- Austria
- Belgium
- Bulgaria
- Croatia
- Cyprus
- Czech Republic
- Denmark
- Estonia
- Finland
- France
- Germany
- Greece
- Hungary
- Ireland
- Italy
- Latvia
- Liechtenstein
- Lithuania
- Luxembourg
- Malta
- Norway
- Poland
- Portugal
- Romania
- Slovakia
- Slovenia
- Sweden
- Switzerland
- Spain
- The Netherlands
- UK
e-Mandates
Each SEPA e-Mandate must have its own unique mandate identifier (mandateId
). A unique reference which identifies each e-Mandate signed by your customer.
The mandateId
must:
- contain no more than 35 characters
- conform to the SEPA character requirements
- be unique by creditor (in this case Worldpay), as per SEPA regulations
Format for mandate IDs:
Because all mandateIds
must be unique by creditor, you must use an e-Mandate prefix that we (as your creditor) assign as part of your mandateId
.
M-\<your merchant number assigned by worldpay\>-\<a unique reference assigned by you\>
Example:
M-123456789-A79ZH34KJZ
- Prefix
M
tells us that this is amandateId
created by you - unique 9-digit number assigned by us - you can retrieve this from your Implementation Manager
- Your reference, which must be specifically unique for each new e-Mandate: Only use letters, numbers, and hyphens
Your customer language codes
Language | Code |
---|---|
Dutch | nl |
English | en |
French | fr |
German | de |
Italian | it |
Spanish | es |
Get Started
Get started using our API Reference and set your headers.
Request
POST
https://try.access.worldpay.com/apmPayments
Example requests
- Try https://try.access.worldpay.com/apmPayments
- Live https://access.worldpay.com/apmPayments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
{ "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "method": "sepa", "value": { "amount": 250, "currency": "GBP" }, "narrative": { "line1": "MindPalace" }, "paymentInstrument": { "type": "direct", "iban": "DE36200400000628808808", "accountHolderName": "Shelock Holmes", "language": "en", "billingAddress": { "address1": "221B Baker Street", "postalCode": "NW1 6XE", "city": "London", "state": "Greater London", "countryCode": "GB" } }, "customerAgreement": { "mandate": { "type": "oneTime", "mandateId": "M-100229092-1727782857791" } }, "customer": { "email": "moriarty@example.com" } } }
Parameters
Used to route the request in Access Worldpay, created as part of on-boarding.
Object that contains the payment type and details.
The type of instrument.
The value of the payment.
The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.
The supported ISO 4217 currency codes.
The description shown on your customer's bank statement for the payment.
The type of instruction.
Indicates whether the transaction should be sent for settlement now = true
, or later = false
at a time of your choosing.
Response
Successful response
- an HTTP code
201
- an
id
which is unique to the payment - we recommend storing the "id" as this can be used to manage the payment later - a link to query the payment status
Example response
{ "paymentId": "uK9Oh5zz4yKhGuFofhhnC7KnABEsnvjTFefo7uUYYarwh_KRcHUrrs1qJtQso9gjnhxT5oAgkJfCp1iX6U1upLOpzqHmhG8uXdBKXQ0rnmce4brW4F54BCV6GtAu0zUbgUZHQIK3iu8VcHfOiFVHyN-y7ZDRr24t7o6s_bHlZxo9g_WHOCgZdL-FywMmqkQA", "lastEvent": "sentForAuthorisation", "_links": { "self": { "href": "https://preprod.access.worldpay.com/apmPayments/uK9Oh5zz4yKhGuFofhhnC7KnABEsnvjTFefo7uUYYarwh_KRcHUrrs1qJtQso9gjnhxT5oAgkJfCp1iX6U1upLOpzqHmhG8uXdBKXQ0rnmce4brW4F54BCV6GtAu0zUbgUZHQIK3iu8VcHfOiFVHyN-y7ZDRr24t7o6s_bHlZxo9g_WHOCgZdL-FywMmqkQA" } }, "_actions": {}, "redirect": "", "paymentInstrument": { "method": "sepa", "type": "direct" } }
Errors
Check out our API reference for the full error code schema.
Next Steps