Returns and refunds
Refunds are repayment of funds from merchant to the customer and are processed after the entire order is invoiced.
- 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.
- Line1 - $100, Pickup
- Line 2 - $250, Shipping
- $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
- 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.
- While processing returns, if you can search for the original sales order in Sterling™ Order Management System, such orders are called
- 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.