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.
Solved! Go to Solution.
07-21-2017 12:28 PM
Hi @paulshoot360,
One other problem: If you're calling hosted profile pages, the setting is "hostedProfileIFrameCommunicatorUrl", instead of "hostedPaymentIFrameCommunicatorUrl".
08-01-2017 11:22 AM
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
07-24-2017 02:39 PM
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>
07-24-2017 03:31 PM
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.
08-01-2017 09:20 AM
localhost is unique to everyone, the API cannot comunicate with your localhost.
08-01-2017 10:22 AM
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.
08-01-2017 10:52 AM
Hi @paulshoot360,
One other problem: If you're calling hosted profile pages, the setting is "hostedProfileIFrameCommunicatorUrl", instead of "hostedPaymentIFrameCommunicatorUrl".
08-01-2017 11:22 AM
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.
08-01-2017 11:34 AM