Is there a simple way to handle returned or partially returned orders in Craft Commerce? I'm building a site for a shop that has to deal with a lot of returned orders (woman's dresses).

A very common situation would be: - A customer orders a product in 3 different sizes - The customer returns 2 of those sizes and keeps the correct size

What would be a good way to handle this in Craft Commerce?

Since all the items in the shop have a limited stock it's a lot of manual work to go to every individual single item and change the stock quantity for every returned item. Is the possible to re-add the returns items to the stock in an easier way?

Is it possible to partially refund and order?

Also, the total revenue overview on the dashboard displays the total amount of all orders and doesn't keep track of refunded items. Can this be changed?

2 Answers 2


For Commerce 1, you may use the Refund plugin with Stripe and Authorize.net.



Commerce 2 now supports partial refunds for payment gateways that support partial refunds.

Partial refunds on Commerce is definitely on our radar... it's the 8th most requested feature here: https://github.com/craftcms/commerce/issues

Unfortunately, it's pretty impractical right now in Commerce 1 with our reliance on the Omnipay ibrary for all of our payment gateways. They support the "lowest common denominator" and since many of the gateways they support don't support partial refunds, they don't support it at all.

The upcoming Commerce 2 makes Onmipay an optional requirement... meaning that it's much easier to write a plugin for an arbitrary gateway and add support for the ones that support partial refunds. For example, the 1st party Commerce 2 Stripe plugin implements it and can be used as an example for other payment gateway plugis.

None of that doesn't help you now, though. You can always do a partial refund directly with the gateway if they support it (Stripe, Sagepay, etc.), but the downside is that won't sync back to Commerce 1 so order totals/inventory/etc. won't be updated on our end.

If the payment gateway has callback hooks for that type of thing, you can write a plugin that helps alleviate some of these issues, but none of it is a really clean solution.

  • thanks for your reply! Is there a release date set for Commerce 2? would love to get started with this.
    – tomlaan
    Feb 14, 2018 at 10:22
  • We should have a public beta out in the next few weeks.
    – Brad Bell
    Feb 15, 2018 at 17:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.