cancel
Showing results for 
Search instead for 
Did you mean: 

CIM getHostedProfilePageController Error

Hi,

 

When calling this function to get a token to display the hosted form, if I pass a url for the hostedPaymentIFrameCommunicatorUrl setting, I get a Error: E00013  Setting Name 'hostedPaymentIFrameCommunicatorUrl' is invalid for this method. error. If I don't send this setting, the hosted page displays and works correctly but I can't get any button clicks from the page and the page doesn't close after the payment profile has been created.

 

Does anyone know why this isn't working? Has anyone used the hosted form in Angular and can provide an example for the iframecommunicator?

 

Thanks,

Paul.

paulshoot360
Member
1 ACCEPTED SOLUTION

Accepted Solutions

Hi @paulshoot360,

 

One other problem: If you're calling hosted profile pages, the setting is "hostedProfileIFrameCommunicatorUrl", instead of "hostedPaymentIFrameCommunicatorUrl".

View solution in original post

7 REPLIES 7

Hello @paulshoot360

It's been a while since this was first posted. I would recommend subscribing to this topic so that you'll be alerted via email if anyone from the community is able to respond with any comments. To subscribe, click Topic Options at the top of this thread and then select Subscribe. You'll then receive an email once anyone replies.

Thanks,

Richard

RichardH
Administrator Administrator
Administrator

What is the format of the settingValue for your hostedPaymentIFrameCommunicatorUrl setting?

 

It should be in the following format:

<settingValue>{"url":"https://yourstore.com/iCommunicator.html"}</settingValue>

 

Powered by NexWebSites.com -
Certified Authorize.net developers
NexusSoftware
Trusted Contributor

I changed the format as suggested but still getting this error:

Setting Name 'hostedPaymentIFrameCommunicatorUrl' is invalid for this method.

 

Here is the setting I'm sending: {"url":"https://localhost:4201/iCommunicator.html"}

 

And, here is the controller I'm calling: 

var controller = new getHostedProfilePageController(request);
controller.Execute();

 

Thanks,

Paul.

 

 

 

localhost is unique to everyone, the API cannot comunicate with your localhost.

Powered by NexWebSites.com -
Certified Authorize.net developers

Thanks for the quick reply!

 

I created a communication page and placed it on a site I have in Azure and created the setting using the new url. I get the same error has before.

 

Here's the process I'm following to display the hosted page:

1. Call getHostedProfilePageRequest and pass in the communcation url and set the hostedProfilePageBorderVisible to false. The process breaks with the error at the start of this thread.

2. If I don't send the communication url. A token is returned from the call and I'm able to display the hosted form by posting to https://test.authorize.net/customer/addPayment.

3. I'm able to enter a new payment profile and I've verified that it is saved in the sandbox.

 

This is as far as I've gotten by reading the samples and writing it in Angular 2.

 

Thanks,

Paul.

 

 

Hi @paulshoot360,

 

One other problem: If you're calling hosted profile pages, the setting is "hostedProfileIFrameCommunicatorUrl", instead of "hostedPaymentIFrameCommunicatorUrl".

Thanks Aaron! That was the fix.

 

For others who might need it:

Use hostedProfileIFrameCommunicatorUrl for the setting and don't wrap the url in {"url":. It must start with http or https or you will get an error.

 

Thanks,

Paul.