Cancel Payments When Plans Change
Sometimes payments need to be stopped — a customer changes their mind, duplicate payment detected, or wrong beneficiary details. Inventi handles the cancellation protocol with the beneficiary bank on your behalf.What happens when you cancel a payment:
- You submit a cancellation request via API
- Inventi sends a camt.056 message through CSM
- The beneficiary bank accepts or rejects the request
- You receive the outcome via webhook
Cancellation is a request, not a guarantee. The beneficiary bank may accept or reject based on whether funds have been credited.
API Reference
Cancel Transaction
Initiate a cancellation request
Cancellation Status Webhook
Track cancellation lifecycle
Get Cancellation Request
Retrieve cancellation details
List Cancellation Requests
Search cancellation requests
How It Works
Request Flow
Request Flow
- You submit a cancellation request via API
- The platform creates a cancellation record and returns a
cancellationId - A camt.056 message is sent to the beneficiary bank
- You receive webhook updates as the request progresses
Possible Outcomes
Possible Outcomes
The beneficiary bank can:
- Accept: Funds are returned, original transaction is cancelled
- Reject: Original transaction proceeds normally
- Refuse: Request cannot be processed
Initiate Cancellation
Cancellation Statuses
- In Progress
- Final States
| Status | Description |
|---|---|
CANCELLATION_CREATED | Request initiated |
CANCELLATION_IN_PROGRESS | Sent to beneficiary bank |
Track Both States
Cancellation and transaction states are independent. Monitor both via webhooks.Cancellation Accepted
Cancellation:
ACCEPTED → COMPLETEDTransaction: CancelledFunds returned to youCancellation Rejected
Cancellation:
REJECTED → COMPLETEDTransaction: CompletedPayment settles normallyData Model
Original transaction reference
Cancellation request identifier
Track separately from transaction status
Append-only for audit
Integration Checklist
Handle cancellation webhooks
Upsert by
cancellationId to track cancellation state separately from transaction stateLink cancellation to transaction
Maintain the relationship between
trx_id and cancellationId in your databaseDisplay states separately
Show cancellation progress independently from transaction status in your UI
What’s Next?
You now understand exception handling for outbound payments. Complete your integration with inbound exceptions and reconciliation:Respond to Cancellations
Handle incoming cancellation requests
Return Inbound Payments
Return funds when you can’t credit the beneficiary
Track and Reconcile
Monitor transactions and reconcile with statements