IBM Support

How to refund order amount to a different payment method other than settlement payment method?

Question & Answer


Question

How to refund order amount to a different payment method other than settlement payment method?

Answer

For a brief configuration set up :

One can have different payment types, but for the current discussion assume there are two payment types.

A and B such that A is a credit card and B can be Credit Card, Voucher, Gift Card or Coupon. Both of these payment types are configured to have "Refund to Same Payment Method."

Order Life Cycle:

1)Order is created, scheduled, released, and shipped.

2)Shipment Invoices are created and are settled using the payment method A.

3)ProcessOrderPayments API run is complete and the Order is now paid.

Assume now that customer receives the order, but the delivered item is damaged due to which order has to be returned.

4)A return order is created after looking over permissible return days for the item.

5)Return is received at node and Sales Order is now Return Received.

6)Create a return invoice which will start the refund process with a charge entry of RETURN.

7)When requestCollection is running, it inserts a new charge record of CHARGE with the refunded amount as negative request amount.

Payment Key will point to payment type A.

8)Let's assume that authorization fails for that amount as expiration date has surpassed the current date of authorization, or the shell amount is less then the request amount. Here, shell amount will be the amount which can be authorized and charges refunded into it for any credit card.

Hence the charge record will go to ERROR status and a hold will be added to the order which prevents further payment processing.

9)Now a business may allow refunding to the customer once customer adds a new payment type.

10) Add the payment type B using changeOrder.

11)Now authorization and charging has to done externally as payment methods in order failed. Sterling does support external authorization and charging.

To enable the feature one needs to use recordExternalCharges API where for the charge type CHARGE, you need to pass the ProcessedAmount attribute which will be the amount to be refunded.

A new charge record of CHARGE in CHECKED status is recorded into the charge transactions of the order.

12)requestCollection will pick the above record and mark it to CHECKED status and make the order payment status as PAID.

These orders can now be purged once it crosses the retention days without modification.

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Mapping and Translation","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

HTG2887

Document Information

Modified date:
16 June 2018

UID

swg21563055