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 and
    Cybersource
    is 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 the
    settle_accepted
    status.
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 to
true
.
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

Light Dark
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> </>