Configure synchronized payment reversals
We can configure the payments subsystem to support payment captures associated with shipments. This helps avoid payment problems with orders for which there are multiple shipments and multiple payment transactions.
About this task
To synchronize the payment data with a payment gateway that automatically releases payment authorizations after a single capture:
Procedure
- Configure the SynchronizedLocalPaymentReversal attribute in the PluginDeployment.xml file. This file is in the workspace_dir\WC\xml\config\payments\ppc\plugins\Payment_Plug-in_Name directory. Refer to the following code sample, in which the new attribute is highlighted in bold:
<PluginInformation jndi="ejb/com/ibm/commerce/payments/plugin/simpleoffline/beans/SimpleOfflineHome" home="com.ibm.commerce.payments.plugin.simpleoffline.beans.SimpleOfflineHome" name="SimpleOffline" version="1.0.0" vendor="IBM" independentCredit="true" virtualTerminal="none" SynchronizedLocalPaymentReversal="true">
- Configure the CorePaymentActions.xml file. This file is in the workspace_dir\WC\xml\config\payments\edp\groups\ Your_Payment_Group\ Your_Payment_Configuration directory.
- To configure WebSphere Commerce to release the payment authorization for the remaining shipments, and to submit a new authorization and capture when the order is shipped, refer to the following code sample, in which the changed code is highlighted in bold:
<TargetDeposited> . . . <CurrentDNE> <Action name="Approve" amount="requested" target="additional"/> <Action name="Deposit" amount="requested" target="existing"/> </CurrentDNE> <CurrentApproved> . . . <AmountGreaterThanRequested> <Action name="ReverseApproval" amount="delta" target="existing"/> <Action name="Deposit" amount="requested" target="existing"/> </AmountGreaterThanRequested> . . . </CurrentApproved> . . . </TargetDeposited>
- To configure WebSphere Commerce to release the payment authorization for the remaining shipments and to immediately submit a new payment authorization, and process the payment capture when the order is shipped, refer to the following code sample, in which the changed code is highlighted in bold:
<TargetDeposited> . . . <CurrentDNE> <Action name="Approve" amount="requested" target="additional"/> <Action name="Deposit" amount="requested" target="existing"/> </CurrentDNE> <CurrentApproved> . . . <AmountGreaterThanRequested> <Action name="ReverseApproval" amount="delta" target="existing"/> <Action name="Deposit" amount="requested" target="existing"/> <Action name="Approve" amount="delta" target="new"/> </AmountGreaterThanRequested> . . . </CurrentApproved> . . . </TargetDeposited>
- 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 the site offers multiple shipments for orders.
Related reference
Payment plug-in specification