Sepa Direct Debit (SDD IN) V2.0

👍

A SDD IN is an SDD that debits the Xpollens account to credit an external account.

The mandate is owned by the external bank.

SDD IN notification

(AccountClosure_ClientInitiated_overview.png

Mandate details are available through the api:

🔗GET /api/v2.0/account/accountId/mandates/mandateId



Authorise mandat (B2B only)

In the case of B2B SDD, the mandate is created with the status Created.

To allow the debit, you have:

  • to notify your enduser, as soon as you receive the webhook MandateCreatedOrUpdated
  • to ensure the enduser authorises the mandat before the payment date of the first debit

Otherwise, this SDD IN will be rejected.


(AccountClosure_ClientInitiated_overview.png



SDD IN accepted

If the end user agrees to be debited via SDD IN, no action is needed except to ensure that their account balance will be sufficient on the payment date..

(AccountClosure_ClientInitiated_overview.png



SDD IN refused by the enduser before executionDate

If the enduser refuses to be debited, the mandate has to be blocked.

As soon as the mandate is blocked, all SDD IN are refused.
The mandate can be re-authorized at any time.

(AccountClosure_ClientInitiated_overview.png


State diagram for a external mandate (created in case of SDD IN)

SDD Core

stateDiagram
    [*] --> Authorized
    Authorized --> Blocked : when blocked
		Blocked --> Authorized: when re-authorized


SDD B2B


stateDiagram
    [*] --> Created
		Created --> Authorized: by API, before 1st SDD IN
    Authorized --> Blocked : when blocked
		Blocked --> Authorized: when re-authorized

SDD IN refund

In the SDD Core scheme, a refund is possible up to eight weeks after the settlement date without supplying any justification.

The prerequesite:

  • Operation must be an SDD IN CORE in Completed status.
  • Operation settlement date must not be more than 8 weeks old.

sequenceDiagram
Title: Create an SDD IN refund
autoNumber
Actor User
Participant Partner
Participant XPO
Participant Interbank_market 

Note over Partner, XPO : Refund creation
Partner ->> XPO : POST /sepa-direct-debits/{sepaDirectDebitId}/refund 
XPO -->> Partner: https 20X
XPO -->> Partner: Callback SepaDirectDebitCreatedOrUpdated <br/> {status: "Completed", isRTransaction: "true"}
Partner -->> User: notification

🔗POST /sepa-direct-debits/sepaDirectDebitId/refund:

400 - Bad Request

CaseerrorMessage
Operation <> SDD IN CORESDD Refunds can only be made on an SDD IN CORE transaction
OperationStatus <> SucceededSettled (Completed)Refunds are only possible on transactions with Completed status
8-weeks period exceededAuthorized refund period exceeded (56 days)
Authorisation KO (closed account)Refunds are not authorised on a closed account
SDD IN not related to the accountId.SDD IN not related to the accountId
Operation does not exist.Cannot find Original REC_SDD_IN Operation with SepaDirectDebitId dc6853be-639c-57d7-9342-da65f7d34e1e

"Payload": {
        "mandateId": "4ffaff9a-xxxx-xxxx-xxxx-bd8880b9ddbb",
        "initialSepaDirectDebitId": "abf328ac-xxxx-1111-xxxx-f4db2713fb29",
        "relatedSepaDirectDebitId": "abf328ac-xxxx-1111-xxxx-f4db2713fb29",
        "sepaDirectDebitCreationDate": "2025-09-04T13:47:04.850Z",
        "sepaDirectDebitId": "REFUND-abf328ac-xxxx-1111-xxxx-f4db2713fb29",
        "sepaDirectDebitType": "CORE",
        "sepaDirectDebitSequence": "RCUR",
        "accountId": "abcd",
        "userId": "abcd",
        "isRTransaction": true,
        "debtor": {
            "beneficiaryId": "823c441a-1111-2222-3333-bfe0eb8c837c",
            "iban": "FR7610207XXXXXXXXXX01257510",
            "bic": "CCBPFRPPMTG"
        },
        "creditor": {
            "beneficiaryId": null,
            "iban": "FR7616528XXXXXXXXXXXX681016",
            "bic": "SMOEFRP1"
        },
        "amount": {
            "value": "30.00",
            "currency": "EUR"
        },
        "description": "",
        "endToEndId": "0ada5123456789ee8b8679",
        "sepaRejectCode": "MD06",
        "sepaRejectReason": "RefundRequestByEndCustomer - Disputed authorised transaction",
        "expectedExecutionDate": "2025-09-04T13:47:04.850Z",
        "executedDate": "2025-09-04T15:00:06.225Z",
        "direction": "Credit",
        "status": "Completed",
        "type": "SepaDirectDebitCreatedOrUpdated"
    }



FAQ

FAQ 1 : How to simulate an SDD IN?

Ask your Customer Integration Manager to create one.


Did this page help you?