Skip to main content

reverse Method

Overview

The reverse method cancels a captured payment before funds have settled. Unlike voids, reverses apply to captured payments that haven't completed bank settlement.

Business Use Case: When an error is discovered immediately after capture, such as incorrect amount or duplicate transaction. Recover funds before settlement.

Purpose

ScenarioBenefit
Same-day cancellationRecover funds before settlement
Processing errorUndo incorrect capture
Duplicate transactionReverse double charge

Request Fields

FieldTypeRequiredDescription
merchant_reverse_idstrYesYour unique reverse operation ID
connector_transaction_idstrYesThe connector's transaction ID
cancellation_reasonstrNoReason for reversing

Response Fields

FieldTypeDescription
merchant_reverse_idstrYour reference (echoed back)
connector_transaction_idstrConnector's transaction ID
statusPaymentStatusVOIDED, REVERSED
status_codeintHTTP status code

Example

SDK Setup

from orchestratorx_prism import PaymentClient

payment_client = PaymentClient(
connector='stripe',
api_key='YOUR_API_KEY',
environment='SANDBOX'
)

Request

request = {
"merchant_reverse_id": "reverse_001",
"connector_transaction_id": "pi_3Oxxx...",
"cancellation_reason": "Duplicate charge detected"
}

response = await payment_client.reverse(request)

Response

{
"merchant_reverse_id": "reverse_001",
"connector_transaction_id": "pi_3Oxxx...",
"status": "VOIDED",
"status_code": 200
}

Next Steps

  • capture - Capture a payment
  • void - Cancel before capture
  • refund - Return funds after settlement