When a potential subscriber checks out with a recurring subscription, the payment is cleared at Authorize.net and the subscriber receives an email confirmation of payment, however the role Granted On Purchase is not set. Is this the expected behavior?
I would assume that upon initial payment, the role would be granted immediately upon successful payment, but this is not the case?
The product is a unlimited recurring subscription, interval of 7 days, for a $5 fee. It is granting a single role upon subscription.
Using Authorize.net, CIM for recurring payment management, production test mode (not developer mode)
Comments
Comment #1
artatum CreditAttribution: artatum commentedSame here.
Comment #2
carsonwSame here.
Comment #3
SWMdave CreditAttribution: SWMdave commentedFollowing-
Comment #4
BeatnikDude CreditAttribution: BeatnikDude commentedSame here: no role assignment on recurring subscription purchase.
- using 7.x-2.0-alpha3 w/ Authorize.net.
Comment #5
dewolfe001 CreditAttribution: dewolfe001 commentedI have the same problem with Paypal WPS.
Has anyone been able make a recurring subscription with Ubercart core in D7? I can't figure how it handles expiration and the like.
Comment #6
tinker CreditAttribution: tinker commentedYes this is expected behavior. The default setup is for the role to be granted when order status is marked "completed". This is because Ubercart has 3 forms of checkout: logged in, logged out but with account, anonymous (or new account). Traditionally during the payment stage of the order Ubercart only knows the user account if the user is logged in before starting checkout. The user account is needed to grant a role and only when checkout completes will Ubercart load or create the user account.
Now at some point there was a change to Ubercart to force checkout during the payment stage so that a user account is known. This is a bug as it breaks the checkout process but it's been around for at least a year. It's probably intention was do provide a solution to a similar problem reported here. I have created a patch for Ubercart to make this work properly without compromising checkout. See #1669968: hook_uc_checkout_complete() is called outside of checkout process (when payment is entered). Before the role grant work flow can change in uc_recurring the bug in Ubercart has to be fixed. I suggest anyone wanting the change here to review the bug fix so it can get committed.
As a temporary fix you can create a new Conditional Action or Rule that executes on trigger "Customer completes checkout" and set a condition that "Order balance is less than or equal to zero" and then perform the role grant action. But this will not work when payment is entered after checkout.
I have marked this 'closed (works as designed)'. If anyone wants this to work differently then they can reopen this issue as a feature request but like I said Ubercart needs to be fixed before a stable change can be made here.
Comment #6.0
tinker CreditAttribution: tinker commentedupdate information
Comment #7
Nikdhil Mdohfan CreditAttribution: Nikdhil Mdohfan commentedsame here
Comment #8
capfive CreditAttribution: capfive commentedI still dont understand what i need to do to fix this, will the role still get taken away if the subscription expires?