Synchronized payment reversal
Synchronized payment reversal solves the intermittent problems that can occur when online payment gateways permit only one payment capture per payment authorization, but your site offers multiple shipments for orders.
For example, if you authorize $20, and then you capture $10 against this payment authorization, the payment authorization becomes unavailable, and the remaining $10 is automatically released.
Consider the following scenario in which the payment gateway only permits a single capture per authorization:
- A customer adds two items to the shopping cart, item A with a price of $20, and item B with a price of $30. The customer selects different shipping addresses for these two items.
- The customer selects a credit card as the payment method, and submits the order. A payment authorization for $50 is submitted against this credit card.
- The Store administrator wants to support the behavior capturing payment by shipment. When item A is shipped, a payment capture worth $20 is performed. At this time, a payment capture for $20 occurs against the payment authorization performed during order submission, for $50. This payment capture is successfully performed by the payment gateway. The remaining $30 is automatically released by the payment gateway.
- When item B is shipped, a payment authorization and capture worth $30 is performed by creating a new payment
In order to support this scenario, in step 3 WebSphere Commerce must synchronize the local
payment data with the payment gateway when the payment gateway automatically releases the remaining
$30. This behavior is configured using the locallyPartialReverseApproval flag. If this flag is
configured as true, then in step 3, WebSphere Commerce locally reverses the remaining $30. Then
in step 4, a new payment with $30 will be created for payment authorization and payment capture for
the second shipment.
Note: You can configure this behavior so that the second payment approval is
performed immediately after the synchronized payment reversal occurs in step 3 if you
prefer.