Integrate the Authnet UC module with the Ubercart Recurring module, to allow recurring payments to be set up using the Authorize.net API.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

webmasterkai’s picture

I'm willing to help with this or sponsor its development.

webmasterkai’s picture

Added a submodule called authnet_uc_recurring into my sandbox http://drupal.org/node/1852478/git-instructions/6.x-1.x

Also attaching a copy of the module here.

m.stenta’s picture

Project: Authorize.net API » Ubercart Authorize.net Payment Gateway

Moving this issue to the uc_authnet module queue, because we split the Ubercart integration out of the Authorize.net API project.

m.stenta’s picture

Version: 6.x-1.x-dev » 6.x-2.x-dev

And changing to 2.x branch.

interestingaftermath’s picture

I'm also interested in this and may be able to help sponsor it's development.

G Gavitt’s picture

Attached is a 7.x module of webmasterkai's 6.x module.
This will work with the 7.x-2.0-beta1 version of Ubercart Authorize.net Payment Gateway. I left webmasterkai's comments/notes intact. Not sure if you planning on including this(or something like it) with the Uc Gateway module or should it become a separate project?

So far I have a few days of cim reoccurring payments going through my authorize.net sandbox without issues. I will keep you updated if I run into any problems..

m.stenta’s picture

Status: Active » Needs work

Marking this as "Needs Work" until we have a patch against this module itself. I haven't had time (or need) to check this out, but I am eager to get it included in this module. If someone wants to take the lead and create a patch, I would be happy to review and commit.

Thanks again for all your help with this folks!

ryan.gibson’s picture

So, I'm going to apply the module against the 6 branch and generate a patch. Should it reside within a modules folder within uc_authnet?

m.stenta’s picture

I asked amorsent's opinion on this, and it seems to make the most sense for this code to be merged into the existing uc_authnet.module, rather than provided as a separate sub-module. It's similar to something like Views integration, which would go in the same module.

Bonus points if you can put it in a separate include file that only gets loaded when necessary. :-)

ryan.gibson’s picture

Status: Needs work » Needs review
FileSize
2.15 KB

While I would love to be able to do that, I'm afraid I'm a bit limited with knowing how to load it only when necessary. I would, however, love to learn how and am open to any guidance on how to accomplish it. If and when I knew, I will definitely put it in a separate .inc file and load only when necessary.

For now, here is a patch that consolidates the 6 branch uc_authnet module with the recurring module feature.

tinker’s picture

Had a couple of issues with patch from #10. Updated code as follows.

  • Add uc_recurring integration:
    • Fix uc_authnet_recurring_renew to properly charge and enter payment
    • Add create profile to order if customer select not to save card to user profile in uc_authnet_recurring_process.
    • Add recurring profile update page to uc_authnet_recurring_info.
  • Fix customer_profile_id wrongly overwrite when UC_CREDIT_REFERENCE_TXN is used in _uc_authnet_charge().
  • Update order messages to make clearer what profile was created/failed.
  • Rename gateway to uc_authnet to follow module naming convention.
  • Fix uc_authnet_payment_method_alter to only modify if it is the default active gateway.
  • Code format fixes - whitespace, variable concation, if statements.

No inherent method to have most of these functions in a separate include file.

Note: Gateway key is renamed from 'authnet' to 'uc_authnet'. Please visit ubercart 'payment gateways' and 'payment methods' pages saving changes. Previous recurring billings will need to be edited in database 'uc_recurring_users' and change the fee_handler from 'authnet' to 'uc_authnet'.

Thanks for all the work everyone.

Primal Adam’s picture

Thanks for all your hard work on this.

I've installed this patch, however I am still having issues. I've update the "payment gateways" and "payment methods". I've also updated the fee_handler column in the uc_recurring_users.

The site will process credit cards for one time purchases, and for new recurring payments. However it will not charge the recurring fee.

08/01/2013 3:45:06 PM - Error: Recurring fee 754 for product LLLP2 failed.
08/01/2013 3:45:06 PM - New recurring fee failed on order 819.

The Error message just tells me "Failed to capture recurring fee of 50.000 for product LLLP2 on order 385"

Can you please shed some light on what I'm doing wrong.

interestingaftermath’s picture

Did you ever resolve this issue? I need this functionality on another site and willing to fund it's completion. Let me know if anyone is interested.

mattcoker’s picture

Issue summary: View changes

Has this functionality been added yet? Not quite sure, because the project page says updated last in 2010 but there are comments here from 2013.

m.stenta’s picture

Unfortunately, no, this feature is not yet included in a release. There are patches available, but they need more testing and maybe more development. I have not been involved directly with this feature request, so I'm not sure where it stands.

As for the dates... the project itself was started in 2010. I took it over and rewrote it from scratch in 2013. You are probably referring to the line on the project page that says "Posted by univate on November 8, 2010 at 10:09pm" ... that is just when the project itself was started. Hope that clarifies...

mr.andrey’s picture

Subscribing. Would love to have this working. So far the only recurring/subscription authorize.net CIM that works is uc_cim from years ago on D6. Since it's such a core element, I've been using D6 even for new websites. Would love to upgrade. Thanks!

m.stenta’s picture

Version: 6.x-2.x-dev » 7.x-2.x-dev
Status: Needs review » Needs work

Hey everyone... just refreshing on some of the uc_authnet issues... is anyone using this patch in the real world? How about on a Drupal 7 site? Does the patch apply to the 7.x branch?

I'll commit if we get a 7.x patch reviewed and tested by the community... :-)

tinker’s picture

@m.stenta, My last patch #11 does not apply to 7.x but I am currently testing a new integration with uc_recurring. I made it as a sub module 'uc_authnet_recurring_cim' because CIM and ARB will require different processing and have different limitations. It's working right now but I am still testing. Also adding a migration script to convert previous recurring fees that used the uc_recurring CIM handler (authorizenet_cim) to the uc_authnet handler (uc_authnet_recurring_cim).

Nathaniel’s picture

Status: Needs work » Needs review
FileSize
3.68 KB

Updated patch for 7.x-2.x. Still testing the functionality.

Nathaniel’s picture

Updated patch to fix recurring fees option links.

glynster’s picture

Hey @Nathaniel very interested to hear your feedback with your working copy and these patches. We currently use uc_recurring and the included authorize integrated option. All works pretty well except for the CIM issue of setting UID 0 inside the Authorize profile ID when an anonymous purchase is made. We also have applied a number of patches to recurring billing one of which helps users resume their subscription by updating their billing info. The patches we have applied are listed below:

https://www.drupal.org/node/1247770

Very interested to know if you have applied any of these patches and if this module produces the same authorize profile ID 0 for anonymous users?