Can someone help me with the exact steps to set up Autorize.net CIM? I keep reading everywhere that it should work, but I can't get it to work. Right now, I'm in test mode on the Authorize.net side because I want to use a test credit card and not a real one. The first transaction goes through, but the second (renewal one) does not. I keep getting a "Failed to capture recurring fee." error.

My settings are as follows:
Authorize and capture immediately
ARB Disabled
CIM Enabled
Always create a CIM profile for securely storing CC info for later use.

Here's the order log
05/25/2010
1:58:59 PM - Authorize.Net: CIM profile created
05/25/2010
1:58:59 PM 6 Authorization and capture
ACCEPTED: (TESTMODE) This transaction has been approved.
Amount: $0.25
AVS response: P - AVS not applicable for this transaction
CVV match: -
05/25/2010
1:58:59 PM 6 Recurring fee 2 added to order.
05/25/2010
1:59:02 PM - Customer granted user role subscriber.
05/25/2010
1:59:02 PM - Order created through website.
05/26/2010

This is when I run cron:
7:29:27 PM 1 Error: Recurring fee 2 for product subscription failed.
05/26/2010
7:29:27 PM 1 New recurring fee failed on order 7.
05/26/2010

This is after I force an attempt on a renewal
7:45:58 PM 1 Error: Recurring fee 2 for product subscription failed.
05/26/2010
7:45:58 PM 1 New recurring fee failed on order 8.

Comments

Alexander N’s picture

This might sound obvious, but just in case: are you sure the Authorize merchant account you're using has the CIM feature enabled? CIM is actually an extra feature you have to pay for. Last time I had problems with recurring fees, it was because I (wrongly) assumed that my authorize account supported CIM. It didn't, and so even though I had activated CIM on Drupal/Ubercart's side (by checking the "CIM Enabled" and "Always create a CIM profile... " options) Authorize wouldn't create a customer profile, so the first transaction would work but the recurring fees wouldn't.

After I upgraded my Authorize account to support CIM, UC_Recurring started working.

Alexander N’s picture

Issue tags: +Ubercart, +authorize, +CIM
lonehorseend’s picture

Both ARB and CIM are enabled on the authorize.net account. I even see the two profiles in the authorize.net side. Also, I have the Debug info writing to the logs and for the initial payment I see the return for Authorize.net, but for the renewal it is just the failed entry. Is there any patches I'm supposed to be adding or anything like that? I just did Ubercart and uc_recurring dev right out of the box with updates, of course. Is it because I'm in Test Mode on the Authorize.Net side?

Update - 05/30/2010 - 12:07 PM - I decided to see what would happen if I tried this against a Authorize.net developer account with test mode disabled.

lonehorseend’s picture

Ok, it worked with the developer account. Means that you can not test CIM in test mode on the authorize.net side. One thing I noticed though is that the email goes out saying the role has expired. However, I see that the new order was created and the role was renewed. Didn't receive an email to that effect though. Maybe I need to tighten up the conditional actions. Also, the reference transaction line says the amount, shouldn't it say the order number or order description of the previous order? I do, however, see another line that mentions the previous order, so that's good.

Edit - Actually a second email was received saying that the role had been granted. This was after I had run cron a second time. I'll look in the issue queue but this is kind of concerning. I mean what happens if you only run cron once every 24 hours? Customers might think they don't have the role when they actually do.

Alexander N’s picture

Ok, it worked with the developer account. Means that you can not test CIM in test mode on the authorize.net side.

Oh I see. This is good to know, thanks.

Regarding the renewal notification email only being sent by cron, I didn't know that :S. This email is a Conditional Action notification, right? I need to test that, it's kinda concerning indeed.

lonehorseend’s picture

Yes, it's set as a conditional action. You have a renewal, grant, and remove as email notices that can go out. What I saw happening was that the cron job would kick in, the role would be removed because it had "expired," the renewal would happen through uc recurring so the role would be granted, but the email for the granting of the role wouldn't go out until the second cron job was run. For now, I've just disabled both the granting and removal email notification conditional actions because I don't want to confuse our users when the site goes live. I have both recurring and role set as product features.

univate’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

hermes_costell’s picture

+1 THANK YOU Alexander N! Some obvious things are ... not so obvious.