Draft order payment processing

Payment processing can be enabled for draft orders by setting the Enable Payment Processing for Draft flag at the hub level. This allows processing of payments on draft orders before the draft orders are confirmed.

Additionally, the charge transaction table and the payment status are populated when draft orders are created. This flag is on by default. Draft order payment processing includes the following features:

  • The processOrderPayment API accepts and persists new payment methods
  • Displays error messages for failed authorizations
  • Modifies failed payment methods
  • Ignores charges on draft orders
  • Perform payment processing based on charge sequences
  • Consolidates charge transactions

The processOrderPayment API accepts and persists new payment methods

The processOrderPayment API is enhanced to accept and persist new payment methods on orders. This allows uncharged and unauthorized payment methods to be modified and deleted on the order.

Displays error messages for failed authorizations

Error messages are returned in the processOrderPayments API output XML and stored in the YFS_PMNT_TRANS_ERROR table. To retrieve error messages after payment processing is completed, invoke the getOrderDetails API.

Modifies failed payment methods

If a payment method on a draft order fails to authorize, the payment method can be deleted or modified. In this case, the order payment status must be Failed and the charge transaction status must be in error. To modify the payment method, change any of the attributes of the payment method, except payment key and payment type.

Ignores charges on draft orders

When enabled, the Ignore Charge On Draft flag is used to ignore charge requests when calculating the request amount on a draft order. For example, if a draft order totaling $100 has a credit card authorization of $20 and check (charge request) for $20, the getOrderDetails API returns a request amount of $80. The Ignore Charge On Draft flag is turned off by default and configured at the hub level. The Enable Draft Order Processing flag must be set to On before you configure the Ignore Charges On Draft flag.

Performs payment processing based on charge sequences

In the processOrderPayment API, the charge sequence for each payment method determines the order in which authorizations and charges are processed on draft orders. By default, payment methods have equal charge sequences, and are thus processed in random order.

Consolidate charge transactions

A charge transaction record is created each time an order is modified. For this reason, many charge transaction records may exist for an order. The confirmDraftOrder API consolidates all charge transaction records for an order into a single record.