Initiate a SEPA Direct Debit transaction
Prerequisites
- Debtor's account status: any except
ClosingorClosed - Merchant profile status:
Enabled - Payment method status:
Enabled - Direct debit payment mandate status:
Enabled - [B2B only] Debtor's account type:
Company
Guide​
- Confirm you have a project access token or, if you're an account member, a user access token with
CanManageAccountMembershippermissions. - Call the
initiateSepaDirectDebitMerchantPaymentmutation. - Add an
idempotencyKeyto prevent duplicate payments (line 4). Refer to the idempotency guide for more information. - Choose
mandateIdand add the payment mandate ID (line 5) from the declare a payment mandate guide. - Include the amount
valueandcurrency(line 6). - Recommended: include your merchant's name in the
labelfield (line 7). - Add validations and rejections that are helpful for you, as well as optional information such as a
referencefor your internal use.
Mutation​
Dates
Dates for this mutation use ISO 8601 convention: YYYY-MM-DDTHH:mm:ssZ.
If the date is left empty, the transaction will be executed as soon as possible. If the date indicated is a non-business day, the transaction will be executed on the next business day.
mutation InitiateSdd {
initiateSepaDirectDebitMerchantPayment(
input: {
idempotencyKey: "$YOUR_IDEMPOTENCY_KEY"
mandateId: "$YOUR_MANDATE_ID"
amount: { value: "75", currency: "EUR" }
label: "Your Merchant's Name"
requestedExecutionAt: "2024-04-12T16:28:22.867Z"
}
) {
... on ForbiddenRejection {
__typename
message
}
... on NotFoundRejection {
id
message
}
... on InternalErrorRejection {
__typename
message
}
... on ValidationRejection {
__typename
message
}
... on IdempotencyConflictRejection {
__typename
message
}
... on InitiateSepaDirectDebitMerchantPaymentSuccessPayload {
__typename
merchantPayment {
id
}
}
}
}
Payload​
Note the merchantPayment id (line 6) for your SEPA Direct Debit payment.
{
"data": {
"initiateSepaDirectDebitMerchantPayment": {
"__typename": "InitiateSepaDirectDebitMerchantPaymentSuccessPayload",
"merchantPayment": {
"id": "$YOUR_MERCHANT_PAYMENT_ID"
}
}
}
}
Next steps​
- An incoming SEPA Direct Debit (
SepaDirectDebitIn) is created in the merchant's account with the statusUpcoming. - On the settlement date, the transaction status changes automatically to
Bookedand rolling reserve begins. - After the indicated rolling reserve period, the merchant receives the payment.