Initiate a SEPA Direct Debit transaction
Prerequisites
- Debtor's account status: any except
Closing
orClosed
- 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
CanManageAccountMembership
permissions. - Call the
initiateMerchantPaymentCollection
mutation. - Include the amount
value
andcurrency
. - Choose
sepaDirectDebit
(line 5), and add the payment mandate ID (line 6) from the declare a payment mandate guide. - Recommended: include your merchant's name in the
label
field (line 9). - 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 the mutation in API Explorer
mutation InitiateSdd {
initiateMerchantPaymentCollection(
input: {
amount: { value: "75", currency: "EUR" }
sepaDirectDebit: {
mandateId: "$YOUR_MANDATE_ID"
requestedExecutionAt: "2024-04-12T16:28:22.867Z"
}
label: "Your Merchant's Name"
}
) {
... on InitiateMerchantPaymentCollectionSuccessPayload {
__typename
merchantPaymentCollection {
statusInfo {
status
... on PaymentRejected {
__typename
status
reason
}
... on PaymentInitiated {
__typename
status
}
... on PaymentConsentPending {
__typename
status
}
}
}
}
... on ValidationRejection {
__typename
message
fields {
path
message
code
}
}
... on InternalErrorRejection {
__typename
message
}
... on NotFoundRejection {
id
message
}
... on ForbiddenRejection {
__typename
message
}
}
}
Payload​
Note the id
(line 10) for your Internal Direct Debit payment.
{
"data": {
"initiateMerchantPaymentCollection": {
"__typename": "InitiateMerchantPaymentCollectionSuccessPayload",
"merchantPaymentCollection": {
"statusInfo": {
"status": "Initiated",
"__typename": "PaymentInitiated"
},
"id": "$YOUR_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
Booked
and rolling reserve begins. - After the indicated rolling reserve period, the merchant receives the payment.