question

dipen avatar image
dipen asked ·

Validation for refund amount on returning an Item.

Why there is no validation on refund amount while returning an item? When we try to return an item it asks to choose a payment to process refund against but it has no validation on the amount to refund and amount paid through selected payment. Below is the example :

  • Order value 100$ (LineItem 1 - 75$ and LineItem 2 - 15$)
  • Paid in two payments as 50$ and 50$ using split payment option
  • Now return LineItem 1 i.e one with 75$ against Payment 1 i.e. of 50$.
  • It allows you to perform such operations without any warnings, error and validations.

Is there any specific reason why this feature is implemented in such way?

In our case we have a custom tender app and I would like to know how to deal with this scenario. Is there any special expectation from custom tender app?

Refund
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Jeffrey Blattman avatar image
Jeffrey Blattman answered ·

It's a combination of us not having enough information to track such things and providing a simplified interface to merchants. You can imagine the complexity. You buy 10 items, and split the payment 5 ways. Now you return one item. Which payment paid for the item, or what percent of each of the 5 payments paid for item? You'd also need to record all that data so subsequent returns wouldn't allow a payment to be refunded greater that the fractional part of the order paid. Not saying it couldn't work, but it's not how it's implemented now.

As a custom tender I think the best you can do is treat it as it would be treated for any other tender type. You just apply the refund amount to the payment, blindly. That could mean that in your split case that payment 1 is refunded more than they paid.

Share
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Welcome to the
Clover Developer Community