Hi,

Is it possible that in the user/%/orders view to allow a link to cancel an order (provided permissions are set), and perhaps with a rule to state that cancellations are only possible up to a certain order status such as if it's not yet shipped? Based on that, to then fire some kind of payment refund hook, if the merchant supports that.

This would be handy, when buying from the internet myself I personally don't like systems where I can't cancel an order online without requiring human interaction.

Although it's not required to process cancellations online, it'd make it far easier for a company using commerce to comply with UK distance selling regulations buy just allowing users to cancel their own stuff.

Comments

rszrama’s picture

Version: 7.x-1.2 » 7.x-1.x-dev
Component: User experience » Contributed modules
Status: Active » Postponed

I think it's a fine idea, and in fact i haven't ever really considered it. I think ultimately you're looking at needing some form and additional Rules event / hook to allow sites to configure the interaction. I'm not sure it rises to the level of a core feature, mainly because it's likely for such a feature that no two stores that require this feature would handle things the same. This is the same reason why we don't offer any Rules out of the box to actually "complete" an order after checkout.

As far as I'm concerned, it would make a very fine contributed module, perhaps called Commerce Customer Order Cancellation (commerce_customer_cancel or something). (Marking this postponed until someone picks this up... if it's something you think you'd want to do, feel free to link to a sandbox or project and mark this fixed.)

itamair’s picture

Actually I am too assessing some good way to handle orders cancellation and refunds procedures in Drupal Commerce.
It seems any DC module has yet been developed to face this case, probably because it is true what Ryan say that it is quite difficult to standardize a procedure that might heavily depend on specific store procedures and personalizations.
Nevertheless, the Rights for Refunds is something that concretely affects any eCommerce store and is a mandatory right in the European Union area (for what I know): the client can claim is money back within 15 days from the transaction/order (although I think this cannot apply to digital products).

Thus some guidelines, or best practice procedure, should be mentioned or/and drafted … in Drupal Commerce package.
It is quite clear that the process might not (or even shouldn't) be handled in an automatic way, but some functional support to the store administrator should be implemented. At lest would be (as a first step) useful the implementation of a further order status like "refunded" (transaction done and rolled back), besides of "canceled" that means some less.
The order refunding would probably affect also the Commerce Invoice functionalities …

I hope some step will be made on this side somehow, some when …

liupascal’s picture

It would be great to also consider partial cancellation (line item status maybe ? This would also required to set how should be calculated the order total, taking into account the canceled line item or not etc...)

My 2 cents

yautja_cetanu’s picture

http://drupal.org/project/commerce_reverse_payments - This gets some of the way it seems. It specifically says its not for refunds.

We're going to need commerce to handle this level of complexity:

- User Books for an event that costs £116 - They owe the company £116
- At the same time they pay £15 deposit and so they owe £101
- The deadline for early bird tickets is past and so an extra £10 is added to their debt
- They pay the original full amount of £101 and so owe the extra £10
- They are refunded the £10 because the late payment was due to the website being down. So their balance is £0 (though no actual cash is transferred to their account)
- They cancel the whole event booking and want a full refund. They recieve £101 back in their account (so don't receive the deposit).

This is for migrating a client that has had to do this before. I'm trying to figure out how to do a lot of this stuff (I'm feeling rules but there needs to be some kind of workflow to allow this. Is a "Balance" something that can be stored in commerce, the reverse payments suggests it is).

But anyway it seems like a "Cancelled Line item" is the way to go?
We're a Drupal dev shop and so are happy to contribute modules or patches to get this working in a "Commerce way" but do you have any guidance with which direction would fit best with commerce?

kartagis’s picture

Issue summary: View changes
Status: Postponed » Active

So, any word about this? I'm in need of the same feature.

rszrama’s picture

Status: Active » Postponed

No updates that I know of; still awaiting a contrib to take it on.

sridharan’s picture

Assigned: Unassigned » sridharan
Priority: Normal » Major
Status: Postponed » Active
SkyBuzz’s picture

Any progress on this??. I also got a same requirement now.

Vibhuti Choubey’s picture

Hey! Can anyone please clear if there is any REST api in drupal commerce for creating the shipment/cancellation/return of an order item?

If not, then is there any other way by which we can relay the shipments/cancellation/returns to drupal from a 3rd party?

bojanz’s picture

Status: Active » Closed (won't fix)

Commerce 7.x-1.x is closed for large feature additions. Developers can implement order cancellation in a contrib module (if one doesn't exist already).