Reverse a Direct Debit
You can reverse a direct debit before it is processed by the customer’s bank. The direct
debit must be in the
settle_initiated
or
settle_accepted
status. To reverse a pending
direct debit, send a cancel direct debit request instead. See Cancel a Direct Debit.To reverse a direct debit after more than five days, or when the status is
settled
, send a refund request instead. See Refund a Direct Debit.Endpoints
Set the
apCancelService_run
field to
true
, and send the request to one of these
endpoints:Production:
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
Test:
https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor
Response Statuses
The reversal service responds with one of these statuses in the
apCancelReply_status
field:- Accepted: The cancellation request is being processed andCybersourceis trying to reverse the debit request with the inter-bank system.
- Failed: The original direct debit request is rejected by the customer's bank. A reversal is not necessary.
- Reversed: The direct debit was canceled during thesettle_acceptedstatus.
The reversal service also responds with a reason code in the
apCancelReply_reasonCode
field. For more information about reason
codes, see the Reason Codes for SEPA Direct Debits for the Simple Order API.Required Fields for Reversing a Direct Debit
- Set totrue.
- Set to the request ID from the sale response.
- Set to.STS
Optional Field for Reversing a Direct Debit
Simple Order Example: Reversing a Direct Debit
Request
12345678<="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantID>test-merchant</merchantID> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <apPaymentType>STS</apPaymentType> <apCancelService run="true"> <saleRequestID>5235449962346004801064</saleRequestID> </apCancelService> </>
Response to a Successful Request
1234567891011121314<:c="urn:schemas-cybersource-com:transaction-data-1.214"> <merchantReferenceCode>refnum-1234</merchantReferenceCode> <requestID>5235453358716005001064</requestID> <decision>ACCEPT</decision> <reasonCode>100</reasonCode> <apCancelReply> <reasonCode>100</reasonCode> <status>REVERSED</status> <processorResponse>00009</processorResponse> <paymentStatus>cancelled</paymentStatus> <responseCode>00009</responseCode> <reconciliationID>V1J11FUUWJNL</reconciliationID> </apCancelReply> </>