Mandates
What are Mandates?
Mandates are containers for storing information needed to perform transactions which do NOT require consumer interaction. Mandates can be used for SEPA and for creditcards.
There are two types of Mandates:
- Transaction-based: A Mandate is created by performing an /createPayment which contains a Recurrence element. This is described in One-time or periodically recurring payment.
- Transactionless: A Mandate is created without reference to an ‘original transaction’.
Creating a Transactionless Mandate
Url: https://sandbox.globadyme.com/api/globadymeGateway/mandate/create
Authorization: JWT
Request example:
{
"agreed" : true,
"consumerEmail": "consumer@email.com",
"mandateSignatureDate": "2024-11-22T11:11:11.00Z",
"consumerBic": "test bic",
"consumerIban" : "NL02ABNA0123456789",
"consumerName": "test consumerName",
"consumerAddress": "test consumerAddress",
"paymentMethod": "SEPA",
"country": "NL"
}
Properties for request:
| Name | Description | Type | M/O/C |
|---|---|---|---|
| agreed | Whether or not the consumer agreed to the creation of this Mandate | boolean | Mandatory |
| consumerEmail | Consumer’s emailaddress | String | Mandatory |
| mandateSignatureDate | Timestamp reflecting when the consumer agreed to the Mandate. Formatted conforming to ISO-8601 using Date and Time in UTC. | String | Mandatory |
| consumerBic | Consumer’s BIC. | String | Optional |
| consumerIban | Consumer’s IBAN | String | Mandatory |
| consumerName | Consumer’s full name | String | Mandatory |
| consumerAddress | Consumer’s address | String | Mandatory |
| paymentMethod | Payment method to be used for this Mandate. Can be SEPA or CREDITCARD | String | Mandatory |
| country | Country where the Consumer lives. | String | Mandatory |
Response example:
{
"message": "mandate",
"details": {
"mandateCreated": {
"merchantId": "a323f135-28b3-f0a1-3b12-2e00000000",
"mandateReference": "eede9564ba194ff1a26d78e5751567ab",
"mandateCreated": "2025-01-08T13:50:10.432141756Z",
"agreed": true,
"agreementTimestamp": "2024-11-22T11:11:11Z",
"consumerName": "test consumerName",
"consumerEmail": "consumer@email.com",
"consumerBic": "test bic",
"consumerIban": "NL02ABNA0123456789",
"consumerAddress": "test consumerAddress",
"mandateType": "Transactionless",
"paymentMethod": "SEPA",
"country": "NL"
}
}
}
The only fields present in the response which were not part of the request are:
| Name | Description | Type |
|---|---|---|
| merchantId | Merchant’s merchantId | String |
| mandateReference | The reference to be used for this Mandate. This is the one you’ll want to store | String |
| mandateCreated | Timestamp when this Mandate was created | String |
Using a Mandate
Mandates can be used to perform single transactions or create Recurrences.
Performing a single Transaction
Performing a Transaction using a Mandate requires an additional parameter in the /initiatePayment request.
Example:
{
"encryptedTransaction": "0f628643a49a71cecb16d1a6040081a615f0a1dc0d47827bebb66a0ba97d30d4edc7144a849395d78f3d3509e834e99c5cf777aef35eac1d3b173c32af76606bab3d4053db4ddb8318be6437b13f723a85676defc1eddfaea5b81f3e6c656402f89a66a40ed4d75321679c70db9ac3eeaa87078473aa4f6c1b619f5414613a7f7c4b8c79edb7ed43207b4ed46f501537c546b0382d0b199d30c6c2f6fb83c534f47c1f8313ecfce678fc6e22d855c1441c46a10b4cb24ee23947c8199d1307058d04489838e082989ba031800f2fcfcd1f8eb2e3f3563dfc3095eb0df35571c57665b1e94b630a9adbc8f9be5eef683399322d7c74856033bab4f6b5c9dff70592faa9abf55aad48e536e82a277085bc63ff15e6d7bd9ca86b116c3b03b80212de2a742aa009a57c25a2ded5b59df2f0df7466ffa8ca2a17e3521d1a89ee6e05671ab12e8df9bfe76d5ef43113428d0250ea4bce34b017579882f38260f6b7d0758f8ce7f82d101a180c36f334ab38b7112d",
"paymentMethod": "SEPA",
"mandateReference": "b2dd86c3bdc74a899baa82625748df11"
}
Creating a Recurrence
Creating a Recurrence using a Mandate uses the same Recurrence element as specified in One-time or periodically recurring payment, with the addition of a mandateReference. Also, the currency element is mandatory here.
Url: https://sandbox.globadyme.com/api/globadymeGateway/recurrence/createRecurring
Authorization: JWT
Request example:
{
"recurrenceFrequency" : "YEARLY",
"recurrenceAmount" : 51,
"currency" : "EUR",
"startDate": "2101-01-01",
"endDate": "2102-01-01",
"description": "Recurrence description",
"mandateReference": "6AN5A542"
}
Properties for request:
| Name | Description | Type | M/O/C |
|---|---|---|---|
| recurrenceFrequency | The frequency at which recurrences should be executed. Possible values:
|
String | Mandatory |
| recurrenceAmount | The amount to be paid on each recurrence. Can have a maximum of 2 decimals | float | Mandatory |
| currency | The currency of the recurrenceAmount. Should be in ISO 4217 three-letter code. | String | Mandatory |
| startDate | The date at which the first recurrence is to be executed. | Date | Mandatory |
| endDate | The date after which this recurrence can not be executed | Date | Optional |
| description | The description to be used for all executions of this recurrence. | String | Mandatory |
| mandateReference | Consumer’s full name | String | Mandatory |
| consumerAddress | Consumer’s address | String | Mandatory |
| paymentMethod | Payment method to be used for this Mandate. Can be SEPA or CREDITCARD | String | Mandatory |
| country | Country where the Consumer lives. | String | Mandatory |
Response example:
{
"message": "recurrence",
"details": {
"recurrence": {
"recurrenceFrequency": "YEARLY",
"recurrenceStatus": "ACTIVE",
"created": "2025-01-24T16:51:06.191969346Z",
"startDate": "2101-01-01",
"recurrenceAmount": 51,
"currency": "EUR",
"description": "newerererer recurrence description",
"id": 123,
"mandateReference": "5cc00a5f5d714a0ba902c6e58a268328",
"timesExecuted": 0,
"nextRunDate": "2101-01-01"
}
}
}
The only fields present in the response which were not part of the request are:
| Name | Description | Type |
|---|---|---|
| merchantId | Merchant’s merchantId | String |
| mandateReference | The reference to be used for this Mandate. This is the one you’ll want to store | String |
| mandateCreated | Timestamp when this Mandate was created | String |