Skip to main content

Initiate a SEPA Direct Debit transaction

Prerequisites
  • Debtor's account status: any except Closing or Closed
  • Merchant profile status: Enabled
  • Payment method status: Enabled
  • Direct debit payment mandate status: Enabled
  • [B2B only] Debtor's account type: Company

Guide​

  1. Confirm you have a project access token or, if you're an account member, a user access token with CanManageAccountMembership permissions.
  2. Call the initiateSepaDirectDebitMerchantPayment mutation.
  3. Add an idempotencyKey to prevent duplicate payments (line 4). Refer to the idempotency guide for more information.
  4. Choose mandateId and add the payment mandate ID (line 5) from the declare a payment mandate guide.
  5. Include the amount value and currency (line 6).
  6. Recommended: include your merchant's name in the label field (line 7).
  7. Add validations and rejections that are helpful for you, as well as optional information such as a reference for 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.

Open in API Explorer
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​

  1. An incoming SEPA Direct Debit (SepaDirectDebitIn) is created in the merchant's account with the status Upcoming.
  2. On the settlement date, the transaction status changes automatically to Booked and rolling reserve begins.
  3. After the indicated rolling reserve period, the merchant receives the payment.