Create SEPA Mandate
POST/mandates
The endpoint supports creating mandates in two ways:
- Use a system generated mandate reference with optional pre-fix by submission of
referenceInstructions. - Use an own mandate reference by submitting
mandateReferenceattribute in create mandate request.
The following section will describe the procedure and results of creating a new mandate.
The mandate reference must be unique in the scope of a creditor reference, duplicate mandate references cannot be activated.
Each mandate requires data of the creditor for the mandate. Your Product Solution Specialist can help you to assess the correct setup for the creditor data. Mandate management solution supports both — the use of merchant specific creditor identification, passed via create mandate API or use of pre-configured creditor identification data, which would be returned in create mandate response.
The current release of mandate management solution supports SEPA mandates: mandateScheme = "SEPA_B2B" or "SEPA_CORE"
Request
Header Parameters
Must be application/json
Must be be en-US
The origin of the request
The client making the request
- application/json
- Body
- SEPA Core - Empty
- SEPA B2B - Empty
- SEPA Core - Partial
- SEPA B2B - Partial
- SEPA Core - Full
- SEPA B2B - Full
Bodyrequired
Specifies the SEPA scheme type to use for the mandate.
Possible values: [SEPA_B2B, SEPA_CORE]
Unique identifier for the mandate reference assigned by the creditor.
Possible values: <= 35 characters
referenceInstructions objectnullablerequired
Optional object containing creditor-provided instructions for mandate Reference.
Prefix string to be prepended to the generated mandate reference identifier.
Possible values: <= 10 characters
Name of the debtor (payer) authorizing the SEPA mandate.
Possible values: <= 70 characters
debtorAddress object
Object representing the full billing address of the debtor.
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
debtorBank object
Object representing bank account details of the debtor.
IBAN of the debtor's bank.
Bank name of the debtor.
BIC of the debtor's bank.
Legal name of the creditor collecting the SEPA payments.
Possible values: <= 70 characters
SEPA Creditor Identifier assigned by the national authority to the merchants.
Possible values: <= 35 characters
creditorAddress object
Object representing the full address details of the creditor.
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
account object
Object containing internal or external account references used by the system.
billingAddress object
Consumer's billing address data. See Address in Data model.
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
businessConsumer objectnullable
Company data, in case the consumer is a business or a legal entity. See businessConsumer in Data model.
Conditional. Can be present if consumer is missing from the request.
Name of the legal entity
Possible values: <= 100 characters
Company registration country ISO2 or ISO3 code
Possible values: >= 2 characters and <= 3 characters
Company registration number
Possible values: <= 50 characters
Possible values: <= 100 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g., en-de). This field is not case sensitive.
Possible values: <= 5 characters
en-ENCustomer email address for any notification
Possible values: <= 255 characters
Person's tax identification number
Possible values: <= 30 characters
consumer objectnullable
Consumer's personal data, in case the consumer is a physical person. See consumer in Data model.
Conditional. Can be present if businessConsumer is missing from the request.
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g., en-de). This field is not case sensitive.
Possible values: <= 5 characters
en-ENDate of birth. Format - YYYY-MM-DD. Mandatory for payment option registration flow. Minimum date allowed is 1900-01-01
Possible values: <= 10 characters, Value must match regular expression ^\d{4}-\d{2}-\d{2}$
1989-11-08Customer email address for any notification
Possible values: <= 255 characters
john.doe@gmail.comPerson first name
Possible values: <= 60 characters
JohnPerson gender
Possible values: <= 6 characters
MrPerson's home phone number (including the country code)
Possible values: <= 30 characters
496912345678Person last name
Possible values: <= 60 characters
DoeConsumer/Customer Account Id in the merchant system. When provided into the Create Checkout API, SmartPay will request e-wallet account creation which will have external account reference equals to the given merchantCustomerId value.
Possible values: <= 255 characters
abcd123The customer's middle name
Possible values: <= 60 characters
RobertPerson's mobile phone number (including the country code)
Possible values: <= 30 characters
496912345678Person's tax identification number
Possible values: <= 30 characters
123456789Person title
Possible values: <= 3 characters
MrPerson's work phone number (including the country code)
Possible values: <= 30 characters
496912345678Possible values: <= 125 characters
Possible values: <= 39 characters
additionalData object
Optional object for sending integration-specific or metadata-related fields.
Possible values: <= 100 characters
Possible values: <= 255 characters
Create new empty SEPA_CORE mandate
{
"mandateScheme": "SEPA_CORE // Request mandate with own mandate reference",
"mandateReference": "SEPA-CORE-UM34GFJTYUXNQVGP7SB7"
}
Create new empty SEPA_B2B mandate (own creditor info)
{
"mandateScheme": "SEPA_B2B",
"referenceInstructions": {
"mandatePrefix": ""
},
"creditorName": "ABC Corporation",
"creditorIdentifier": "DE123456789",
"creditorAddress": {
"addressLine1": "Leopoldstr.",
"number": "456",
"postCode": "80807",
"city": "Munich",
"countryCode": "DE"
}
}
This example describes how to create a new mandate filled with debtor data only.
{
"mandateScheme": "SEPA_CORE",
"mandateReference": "SEPA-CORE-UM34GFJTYUXNQVGP7SB7",
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
}
}
This example describes how to create a new mandate filled with debtor data only.
{
"mandateScheme": "SEPA_B2B",
"mandateReference": "SEPA-20230906-ABC123",
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
}
}
This example describes how to create a new fully filled mandate. This mandate has to have a client-issued mandateReference that needs to be unique for each client making the request.
{
"mandateScheme": "SEPA_CORE",
"referenceInstructions": {
"mandatePrefix": "TEST25"
},
"debtorName": "Pero T",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"account": {
"customerAccountId": "CUST-5AR-00002",
"billingAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"isBusinessUser": false,
"consumer": {
"emailAddress": "CUST-5AR-00002@abccorp.com",
"dateOfBirth": "2001-12-12",
"firstName": "Pero",
"lastName": "T",
"culture": "en_US",
"middleName": "Str",
"title": "T",
"gender": "male",
"mobilePhone": 12345678,
"homePhone": 12345678,
"workPhone": 12345678,
"taxId": "DE12345678"
}
},
"creditorName": "Creditor S.P.A.",
"creditorIdentifier": "IT123456789",
"creditorAddress": {
"number": "35",
"addressLine1": "Via Puglia",
"postCode": "10156",
"city": "Torino",
"countryCode": "IT"
},
"additionalData": [
{
"name": "jpmcoid",
"value": "12345"
}
]
}
This example describes how to create a new fully filled mandate. This mandate has to have a client-issued mandateReference that needs to be unique for each client making the request.
{
"mandateScheme": "SEPA_B2B",
"referenceInstructions": {
"mandatePrefix": "SEPA-20230906"
},
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"creditorName": "ABC Corporation",
"creditorIdentifier": "DE123456789",
"creditorAddress": {
"city": "Munich",
"countryCode": "DE",
"number": "456",
"addressLine1": "Leopoldstr.",
"postCode": "80807"
},
"account": {
"customerAccountId": "CUST-12345",
"billingAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"isBusinessUser": true,
"businessConsumer": {
"companyName": "ABC Corporation",
"companyType": "Limited Liability Company",
"emailAddress": "contact@abccorp.com",
"taxId": "DE987654321",
"culture": "en_US"
}
},
"additionalData": [
{
"name": "jpmcoid",
"value": "12345"
}
]
}
Responses
- 201
- 400
- 401
- 403
- 404
- 500
Mandate created successfully
- application/json
- Schema
- Example (auto)
- SEPA Core - Empty
- SEPA B2B - Empty
- SEPA Core - Partial
- SEPA B2B - Partial
- SEPA Core - Full
- SEPA B2B - Full
Schema
- Array [
- ]
Unique identifier of the mandate
Possible values: <= 36 characters
Object type identifier
Possible values: [MANDATE]
Timestamp of mandate creation in ISO 8601 format
Mandate status
Possible values: [CREATED]
SEPA mandate scheme type
Possible values: [SEPA_CORE, SEPA_B2B]
Mandate reference (shop-defined or system-generated)
Possible values: <= 70 characters
referenceInstructions objectnullable
Instructions for generating a mandate reference prefix
Prefix used for generating mandate references
Possible values: <= 50 characters
Full name of the debtor
Possible values: <= 140 characters
debtorAddress objectnullable
Street name and house number
Possible values: <= 70 characters
House number
Possible values: <= 10 characters
Postal code
Possible values: <= 20 characters
City
Possible values: <= 70 characters
Country code (ISO 3166-1 alpha-2)
Possible values: <= 2 characters
debtorBank objectnullable
IBAN of the debtor
Possible values: <= 34 characters
Name of the debtor's bank
Possible values: <= 70 characters
BIC of the debtor's bank
Possible values: <= 11 characters
Name of the creditor
Possible values: <= 140 characters
Creditor SEPA identifier
Possible values: <= 35 characters
creditorAddress objectrequired
Street name and house number
Possible values: <= 70 characters
House number
Possible values: <= 10 characters
Postal code
Possible values: <= 20 characters
City
Possible values: <= 70 characters
Country code (ISO 3166-1 alpha-2)
Possible values: <= 2 characters
account objectnullable
Customer account identifier
Possible values: <= 255 characters
billingAddress object
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
Flag indicating business user
businessConsumer objectnullable
Company name of business user
Possible values: <= 140 characters
Type of business entity
Possible values: <= 70 characters
Contact email
Possible values: <= 254 characters
Tax identifier
Possible values: <= 20 characters
Locale/culture info
Possible values: <= 10 characters
consumer objectnullable
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 50 characters
Possible values: <= 254 characters
Possible values: <= 10 characters
Possible values: <= 20 characters
additionalData object[]nullable
Metadata key
Metadata value
Mandate version tag
Possible values: <= 10 characters
Timestamp of this version creation
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"object": "MANDATE",
"createdAt": "2024-07-29T15:51:28.071Z",
"status": "CREATED",
"mandateScheme": "SEPA_CORE",
"mandateReference": "string",
"referenceInstructions": {
"mandatePrefix": "string"
},
"debtorName": "string",
"debtorAddress": {
"addressLine1": "string",
"number": "string",
"postCode": "string",
"city": "string",
"countryCode": "string"
},
"debtorBank": {
"iban": "string",
"bankName": "string",
"bic": "string"
},
"creditorName": "string",
"creditorIdentifier": "string",
"creditorAddress": {
"addressLine1": "string",
"number": "string",
"postCode": "string",
"city": "string",
"countryCode": "string"
},
"account": {
"customerAccountId": "string",
"billingAddress": {
"addressLine1": "Max-Planck-Straße",
"addressLine2": "string",
"addressLine3": "string",
"city": "Berlin",
"countryCode": "DEU",
"number": 30,
"postCode": 14473,
"state": "string"
},
"isBusinessUser": true,
"businessConsumer": {
"companyName": "string",
"companyType": "string",
"emailAddress": "string",
"taxId": "string",
"culture": "string"
},
"consumer": {
"firstName": "string",
"lastName": "string",
"middleName": "string",
"emailAddress": "string",
"dateOfBirth": "2024-07-29",
"gender": "string",
"mobilePhone": "string",
"homePhone": "string",
"workPhone": "string",
"title": "string",
"culture": "string",
"taxId": "string"
}
},
"additionalData": [
{
"name": "string",
"value": "string"
}
],
"versionTag": "string",
"versionCreatedAt": "2024-07-29T15:51:28.071Z"
}
SEPA Core - Empty Mandate Response
{
"id": "905cb1fe-04f4-45d1-8065-bb26a460ef1a",
"object": "MANDATE",
"createdAt": "2025-04-01T13:02:08.140Z",
"status": "CREATED",
"mandateScheme": "SEPA_CORE",
"mandateReference": "SEPA-CORE-UM34GFJTYUXNQVGP7SB7",
"creditorName": "MPS MUC",
"creditorIdentifier": "DE123456789",
"creditorAddress": {
"number": "1",
"addressLine1": "Leopoldstr.",
"postCode": "80807",
"city": "München",
"countryCode": "DE"
},
"additionalData": [
{
"name": "jpmcoid",
"value": "abcdefg"
}
],
"versionTag": "0001",
"versionCreatedAt": "2025-04-01T13:02:08.140Z"
}
SEPA B2B - Empty Mandate Response
{
"id": "md_ba22fd34-894c-4232-993a-c56a3e960e47",
"object": "MANDATE",
"createdAt": "2023-03-02T14:25:59.078Z",
"mandateScheme": "SEPA_B2B",
"mandateReference": "SEPA-20230906-ABC123",
"status": "CREATED",
"creditorName": "ABC Corporation",
"creditorIdentifier": "DE98ZZZ09999999999",
"creditorAddress": {
"city": "Munich",
"countryCode": "DE",
"number": "456",
"addressLine1": "Leopoldstr.",
"postCode": "80807"
}
}
SEPA Core - Partial Mandate Response
{
"id": "0c851ef7-56f7-4373-b6c6-eceee4f5eb5f",
"object": "MANDATE",
"createdAt": "2025-04-01T13:03:30.843Z",
"status": "CREATED",
"mandateScheme": "SEPA_CORE",
"mandateReference": "SEPA-20230906-ABC123",
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"creditorName": "MPS MUC",
"creditorIdentifier": "DE123456789",
"creditorAddress": {
"number": "1",
"addressLine1": "Leopoldstr.",
"postCode": "80807",
"city": "München",
"countryCode": "DE"
},
"additionalData": [
{
"name": "jpmcoid",
"value": "abcdefg"
}
],
"versionTag": "0001",
"versionCreatedAt": "2025-04-01T13:03:30.843Z"
}
SEPA B2B - Partial Mandate Response
{
"id": "md_7c1c304e-72bf-2b57-2570-148879f6da20",
"object": "MANDATE",
"createdAt": "2023-03-02T14:25:59.078Z",
"mandateScheme": "SEPA_B2B",
"mandateReference": "SEPA-20230906-ABC123",
"status": "CREATED",
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"creditorName": "ABC Corporation",
"creditorIdentifier": "DE98ZZZ09999999999",
"creditorAddress": {
"city": "Munich",
"countryCode": "DE",
"number": "456",
"addressLine1": "Leopoldstr.",
"postCode": "80807"
}
}
SEPA Core - Full Mandate Response
{
"id": "c3f1e61e-3643-4b5d-b338-4dac91036112",
"object": "MANDATE",
"createdAt": "2025-04-01T13:41:00.990Z",
"status": "CREATED",
"mandateScheme": "SEPA_CORE",
"referenceInstructions": {
"mandatePrefix": "TEST25"
},
"mandateReference": "TEST25-FPYVTW8JB8GU38DTDPPBVLB1WJH7",
"debtorName": "Pero T",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"account": {
"customerAccountId": "CUST-5AR-00002"
},
"creditorName": "Creditor S.P.A.",
"creditorIdentifier": "IT123456789",
"creditorAddress": {
"number": "35",
"addressLine1": "Via Puglia",
"postCode": "10156",
"city": "Torino",
"countryCode": "IT"
},
"additionalData": [
{
"name": "jpmcoid",
"value": "12345"
}
],
"versionTag": "0001",
"versionCreatedAt": "2025-04-01T13:41:00.990Z"
}
SEPA B2B - Full Mandate Response
{
"id": "md_7c1c304e-72bf-2b57-2570-148879f6da20",
"object": "MANDATE",
"createdAt": "2023-03-02T14:25:59.078Z",
"mandateScheme": "SEPA_B2B",
"mandateReference": "SEPA-20230906-ABC123",
"referenceInstructions": {
"mandatePrefix": "SEPA-20230906"
},
"status": "CREATED",
"debtorName": "John Doe",
"debtorAddress": {
"city": "Berlin",
"countryCode": "DE",
"number": "123",
"addressLine1": "Main Street",
"postCode": "12345"
},
"debtorBank": {
"iban": "DE89370400440532013000",
"bankName": "Example Bank",
"bic": "EXBKDE81XXX"
},
"account": {
"customerAccountId": "CUST-12345"
},
"creditorName": "ABC Corporation",
"creditorIdentifier": "DE98ZZZ09999999999",
"creditorAddress": {
"city": "Munich",
"countryCode": "DE",
"number": "456",
"addressLine1": "Leopoldstr.",
"postCode": "80807"
},
"additionalData": [
{
"name": "jpmcoid",
"value": "12345"
}
]
}
Bad Request
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Value out of bounds. Value must be between 1 and 100",
"code": "value_out_of_bounds",
"property": "someField",
"context": {
"minimum": 1,
"maximum": 100
}
}
]
}
Unauthenticated
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You are not authenticated to perform this request.",
"code": "unauthorized"
}
]
}
Forbidden
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You do not have permissions to perform this request.",
"code": "forbidden"
}
]
}
Not Found
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Resource not found.",
"code": "not_found"
}
]
}
Internal Server Error
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Internal server error."
}
]
}