Implement robust order capture
Oracle Commerce includes robust order capture tools to ensure that orders are persisted and problems can be resolved if there are errors during the payment or order submission process.

 This section applies to Open Storefront Framework (OSF) and Storefront Classic.
The tools available depend on the options specified in 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 -- When a shopper attempts to submit
                an order, Commerce saves it in the PENDING_PAYMENTstate before processing payments.
- Full Payment Required -- When a shopper attempts to submit an order,
                the order state is INCOMPLETEuntil all payments are authorized.
The Setup tab also includes a Price Hold Period field. If Allow Partial Payment/Early Persist is selected, the Price Hold Period setting specifies the amount of time the shopper is given to provide missing payment information before an order is cancelled. The order's prices will not change during this interval.
Use early persist
If the Allow Partial Payment/Early Persist option is selected, when a
                shopper submits an order, the order is initially 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 add payments to the order, but cannot make other changes 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 on the payment provider’s screen.
- An error occurs with the payment that prevents the order submission from completing successfully.
- The order remains in the PENDING_PAYMENTstate, and the shopper does not receive an order confirmation.
- The shopper can see the order in the
                        PENDING_PAYMENTstate and resubmit the order with payment. The merchant can also see the order and take steps to resolve the issue.
To support this option, 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 should enable the shopper to see order status, update
                payment information, and resubmit an order that has not been successfully submitted.
                On storefronts built using the Open Storefront Framework, the Allow Partial
                Payment/Early Persist option is recommended, and the included widgets are designed
                to handle these situations.
                  
On storefronts built using Storefront Classic, you will need to use the Split Payment widget and customize it and other widgets on your storefront to support these behaviors. See Enable Split Payments for more information.
Note that if an anonymous shopper has a partially paid order, the order must be completed before the session times out, because the shopper has no way to access the order when returning to the site later. However, if the Order Payment Initiated email is enabled, the shopper is sent an email with the order ID when the order is created, and can supply this ID to a customer service agent for completing the order.
Use full payment required
The Full Payment Required option should be used only on storefronts built using Storefront Classic. If this option is selected, and authorization for any payment method fails, an error is displayed, and any other authorizations that succeeded are voided. The shopper must re-enter all payments and resubmit the order.
However, if Commerce for some reason does not receive a response about an authorization, it cannot
                determine if there has been an error, and the order remains in the
                    INCOMPLETE state. If the shopper then tries to remove the items
                from the shopping cart, the shopper is prevented from removing the last item, and
                the order is saved in the FAILED state if the system is aware of
                the payment attempt. The order can be viewed on the Order History page of the
                storefront and in the Agent Console.