Create mandate
POST https://{domainname}/v1/{merchantId}/mandates
Mandates
The mandates REST services allow you to manage mandates, used in SEPA Direct Debit payments.
Request
Creates a mandate to be used in a SEPA Direct Debit payment.
Create mandate supports idempotent requests
PayloadCreateMandateRequest
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
alias | string | no | read close |
close
DescriptionAn alias for the mandate. This can be used to visually represent the mandate.
Do not include any unobfuscated sensitive data in the alias. Default value if not provided is the obfuscated IBAN of the customer. |
|||
object | no | read close | |
close
DescriptionCustomer object containing customer specific inputs
|
|||
object | depends | read close | |
accountHolderName | string (30) | depends | read close |
close
DescriptionName in which the account is held.
|
|||
iban | string (50) | depends | read close |
close
DescriptionThe IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
|
|||
companyName | string (40) | no | read close |
close
DescriptionName of company, as a customer
|
|||
object | no | read close | |
close
DescriptionObject containing contact details like email address and phone number
|
|||
emailAddress | string (70) | no | read close |
close
DescriptionEmail address of the customer
|
|||
object | depends | read close | |
city | string (40) | depends | read close |
close
DescriptionCity
|
|||
countryCode | string (2) | depends | read close |
close
DescriptionISO 3166-1 alpha-2 country code
|
|||
houseNumber | string (15) | no | read close |
close
DescriptionHouse number
|
|||
street | string (50) | depends | read close |
close
DescriptionStreetname
|
|||
zip | string (10) | depends | read close |
close
DescriptionZip code
|
|||
object | depends | read close | |
close
DescriptionObject containing personal information of the customer
|
|||
object | depends | read close | |
close
DescriptionObject containing the name details of the customer
|
|||
firstName | string (15) | depends | read close |
close
DescriptionGiven name(s) or first name(s) of the customer
|
|||
surname | string (70) | depends | read close |
close
DescriptionSurname(s) or last name(s) of the customer
|
|||
title | enum | depends | read close |
close
DescriptionObject containing the title of the customer (Mr, Miss or Mrs)
|
|||
customerReference | string (35) | yes | read close |
close
DescriptionThe unique identifier of a customer
|
|||
language | string | no | read close |
close
DescriptionThe language code of the customer, one of de, en, es, fr, it, nl, si, sk, sv.
|
|||
recurrenceType | enum | yes | read close |
close
DescriptionSpecifies whether the mandate is for one-off or recurring payments. Possible values are:
|
|||
returnUrl | string | depends | read close |
close
DescriptionReturn url to use if the mandate signing requires redirection.
|
|||
signatureType | enum | yes | read close |
close
DescriptionSpecifies whether the mandate is unsigned or singed by SMS. Possible values are:
|
|||
uniqueMandateReference | string | no | read close |
close
DescriptionThe unique identifier of the mandate
|
Request example
SDK: Python
This scenario you will probably use the most
-
bank_account_iban = BankAccountIban() bank_account_iban.iban = 'DE46720200700359736690' contact_details = MandateContactDetails() contact_details.email_address = 'wile.e.coyote@acmelabs.com' mandate_address = MandateAddress() mandate_address.city = 'Monumentenvallei' mandate_address.country_code = 'NL' mandate_address.street = 'Woestijnweg' mandate_address.zip = '1337XD' name = MandatePersonalName() name.first_name = 'Wile' name.surname = 'Coyote' personal_information = MandatePersonalInformation() personal_information.name = name personal_information.title = 'Miss' customer = MandateCustomer() customer.bank_account_iban = bank_account_iban customer.company_name = 'Acme labs' customer.contact_details = contact_details customer.mandate_address = mandate_address customer.personal_information = personal_information body = CreateMandateRequest() body.customer = customer body.customer_reference = 'idonthaveareference' body.language = 'nl' body.recurrence_type = 'UNIQUE' body.signature_type = 'UNSIGNED' response = client.v1().merchant('merchantId').mandates().create(body)
Responses
Please find below an overview of the possible responses.
Response 201 - CreatedCreateMandateResponse
The create mandate request succeeded. Data on the resulting mandate can be found in the response.
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
object | no | read close | |
alias | string | no | read close |
close
DescriptionAn alias for the mandate. This can be used to visually represent the mandate.
Do not include any unobfuscated sensitive data in the alias. Default value if not provided is the obfuscated IBAN of the customer. |
|||
object | no | read close | |
close
DescriptionCustomer object containing customer specific inputs
|
|||
object | depends | read close | |
accountHolderName | string (30) | depends | read close |
close
DescriptionName in which the account is held.
|
|||
iban | string (50) | depends | read close |
close
DescriptionThe IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
|
|||
companyName | string (40) | no | read close |
close
DescriptionName of company, as a customer
|
|||
object | no | read close | |
close
DescriptionObject containing contact details like email address and phone number
|
|||
emailAddress | string (70) | no | read close |
close
DescriptionEmail address of the customer
|
|||
object | depends | read close | |
city | string (40) | depends | read close |
close
DescriptionCity
|
|||
countryCode | string (2) | depends | read close |
close
DescriptionISO 3166-1 alpha-2 country code
|
|||
houseNumber | string (15) | no | read close |
close
DescriptionHouse number
|
|||
street | string (50) | depends | read close |
close
DescriptionStreetname
|
|||
zip | string (10) | depends | read close |
close
DescriptionZip code
|
|||
object | depends | read close | |
close
DescriptionObject containing personal information of the customer
|
|||
object | depends | read close | |
close
DescriptionObject containing the name details of the customer
|
|||
firstName | string (15) | depends | read close |
close
DescriptionGiven name(s) or first name(s) of the customer
|
|||
surname | string (70) | depends | read close |
close
DescriptionSurname(s) or last name(s) of the customer
|
|||
title | enum | depends | read close |
close
DescriptionObject containing the title of the customer (Mr, Miss or Mrs)
|
|||
customerReference | string (35) | yes | read close |
close
DescriptionThe unique identifier of the customer to which this mandate is applicable
|
|||
recurrenceType | enum | yes | read close |
close
DescriptionSpecifieds whether the mandate is for one-off or recurring payments.
|
|||
status | enum | no | read close |
close
DescriptionThe status of the mandate. Possible values are:
|
|||
uniqueMandateReference | string | no | read close |
close
DescriptionThe unique identifier of the mandate
|
|||
object | no | read close | |
close
DescriptionObject that contains the action, including the needed data, that you should perform next, showing the redirect to a third party to complete the payment or like showing instructions
|
|||
actionType | enum | no | read close |
close
DescriptionAction merchants needs to take in the online mandate process. Possible values are:
|
|||
object | no | read close | |
close
DescriptionObject containing all data needed to redirect the customer
|
|||
RETURNMAC | string | no | read close |
close
DescriptionA Message Authentication Code (MAC) is used to authenticate the redirection back to merchant after the payment.
|
|||
redirectURL | string | no | read close |
close
DescriptionThe URL that the customer should be redirected to. Be sure to redirect using the GET method.
|
Response example
SDK: Python
This scenario you will probably use the most
-
{ "mandate" : { "customerReference" : "idonthaveareference", "customer" : { "bankAccountIban" : { "iban" : "DE46720200700359736690" }, "mandateAddress" : { "street" : "Woestijnweg", "city" : "Monumentenvallei", "zip" : "1337XD", "countryCode" : "NL" }, "companyName" : "Acme labs", "contactDetails" : { "emailAddress" : "wile.e.coyote@acmelabs.com" }, "personalInformation" : { "name" : { "firstName" : "Wile", "surname" : "Coyote" }, "title" : "Miss" } }, "recurrenceType" : "UNIQUE", "status" : "ACTIVE", "uniqueMandateReference" : "42268d8067df43e18a50a2ebf4bdb729" } }
Response 400 - Bad requestErrorResponse
Properties
|
|||
Property | Type | Required | Details |
---|---|---|---|
errorId | string | yes | read close |
close
DescriptionUnique reference, for debugging purposes, of this error response
|
|||
array of object | yes | read close | |
close
DescriptionList of one or more errors
|
|||
object | no | read close | |
category | string | no | read close |
close
DescriptionCategory the error belongs to. The category should give an indication of the type of error you are dealing with.
Possible values:
|
|||
code | string | yes | read close |
close
DescriptionError code
|
|||
httpStatusCode | integer | no | read close |
close
DescriptionHTTP status code for this error that can be used to determine the type of error
|
|||
id | string | no | read close |
close
DescriptionID of the error. This is a short human-readable message that briefly describes the error.
|
|||
message | string | no | read close |
close
DescriptionHuman-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
|
|||
propertyName | string | no | read close |
close
DescriptionReturned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query. Some common examples:
|
|||
requestId | string | no | read close |
close
DescriptionID of the request that can be used for debugging purposes
|
Response example
SDK: Python
This scenario you will probably use the most
-
{ "errorId" : "15eabcd5-30b3-479b-ae03-67bb351c07e6-00000092", "errors" : [ { "code" : "20000000", "propertyName" : "customer.billingAddress.street", "message" : "PARAMETER_NOT_FOUND_IN_REQUEST" } ] }