Reassign subscriptions and recurring orders when an initial order is reassigned

Created on 17 April 2020, about 4 years ago
Updated 3 May 2024, about 2 months ago

This module does not currently respond to the OrderAssignement service event. If an order is reassigned, we should make sure the subscription associated with the original order is updated.

✨ Feature request
Status

Postponed: needs info

Version

1.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States andyg5000 North Carolina, USA

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.4 & MySQL 5.7
    last update 2 months ago
    70 pass
  • πŸ‡ΊπŸ‡ΈUnited States gcb

    Re-roll of patch in 17 with D10 compatibility fix.

  • Status changed to Postponed: needs info about 2 months ago
  • πŸ‡ΊπŸ‡ΈUnited States rszrama

    I'm not entirely sure of the approach here. Is it truly a given that reassigning the initial order of a subscription should always reassign the subscription and every order ever associated with it? I may not understand the use case, but this seems like a pretty big assumption. At the very least, we're talking about exposing the PII of the previous owner to the new owner without ever providing an opportunity for this decision to be reviewed.

    Also, why wouldn't the original user still own their prior orders? If this were a donation to a 501(c)3, for example, the original donor would need to maintain access to their historical order record for tax deduction purposes.

    I think I'd feel a lot more comfortable with this being governed by an opt-in checkbox on the order reassignment form. In that case, the behavior would be explicitly enabled, and we would even be able to spell out exactly what would be assigned to the new initial order owner along with the order itself. We might even consider multiple checkboxes: one for reassigning the subscription and another for reassigning all recurring orders associated with the subscription.

    Finally, I'm not sure what it means for the subscription to be reassigned but the payment method be someone else's. It could be the act of reassignment needs to be paired with a new payment method reference - one already owned by the new user. Maybe knowing more about the current use cases could clarify what should happen there, but moving a payment method should definitely require an explicit opt-in and may also need to support selecting a different payment method associated with the new user.

  • πŸ‡ΊπŸ‡ΈUnited States gcb

    The use case is anonymous orders. This is especially relevant for subscriptions that grant special access. Someone buys a recurring membership anonymously, and then the order gets reassigned to a real user (which I believe is part of a standard commerce feature). Perhaps this approach is too general, and we should just be responding to reassignment of anonymous orders.

  • πŸ‡ΊπŸ‡ΈUnited States andyg5000 North Carolina, USA

    Our initial use case was also anonymous checkout. The problem with adding a checkbox is that this should be an automatic process that fires after checkout. Perhaps, the action happens by default when the uid is 0, but there's a checkbox when manually moving an order?

    Finally, I'm not sure what it means for the subscription to be reassigned but the payment method be someone else's

    `Drupal\commerce_payment\EventSubscriber\OrderAssignSubscriber` is already moving the payment entity in commence core :)

Production build 0.69.0 2024