Returns and refunds

Refunds are repayment of funds from merchant to the customer and are processed after the entire order is invoiced.

Refunds are processed in some scenarios such as:
  • A negative charge is applied on an order post invoice - For example, promotion such as competitive price match is applied on the order.
  • Return orders - Customer wants to return an entire order or some items from an order.
  • Exchange orders - Customer wants to exchange an item that can result in decrease in the order total.
  • Cancellation of orders - Customer cancels the order or order line from a pre-charge order before the order fulfillment.

Link payment refund to settlement feature

When refunds are to be issued to customers, the payment service providers need settlement details against which the refunds are processed. When you enable the option to link payment refund to settlement IBM Sterling® Order Management System resolves the settlement details and provide the details as an input for the payment collection user exit.

For example, an order contains two lines:
  • Line1 - $100, Pickup
  • Line 2 - $250, Shipping
Payment details of the order:
  • $100 paid by using VISA ending 2356
  • $250 paid by using Mastercard ending 1287

If the customer returns Line2, merchant must refund $250. Details of the settlement for $250 are provided as an input in the YFSCollectionCreditCard UE input, and these details are sent to the payment provider.

For more information, see Returns payment processing and refund fulfillment.

Common scenarios for refunds

The most common scenarios when refunds are initiated:
  • Apply negative charge on an order that is invoiced. A negative charge can be applied on orders even after the orders are fulfilled in the following scenarios:
    • Merchant wants to apply a competitive price match or appeasement on an order.
    • Customer applies a discount coupon.
  • Return an entire order or part of an order.
    • While processing returns, if you can search for the original sales order in Sterling™ Order Management System, such orders are called Non-Blind returns. The refundable amount is transferred to the payment method of the customer based on the Refund configurations.
    • If the original sales order is not known, then such return orders are called Blind returns. You must implement a custom solution to process the refunds.
  • Exchanges of ordered items.

Refund sequence

When refunds are initiated, the amount that is calculated by Sterling Order Management System must be transferred back to the payment method of the customer. The payment method is determined by the refund sequence. For more information, see Refund sequence.

Considerations while processing refunds

  • Refunds that are initiated by systematic modifications - For example, a pre-charged order that has one of its lines that are canceled by a systematic process such as the monitor agent. In such scenarios, refund can be processed according to the refund sequence.
  • Refunds that are initiated by manual modifications - For example, a customer wants to add a price match discount on an order that is already invoiced. In this case, customer might be present in-store or on call with the CSR or a chat bot. Refund can be processed based on the customer preference such as gift card.

Overriding refund sequence

You can override the refund sequence by using the OMPConfirmRefundDistributionUE user exit.

The OMPConfirmRefundDistributionUE user exit is called to confirm the distribution of refunds to new and existing payment methods. Input to this user exit is based on what the system determines to be refunded and how it is refunded. Return what is determined by the system or by the custom logic.

The payment methods and their refund amounts are charged before consolidation is applied. Charge consolidation is applied after the user exit is started. If the RefundFulfillmentDetails element is returned for a refund payment method, the entire payment method requires return fulfillment through the specified item.

To code custom user exits, implement the method in this interface. The system calls the methods in your class. If this method gives any exception, the current transaction is rolled back.

For more information about the OMPConfirmRefundDistributionUE user exit, see Javadoc.