I've installed and configured uc_recurring on a drupal 6 site. Version is 6.x-2.0-alpha6.
New transactions are correctly being captured and transmitted to authorize.net ARB.
The problem is the recurring fees cancel function isn't working. Pressing cancel and confirming produces screens that "appear" to be ok. But nothing is being sent to authorize.net ARB.
The log file contains an error with the following content:
'Parameter 2 to uc_recurring_hosted_authorizenet_arb_cancel() expected to be a reference,...'
Message goes on to suggest that the expected parm is not correct from "uc_recurring/uc_recurring.module on line 710".
Comments
Comment #1
ferdinand.bardamu commentedI confirm this issue. On version 6.x-2.0-beta1 error is line 761 /uc_recurring/uc_recurring.module
Edit: And the problem is apparently with a target file, not this file. See below.
Comment #2
ferdinand.bardamu commentedIf someone has time to try the fix here before I do, please post.
Comment #3
ferdinand.bardamu commentedI confirm the fix here worked for 6.x-2.0-beta1. I've updated the line numbers to match 6.x-2.0-beta1 version of uc_recurring/modules/uc_recurring_hosted/uc_recurring_hosted.module:
Fixes:
Would be nice to pinpoint when this problem arose and get all subsequent appearances.
Comment #4
vmi commentedI've tested and verified that the above fix works.
PLEASE USE THE MOST CURRENT PATCH BELOW
Comment #5
vmi commentedHere is the patch.PLEASE USE THE MOST CURRENT PATCH BELOW
Comment #6
vmi commentedAccidental post -- ignore
Comment #7
shaundychkoVim, thank you so much for this patch. Line 20 doesn't look quite right, and I think you meant to write what you have in the patch at http://drupal.org/node/1372432. I'm going to test this patch soon.
Comment #8
vmi commentedThanks for catching that Shaun -- you're right about line 20.
Also currently the patch only works when it's run from sites/all/modules/uc_recurring/modules/uc_recurring_hosted
According to drupal standard practice should that be drupal root OR sites/all/modules/module-to-be-patched as well?
Comment #9
shaundychkoYour patch here: http://drupal.org/node/1372432#comment-5546564 works great. Tested against 6.x-2.0-beta1. Thank you! I had some unhappy customers there...
@ferdinand This problem arose for me when upgrading PHP to 5.3.x which is unforgiving about the pass by reference/value error in the function definition.
@vmi how about just copying your patch at http://drupal.org/node/1372432#comment-5546564 here? It's relative to the contrib module root (.../uc_recurring in this case), as per Drupal standard, so looks good. I'd copy your patch here, but then it might look like I wrote it ;). I'll mark this Reviewed and Tested after you copy over.
Comment #10
vmi commentedI thought there was a difference in lines for d6 vs. d7...n/m
Comment #11
shaundychkoYep, you're right, but the patch applied anyway with an "offset". If you re-roll for D6, it'll be even better (and not spit out a .orig file).
Comment #12
vmi commentedHopefully this patch is better.
Comment #13
shaundychkogood stuff.
Comment #14
univate commentedcommitted, thanks.
Comment #16
tmwagner commentedI've applied the batch posted Feb 13, 2012 to uc_recurring_hosted.module within the uc_recurring 6.x-2.0-beta1 and confirm that recurring payment cancellations are being transmitted and processed correctly on Authorize.net ARB.
Comment #17
lonehorseend commentedI remarked this as active because looking at the latest release of 6.x.2.x-dev (released on April 25, 2012), this patch doesn't exist in it. I am about to apply it now for myself.