Implement robust order capture
If robust order capture is enabled on your Oracle CX Commerce instance, orders are placed in the PENDING_PAYMENT
state prior to
initiating payment. This ensures that orders are captured, and problems can be resolved, if
there is an error during the payment or order submission process.
The robust order capture feature is enabled by default for new customers and disabled by default for customers upgrading from earlier versions. You can enable or disable the feature using the Setup tab in the Payment Processing settings in the administration interface. This tab has a Payment Options drop-down with two options:
- Allow Partial Payment/Early Persist -- Commerce saves the orders in the
PENDING_PAYMENT
state at the start of checkout. - Full Payment Required -- Commerce saves the order only after the shopper has successfully provided full payment.
If robust order capture is enabled, you must ensure that your order history
and checkout widgets can handle the PENDING_PAYMENT
state, and that
your storefront allows the shopper to see order issues and take corrective action. For
example, the storefront could enable the shopper to see order status, update payment
information, and resubmit an order that has not been successfully submitted.
Use robust order capture
When a shopper submits an order, it is placed in the
PENDING_PAYMENT
state. If a payment fails but Commerce does not receive an error, the order remains in this state. During the Price Hold
period, the shopper can change the payment method or retry the payment, but cannot
make other changes to the order or delete the order. A record of the order is
visible in the Agent Console, so an agent can also attempt to resolve the issue. At
the end of the Price Hold period, if the order is still in the
PENDING_PAYMENT
state, it is marked for cancellation.
For example, the order processing might proceed as follows:
- A shopper begins the checkout process using a web checkout system.
- The shopper enters payment information and submits the order. The payment is authorized.
- An issue occurs that results in payment not being sent to the merchant (for example, the response from the payment provider is not received by the client).
- The order remains in the
PENDING_PAYMENT
state, and the shopper does not receive an order confirmation. - The shopper can see the order in the
PENDING_PAYMENT
state and resubmit the order with payment. The merchant can also see the order and take steps to resolve the issue.