Update to incoming direct debit payment lifecycle
Starting from December 8, 2025, a new status and related transitions will be added to the lifecycle of incoming direct debit payments.
Until now, an incoming direct debit payment is transitioned from received to rejected when rejected before settlement. In some rare instances, it can happen that a rejection is itself rejected by the sponsor bank (e.g. due to missed cut-off or incorrect message format). When that happens, the payment is transitioned from rejected back to received. The related incoming_payment.received event could be misinterpreted as a new incoming payment.
To better manage this flow, we are introducing:
- A new
pending_rejectionintermediary status - Two new
incoming_payment.pending_rejectionandincoming_payment.rejection_deniedevents
The pending_rejection status indicates that the rejection process has started. From pending_rejection, the payment can:
- Transition to
rejectedand trigger anincoming_payment.rejection_deniedevent - Transition to
receivedand trigger anincoming_payment.receivedevent
From December 8, 2025, the lifecycle of incoming direct debit payments will be as follows:
sequenceDiagram
autonumber
participant Customer
participant Mambu Payments
participant Bank as Partner bank / CSM
note over Customer, Bank: Prerequisite: incoming direct debit payment in received status
Customer ->> Mambu Payments: POST /incoming_payments/{id}/rejection
Mambu Payments ->> Mambu Payments: Switch payment status to <br/>pending_rejection
Mambu Payments -->> Customer: incoming_payments:pending_rejection event
Mambu Payments ->> Bank: Send payment rejection<br/>e.g. pacs.002 RJCT
alt Partner bank / CSM accepts
Bank ->> Mambu Payments: Payment rejection accepted<br/>e.g. pacs.002 ACCP
Mambu Payments ->> Mambu Payments: Switch payment status to <br/>rejected
Mambu Payments -->> Customer: incoming_payments:rejected
else Partner bank / CSM rejects
Bank ->> Mambu Payments: Payment rejection denied<br/>e.g. pacs.002 RJCT
Mambu Payments ->> Mambu Payments: Switch payment status to <br/>received
Mambu Payments -->> Customer: incoming_payments:rejection_denied
end