cancel
Showing results for 
Search instead for 
Did you mean: 

Customer Information Manager is not enabled (Test Mode)

Here's the short version:

 

I have my test (Sandbox) account set up and, according to the details in it, CIM is turned on.

The only option that the sandbox management area gives me in that regard is the ability to turn CIM 'off'.

 

I know CIM is on through the test system because when I send a request through AuthNet to get a new customer a customerProfileID,  it assigns them one,  passes it back to me so I can store it on my server, AND that new number shows up under the profiles in the CIM area of the test account manager.

 

Here's the problem:

When I fire up the popup window that is to be used by the customer to add or edit credit card data into the CIM,

I get "Customer Information Manager is not enabled' instead of the forms for the customer to fill in their data.

 

I have changed all of the code to use my TEST account login and transaction information.

In my vars.php file, I changed the apihost to have this in it:

 

$g_loginname = "MY_LOGIN";
$g_transactionkey = "MY_TRANACTION_KEY";
$g_apihost = "apitest.authorize.net";
$g_apipath = "/xml/v1/request.api";

 

The reason I even mentioned that is to make sure that the apihost and apipath information is correct.

Maybe that's the problem?

 

To call the popup itself requires a URL (obviously) to generate the data from.

Here is what I currently have in place to call that popup:

 

action="https://test.authorize.net/hosted/profile/manage"

 

In the CIM_XML_guide.pdf file (instructions for setting up CIM) it says specifically,

 

"If you are using the test environment, replace secure.authorize.net/profile/
manage with test.authorize.net/profile/manage."

 

That instruction is on page 5 of the document.

 

Elsewhere in the document, it says that if I am in test mode I need to use:

https://apitest.authorize.net/xml/v1/request.api    This instruction is on page 14 of the pdf file.

 

Those are two different URLs.  Just to be sure,  I tried it with both of them.  In both attempts I got the same 'CIM is not enabled' message.

 

Since the request for the customerProfileID is working,  and the new customer is showing up in the CIM manager list of profiles,  I think it it safe to assume that CIM is actually 'on'.

 

Why the system is responding back with 'CIM is not enabled' when I attempt to go on to the next 'step' (customer actually entering credit card information into the CIM system)  is what i can't figure out.

 

Anyone have any ideas?

 

Thanks!

WHeis

 

 

WHeisenberg
Regular Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

I un-commented that line and still got the same issues.

 

However,  I see what that line was trying to actually 'do',  which is to set the page to use the test server instead of the live server.

 

What I did then, was to go into the actual popup.js file and changed the line that read:

 

if (AuthorizeNetPopup.options.useTestEnvironment) {

            form.action = "https://test.authorize.net/profile/" + opt.action;
        } else {
            form.action = "https://secure.authorize.net/profile/" + opt.action;

 

to this:

 

if (AuthorizeNetPopup.options.useTestEnvironment) {

            form.action = "https://test.authorize.net/profile/" + opt.action;
        } else {
            form.action = "https://test.authorize.net/profile/" + opt.action;

 

In effect, I made the 'else' part of the statement redundant, since it is going to use the test address regardless

of the value of useTestEnvironment

 

Now the CIM is working.

 

I do not know why uncommenting the line that is supposed to set the page to use the 'test' address didn't work,

but now that I know that it wasn't working,  I was able to create the workaround by simply forcing it to use the

test address.

 

I'll just need to remember to put it back the way it's 'supposed to be' when the site is changed to the live system.


Thanks for the clue!

WHeis

 

View solution in original post

5 REPLIES 5

On the examplePage.html

 

  // Uncomment this line to use test.authorize.net instead of secure.authorize.net.
  //AuthorizeNetPopup.options.useTestEnvironment = true;

 

The action on the form post get override in the javascript popup.js

RaynorC1emen7
Expert

I un-commented that line and still got the same issues.

 

However,  I see what that line was trying to actually 'do',  which is to set the page to use the test server instead of the live server.

 

What I did then, was to go into the actual popup.js file and changed the line that read:

 

if (AuthorizeNetPopup.options.useTestEnvironment) {

            form.action = "https://test.authorize.net/profile/" + opt.action;
        } else {
            form.action = "https://secure.authorize.net/profile/" + opt.action;

 

to this:

 

if (AuthorizeNetPopup.options.useTestEnvironment) {

            form.action = "https://test.authorize.net/profile/" + opt.action;
        } else {
            form.action = "https://test.authorize.net/profile/" + opt.action;

 

In effect, I made the 'else' part of the statement redundant, since it is going to use the test address regardless

of the value of useTestEnvironment

 

Now the CIM is working.

 

I do not know why uncommenting the line that is supposed to set the page to use the 'test' address didn't work,

but now that I know that it wasn't working,  I was able to create the workaround by simply forcing it to use the

test address.

 

I'll just need to remember to put it back the way it's 'supposed to be' when the site is changed to the live system.


Thanks for the clue!

WHeis

 

Hi,

 

I have done the changes as mentioned but still I am getting the error CIM is not enabled. Can you please help me out on this ?

 

Thanks.

Use window.alert(AuthorizeNetPopup.options.useTestEnvironment) and window.alert(form.action) to make sure it's going to the right place.

This solution by RaynorC1emen7 worked perfectlty for me. Thanks!

//Uncomment this line to use test.authorize.net instead of secure.authorize.net.
//AuthorizeNetPopup.options.useTestEnvironment = true;