Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
{
    "transaction" : { 
        "merchantId": "7699cab7-2dfa-4981-9c90-0d0c93c801ac ",	// Merchant UUID
        "amount": "10.00", 			    // Amount, containing cents 
        "currency": "EUR", 			    // ISO 4217 currency code 
        "country": "NL", 			    // ISO 3166-1 alpha-2 country code 
        "description": "TestPayment", 	            // Transaction description
        "accountHolderName" : "Test account holder" // Account holder name
    },
    "password": "MerchantTestPassword" // Merchant transactionAPI password, provided by Globadyme
}

...

  • transactionRecurrenceType. This will default to ONETIME if not present. For recurring payments, this field needs to be present and filled with FIRST. This will then be the first in a series of recurring payments, also serving as the mandate for future payments. Scheduling and execution of subsequent recurrences are handled by Globadyme according to parameters set in the next field.

  • recurrences. This is a list which upon initialization can contain only one elementrecurrence. Its sub elements are (all mandatory):

    • recurrenceStatus (must be ACTIVE)

    • startDate: the date at which the first recurrence is to take place. This is NOT the date where the initial transaction will take place, but when the first recurrence will take place.

    • recurrenceAmount: The amount to be paid on each recurrence. This amount does not have to be the same as the initial transaction amount.

    • recurrenceFrequency: The frequency at which recurrences should be executed. The frequency will come into play after the startDate. For example, when the startDate is 2023-08-01 and the recurrenceFrequence==MONTHLY, the first recurrence will be executed on 2023-08-01, the second on 2023-09-01, etc. Possible values:

      • DAILY

      • WEEKLY

      • MONTHLY

      • QUARTERLY

      • YEARLY

...

Code Block
{
    "transaction": {
        "merchantId": "7699cab7-2dfa-4981-9c90-0d0c93c801ac",
        "amount": "250.00",
        "country": "NL",
        "currency": "EUR",
        "description": "Test recurring transaction",
        "accountHolderName" : "Test account holder", // Account holder name
        "transactionRecurrenceType": "FIRST",
        "recurrencesrecurrence": [{
                "recurrenceStatus": "ACTIVE",
                "startDate": "2023-08-31",
                "recurrenceAmount": "90.00",
                "recurrenceFrequency": "MONTHLY"
        }]
    }, 
    "password" : "MerchantTestPasswordMerchantApiPassword" 
}

The following fields are mandatory for SEPA payments:

...

Code Block
{
    "encryptedTransaction": "0f628205c22995c7eda38b96b336df05421b3464055fc756cb8a61ce2d052bf35f80a0d43fc6541152a58644b2952927b86e5333b4d0d94c8a30d5b3c17b3fd68af5246aa0e37b261375646d519c2539d4f6fd01254474ab66221835a9604ad27c7d8d3a31d601c3937e322b0d5c87482229e008ccd28dce88fd98cbfba4014a8c6a999698628ca08b8fc8988696cf08fac22c61a431c9d0384255b3e7ac3ffdc264446bb45ac5dbad38411a93ce2d3ae11f2a0b078e6dea72c662152d5e862e5e59e26ce32a4f51448c3bec26d8b211706cbc83e70fa87536ced4cacdb2f844b5651e3d6ce5aa7dbb57b556b1cafda0f2f9fd9742106d324a857e577dd47bf50031653f0554e0e3226b46783544734ed3c5136f03f6ce6ac9b39b126395671169c0342c7807e0332342d090b58890be9a872be5d7b23b6b8f0bd1d1ac600330700f247a2cb2b77e345549fe4d743b3c02ee116640e9cc338fb9023b21f19b69bc2515ed3bf498d003a7c495d2fb520b864e580242ef94a294db6f431015bf5c644e23f09e94718635eafccfbd7c946654d0ba9560fe7d57dec1b2209d713c3a6767a76ede2ff6d2b51b17d9d7073c078419599e6675815776b9285af5e661b80f6402bb2c85a9edadae2817bb50b9f069610e0376b16b88a2d1f9cef2820e5be7b2e7deb52d2ab85d10f5ca526cf7feb20408b74481ef7ec579af79092e4afdd66dbe63e906eadf316fc5a193f52af7db22532e793ba5c6e2e35e1a4dbf8e2a6c9aa65cfc8c4e8c8617a89d24dc93c2050cf2fcc5f2c24eff778c3a3ff83183eb4117a2ce55f0f09bf0282c3d328f423efb4c30cebcfaf9d25ebfbf55341d099561aac5a1bc1d9d33d40457f3b5cb55c5b53c0fc1dacc47e4f4ec5a64c282d27664375d0ed30986ebcb77532be586c14cdca31ffc9dfffbc5fa1d76d0de0524aff98db0040b58802371ac48632aec8a160ff023bbda12c36ca1d2b85dbde0513884f6f233c73c5dc32bb4216ffe9c5e93e12c0390a1b9ba1dbf81a9bb251c79903a09781fb1bfa5e821e5ab8af980e01ba2629fb957299517cab38ce42888f90d72e8cc8a96d70b96c42446e325c66734bd77e62ddc5c0d73e1551cd1dd5cdccea169fc21e23c5a2ba674de86ba4c8a573933b224bb538141e06d639b6cf0073894104315c4b0f581e191bda8ed5ed3ae2779db24c3a49837b02f2652bd317f3cb28040eb0885acd4edb1ac4240e56dfdbddd10fc2edf9946f11a819369f665de2753bab777583e113f7f8c847e34be6b0d3a6cf103f2d01cb90a583589b0d82b7aa3d6210d9673dca12166bf507d175dd15d2ef06699f9009ec2478ee73a49d3864ec5c9281068f77978594755ad84d347f892aa2099c91633e3cf328965f67e17470d39daa4b35ab13983ee6f0486f9372b7a79329595640f9ef6196b211c5f3ebb7f887d58cb69a6c20db44971832a936a4c0dbfeb37dfed7b6336adf1d3529f140306316a5eb12b9539edc16d3410800197ae196ef02e6150d47d1adc11a0c3d1f37d6ed5b3db19be19e557ad92da8286249536ed6116178ae0a08dedec6c7ce76f7d52c2eacb4a0c473d4387ad23784912a61d7948d8a9ecf5ff32e040ae889a6cd49884aeea545c12fb7752a2c05ddb7d42c4b23b59d2062d31a1235f8bb3b9b5426d484403b73a8a63be591292d80151ec2ad345072d153d6e0b11f6689b8472c4dad421e06502392bea0fbf66fb8d93613d20104ee8d8c2f7865a4a6021aa315e25657fd9aaedcd8429fae352542231bfafedfbdd83b8aad72ecfa40703b27306e4956eb6f96b7473fab254e6d8e705add9fa2910a2e673055dd716f0d9ccce060cf15e5022864565ec36bcec430f06ea70f8fe3eeafeb301517a9e4af367794803ea2d0efe8ddb7ab24a36d55d07c3b9e77a38599c6b03f84ceb830eb1fa1944f66efe9b24179c53e821692ec0e2ced394f8971ccdd294e9a9fb379e978fd0b06afc928dd7da8149060cadb0ebd38d936eb019745c00d1f0e7a4d6879eb7ce1e0734e1bab61eb733fb184e9fde20c140096f068605de0e5b3ea112e46d0cee8f84b159884d4169f3b702f12bf832ea415db0abf68a72917b3ad0e0c7c17d788f3547e896add17f442307dd64aa05135bf1d206635e5d76052fac843aca69abe1a1efb4a9d0829b11d4968e6337a3a90d21c2488cdeb0b9ce97901b1b49ddec9bc2bf41a3b76c68b380d8bc2a08bad08aad8e3a8f68",
    "requestId": "852f0c72-0024-4070-9ac7-563eeb4755f6",
    "paymentMethod": "IDEAL",
    "bank": "ING"
}

...

  • encryptedTransaction: The encrypted transaction as received in the return url in step 2.

  • requestId: The request ID as received in step 2.

  • paymentMethod: The payment method as chosen by the consumer. Case insensitive. Valid payment methods:

    • IDEAL: In case of an IDEAL payment, the ‘bank’ element must be specified. Valid bank values:

      • NN

      • ING

      • ABNAMRO

      • KNAB

      • ASN

      • RABO

      • BUNQ

      • REGIOBANK

      • REVOLUT

      • SNS

      • TRIODOS

      • VANLANSCHOT

      • YOURSAFE

      • N26

    • PAYPAL

    • KLARNA

    • CREDITCARD

    • EPS

    • PAYPAL

    • KLARNA

    • CREDITCARD

    • EPS

    • GIROPAY

    • SOFORT

    • PAYCONIQ

    • SEPA

    • BANCONTACT

...

Code Block
{
    "id": "055ff314-6399-4350-8b8b-c9cd1e22a065",
    "amount": 10.00,
    "status": {
        "displayName": "Processed successfully",
        "name": "PROCESSED"
    },
    "paymentMethod": "IDEAL",
    "currency": "EUR",
    "country": "NL",
    "description": "TestPayment",
    "feeCalculation": {
        "sellPercentage": 0.00,
        "sellCents": 15
    },
    "timestamp": "2024-01-20T13:05:51.948873470Z",
    "requestId": "852f0c72-0024-4070-9ac7-563eeb4755f6"
}

...

,
    "settled": true,
    "settlementDate": "2024-01-28T06:00:00.572957294Z",
    "settlementId": "1-912-W-2024-3-C0"
}

Step 5: Optional - Request payment status

...

Code Block
{
    "password": "apiPassword", // Merchant transactionapi password, provided by Globadyme
    "merchantId": "7699cab7-2dfa-4981-9c90-0d0c93c801ac", // Merchant UUID
    "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4"
}

...

Code Block
{
    "message": "PaymentByRequestId",
    "details": {
        "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
        "transactions": [
            {
                "id": "f791c1e4-39eb-4bd1-8201-0460d560fef1",
                "created": "2024-01-15T17:21:26.550656Z",
                "status": "PROCESSED",
                "amount": 10.0,
                "currency": "EUR",
                "country": "NL",
                "paymentMethod": "iDEAL",
                "accountholderName": "Oebele de Rekeninghouder",
                "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
            }
        ]
    }
}

Note: The response object contains a ‘transactions’ list because it is possible that one request has produced more than one transaction. For example: an end user has initiated a payment using payment method A and decided not to complete the payment. After pressing ‘back’, the end user initiated a new payment using payment method B.  In this case, there can be more than one transaction with the same requestId:

Code Block
{
    "message": "PaymentByRequestId",
    "details": {
        "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
        "transactions": [
            {
                "id": "c018be0a-a633-40c8-805a-a2dfd6090af8",
                "created": "2024-01-30T22:20:25.822136Z",
                "status": "PENDING",
                "amount": 10.0,
                "currency": "EUR",
                "country": "NL",
                "paymentMethod": "Creditcard",
                "accountholderName": "Oebele de Rekeninghouder",
                "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4"
            },
            {
                "id": "b88e446c-6889-4cc1-958e-10a4ed951ace",
                "created": "2024-01-30T22:20:32.424212Z",
                "status": "PROCESSED",
                "amount": 10.0,
                "currency": "EUR",
                "country": "NL",
                "paymentMethod": "iDEAL",
                "accountholderName": "Oebele de Rekeninghouder",
                "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4"
            }
        ]
    }
}

...

                "settled": true,
                "settlementDate": "2024-01-28T06:00:00.572957294Z",
                "settlementId": "1-912-W-2024-3-C0"
            }
        ]
    }
}

Note: The response object contains a ‘transactions’ list because it is possible that one request has produced more than one transaction. For example: an end user has initiated a payment using payment method A and decided not to complete the payment. After pressing ‘back’, the end user initiated a new payment using payment method B.  In this case, there can be more than one transaction with the same requestId:

Code Block
{
    "message": "PaymentByRequestId",
    "details": {
        "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
        "transactions": [
            {
                "id": "c018be0a-a633-40c8-805a-a2dfd6090af8",
                "created": "2024-01-30T22:20:25.822136Z",
                "status": "PENDING",
                "amount": 10.0,
                "currency": "EUR",
                "country": "NL",
                "paymentMethod": "Creditcard",
                "accountholderName": "Oebele de Rekeninghouder",
                "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
                "settled": true,
                "settlementDate": "2024-01-28T06:00:00.572957294Z",
                "settlementId": "1-912-W-2024-3-C0"
            },
            {
                "id": "b88e446c-6889-4cc1-958e-10a4ed951ace",
                "created": "2024-01-30T22:20:32.424212Z",
                "status": "PROCESSED",
                "amount": 10.0,
                "currency": "EUR",
                "country": "NL",
                "paymentMethod": "iDEAL",
                "accountholderName": "Oebele de Rekeninghouder",
                "requestId": "3bdf2480-4ae6-44a1-bce0-3710d89cbfc4",
                "settled": true,
                "settlementDate": "2024-01-28T06:00:00.572957294Z",
                "settlementId": "1-912-W-2024-3-C0"
            }
        ]
    }
}

In this case one can check if there is any transaction with a “PROCESSED” status to confirm that a successful payment has been made.

Changing recurrences

After creating a recurrence, it may be desirable to change properties of this recurrence.
In order to do so, one can send a changeRecurrence request.

Note: this request requires you send a bearer token in the Authorization header.
Note2: the existing recurrence will end effective immediately.

Url: https://sandbox,globadyme.com/api/globadymeGateway/recurrence/changeRecurring

Example:

Code Block
{
    "recurrenceFrequency" : "YEARLY",
    "recurrenceAmount" : 44,
    "startDate": "2101-01-01",
    "transactionId": "891ea6b3-0fbb-4a93-8e03-80f0967ee704",
    "description": "newer recurrence description",
    "id": 1
}

Mandatory fields:

  • recurrenceFrequency: The new frequency at which executions should take place. Note: This frequency will start after the startDate parameter. Possible values:

    • YEARLY

    • QUARTERLY

    • MONTHLY

    • WEEKLY

    • DAILY

  • recurrenceAmount: The amount to be transferred at each execution.

  • startDate: The date at which the new recurrence should take effect.

  • transactionId: The ID of the original transaction on which the original authorization was given.

  • description: The description for the new recurrence.

  • id: The ID of the recurrence to be replaced by the new recurrence.

Example response:

Code Block
{
    "message": "recurrence",
    "details": {
        "id": 2
    }
}

The response will contain the id of the new recurrence.

Stopping recurrences

This endpoints facilitates the stopping of a recurrence. Note: this request requires you send a bearer token in the Authorization header.

Url: https://sandbox.globadyme.com/api/globadymeGateway/recurrence/stopRecurring

Example:

Code Block
{
    "id": 1
}

Mandatory fields:

  • id: The ID of the recurrence to be stopped.

Example response:

Code Block
{
    "message": "recurrence",
    "details": {
        "id": 1
    }
}