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
mandateReference
attribute 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
required
Possible values: [SEPA_B2B
, SEPA_CORE
]
Specifies the SEPA scheme type to use for the mandate.
Possible values: <= 35 characters
Unique identifier for the mandate reference assigned by the creditor.
referenceInstructions
object
nullable
required
Optional object containing creditor-provided instructions for mandate Reference.
Possible values: <= 10 characters
Prefix string to be prepended to the generated mandate reference identifier.
Possible values: <= 70 characters
Name of the debtor (payer) authorizing the SEPA mandate.
debtorAddress
object
Object representing the full billing address of the debtor.
Possible values: <= 60 characters
Street name.
Possible values: <= 60 characters
Apartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 50 characters
The city or localitly of the address.
Possible values: >= 3 characters
and <= 3 characters
ISO-3 code of the address country (e.g., DEU for Germany).
Possible values: <= 10 characters
The house or building number corresponding to the street address.
Possible values: <= 10 characters
The postal or ZIP code of the address.
Possible values: <= 3 characters
3-letter code of the address state. Mandatory when countryCode
corresponds to Canada or USA.
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.
Possible values: <= 70 characters
Legal name of the creditor collecting the SEPA payments.
Possible values: <= 35 characters
SEPA Creditor Identifier assigned by the national authority to the merchants.
creditorAddress
object
Object representing the full address details of the creditor.
Possible values: <= 60 characters
Street name.
Possible values: <= 60 characters
Apartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 50 characters
The city or localitly of the address.
Possible values: >= 3 characters
and <= 3 characters
ISO-3 code of the address country (e.g., DEU for Germany).
Possible values: <= 10 characters
The house or building number corresponding to the street address.
Possible values: <= 10 characters
The postal or ZIP code of the address.
Possible values: <= 3 characters
3-letter code of the address state. Mandatory when countryCode
corresponds to Canada or USA.
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.
Possible values: <= 60 characters
Street name.
Possible values: <= 60 characters
Apartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 50 characters
The city or localitly of the address.
Possible values: >= 3 characters
and <= 3 characters
ISO-3 code of the address country (e.g., DEU for Germany).
Possible values: <= 10 characters
The house or building number corresponding to the street address.
Possible values: <= 10 characters
The postal or ZIP code of the address.
Possible values: <= 3 characters
3-letter code of the address state. Mandatory when countryCode
corresponds to Canada or USA.
businessConsumer
object
Company data, in case the consumer
is a business or a legal entity.
Mandatory, unless consumer
is provided.
consumer
and businessConsumer
objects may not be submitted together.
Possible values: <= 100 characters
Name of the legal entity
Possible values: >= 2 characters
and <= 3 characters
Company registration country ISO2 or ISO3 code
Possible values: <= 50 characters
Company registration number
Possible values: <= 100 characters
Possible values: <= 5 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: <= 255 characters
Customer email address for any notification
Possible values: <= 30 characters
Person's tax identification number
consumer
object
Consumer's personal data, in case the consumer
is a physical person.
Mandatory, unless businessConsumer
is provided.
consumer
and businessConsumer
objects may not be submitted together.
Possible values: <= 5 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: <= 10 characters
, Value must match regular expression ^\d{4}-\d{2}-\d{2}$
Date of birth. Format - YYYY-MM-DD. Mandatory for payment option registration flow. Minimum date allowed is 1900-01-01
Possible values: <= 255 characters
Customer email address for any notification
Possible values: <= 60 characters
Person first name
Possible values: <= 6 characters
Person gender
Possible values: <= 30 characters
Person's home phone number (including the country code)
Possible values: <= 60 characters
Person last name
Possible values: <= 255 characters
Consumer/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: <= 60 characters
The customer's middle name
Possible values: <= 30 characters
Person's mobile phone number (including the country code)
Possible values: <= 30 characters
Person's tax identification number
Possible values: <= 3 characters
Person title
Possible values: <= 30 characters
Person's work phone number (including the country code)
Possible 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
Responses
- 201
- 400
- 401
- 403
- 404
- 500
Mandate created successfully
- application/json
- Schema
- Example (from schema)
- SEPA Core - Empty
- SEPA B2B - Empty
- SEPA Core - Partial
- SEPA B2B - Partial
- SEPA Core - Full
- SEPA B2B - Full
Schema
Array [
]
Possible values: <= 36 characters
Unique identifier of the mandate
Possible values: [MANDATE
]
Object type identifier
Timestamp of mandate creation in ISO 8601 format
Possible values: [CREATED
]
Mandate status
Possible values: [SEPA_CORE
, SEPA_B2B
]
SEPA mandate scheme type
Possible values: <= 70 characters
Mandate reference (shop-defined or system-generated)
referenceInstructions
object
nullable
Instructions for generating a mandate reference prefix
Possible values: <= 50 characters
Prefix used for generating mandate references
Possible values: <= 140 characters
Full name of the debtor
debtorAddress
object
nullable
Possible values: <= 70 characters
Street name and house number
Possible values: <= 10 characters
House number
Possible values: <= 20 characters
Postal code
Possible values: <= 70 characters
City
Possible values: <= 2 characters
Country code (ISO 3166-1 alpha-2)
debtorBank
object
nullable
Possible values: <= 34 characters
IBAN of the debtor
Possible values: <= 70 characters
Name of the debtor's bank
Possible values: <= 11 characters
BIC of the debtor's bank
Possible values: <= 140 characters
Name of the creditor
Possible values: <= 35 characters
Creditor SEPA identifier
creditorAddress
object
required
Possible values: <= 70 characters
Street name and house number
Possible values: <= 10 characters
House number
Possible values: <= 20 characters
Postal code
Possible values: <= 70 characters
City
Possible values: <= 2 characters
Country code (ISO 3166-1 alpha-2)
account
object
nullable
Possible values: <= 255 characters
Customer account identifier
billingAddress
object
Possible values: <= 60 characters
Street name.
Possible values: <= 60 characters
Apartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 50 characters
The city or localitly of the address.
Possible values: >= 3 characters
and <= 3 characters
ISO-3 code of the address country (e.g., DEU for Germany).
Possible values: <= 10 characters
The house or building number corresponding to the street address.
Possible values: <= 10 characters
The postal or ZIP code of the address.
Possible values: <= 3 characters
3-letter code of the address state. Mandatory when countryCode
corresponds to Canada or USA.
Flag indicating business user
businessConsumer
object
nullable
Possible values: <= 140 characters
Company name of business user
Possible values: <= 70 characters
Type of business entity
Possible values: <= 254 characters
Contact email
Possible values: <= 20 characters
Tax identifier
Possible values: <= 10 characters
Locale/culture info
consumer
object
nullable
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
Possible values: <= 10 characters
Mandate version tag
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 (from schema)
- Example
Schema
- MOD1
- MOD2
Array [
]
errorDetails
object
message
object
oneOf
string
string
{
"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 (from schema)
- Example
Schema
- MOD1
- MOD2
Array [
]
errorDetails
object
message
object
oneOf
string
string
{
"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 (from schema)
- Example
Schema
- MOD1
- MOD2
Array [
]
errorDetails
object
message
object
oneOf
string
string
{
"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 (from schema)
- Example
Schema
- MOD1
- MOD2
Array [
]
errorDetails
object
message
object
oneOf
string
string
{
"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 (from schema)
- Example
Schema
- MOD1
- MOD2
Array [
]
errorDetails
object
message
object
oneOf
string
string
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Internal server error."
}
]
}