Skip to content

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:
  • DAILY
  • WEEKLY
  • MONTHLY
  • QUARTERLY
  • YEARLY
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