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.