- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
“Payment Profile ID is not allowed” error with hosted payment profile request
I am developing a new integration. Trying to provide a link on our site for our customers to enter their payment info. I am using the “redirect” method to display the page for the user to enter the card data. When I submit the form, I get a “Payment Profile ID is not allowed” response.
Attached is a log of the requests/responses for createCustomerProfileRequest, getHostedProfilePageRequest and redirect. Can you tell me what I am doing wrong?
createCustomerProfileRequest request:
POST https://apitest.authorize.net/xml/v1/request.api HTTP/1.0
Content-Type: text/xml
Content-Length:413
<?xml version="1.0"?>
<createCustomerProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>7HK2nqn5cb2r</name>
<transactionKey>**</transactionKey>
</merchantAuthentication>
<profile>
<merchantCustomerId>565</merchantCustomerId>
<description>441 AUTO RENTAL</description>
<email></email>
</profile>
</createCustomerProfileRequest>
createCustomerProfileRequest response:
HTTP/1.0 200 OK
Cache-Control: private
Content-Type: application/xml; charset=utf-8
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
X-Cnection: close
Content-Length: 507
Date: Tue, 07 Aug 2018 22:01:24 GMT
Connection: close
<?xml version="1.0" encoding="utf-8"?><createCustomerProfileResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages><customerProfileId>1914998217</customerProfileId><customerPaymentProfileIdList /><customerShippingAddressIdList /><validationDirectResponseList /></createCustomerProfileResponse>
************************************************************
getHostedProfilePageRequest request:
POST https://apitest.authorize.net/xml/v1/request.api HTTP/1.0
Content-Type: text/xml
Content-Length:992
<?xml version="1.0"?>
<getHostedProfilePageRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>7HK2nqn5cb2r</name>
<transactionKey>**</transactionKey>
</merchantAuthentication>
<customerProfileId>1914998217</customerProfileId>
<hostedProfileSettings>
<setting>
<settingName>hostedProfileReturnUrl</settingName>
<settingValue>https://helpdesk.barsnet.com/scripts/callsys.wsc/login.html?CustID=565</settingValue>
</setting>
<setting>
<settingName>hostedProfileReturnUrlText</settingName>
<settingValue>Click to complete registration</settingValue>
</setting>
<setting>
<settingName>hostedProfilePageBorderVisible</settingName>
<settingValue>true</settingValue>
</setting>
<setting>
<settingName>hostedProfileBillingAddressRequired</settingName>
<settingValue>true</settingValue>
</setting>
</hostedProfileSettings>
</getHostedProfilePageRequest>
getHostedProfilePageRequest response:
HTTP/1.0 200 OK
Cache-Control: private
Content-Type: application/xml; charset=utf-8
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
X-Cnection: close
Content-Length: 899
Date: Tue, 07 Aug 2018 22:01:27 GMT
Connection: close
<?xml version="1.0" encoding="utf-8"?><getHostedProfilePageResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages><token>eGtsUl791jH49TMwGTzUKtvZmd4q6vzhtrqj+EFU/BuR9ZW36q3IGeU51P6OGixpL8p8u8ynu5MaZR8Extp+tXmYQMMzZxLOYJmNDws3v2Kzn0yKEkmWLrFkTquzcoo3ZWOEmlqNj3IQYQwp0IxQXo1TiVeEb1izPIAk9xGv87WKXQJPn2NSJQDwpj9wchGo1EhX8jvnDcS8csV30nwNQe0pBgjrJ4GA1TSoF413WWCljVx7cGO2AYKku4NY0Hn06RWE+BXqXYBpF79O+OlJcu0SRcG6tl2b8AY29Aq1oY8n0MHZAzq7B82/cmo6gvhDTAgcId9+RZCqtNqeq+ZZd7iS039BzTT3ihhBXYF9E/YeKyAt6gdBbSAsM1aZckOnBdWYBP5i2EVNrem9a0LhkJLqM8MxAca30ZTTTUl9kiKFB/RPM5hSVX1eU3MXV4q4MQu+4zsiSzrA4H1cPo6CLoRD0K4tD7vNa1GNneDuwFG3qOMCT84qf/5lET1ne8fU.7HK2nqn5cb2r</token></getHostedProfilePageResponse>
************************************************************
Form submission request (with paymentProfileId and token):
POST https://test.authorize.net/customer/addPayment HTTP/1.1
Host: test.authorize.net
Connection: keep-alive
Content-Length: 583
Cache-Control: max-age=0
Origin: http://127.0.0.1
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://127.0.0.1/scripts/cgiip.exe/WService=Callsys/createccaccountsubmit.p
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
paymentProfileId=1914998217&token=eGtsUl791jH49TMwGTzUKtvZmd4q6vzhtrqj%2BEFU%2FBuR9ZW36q3IGeU51P6OGixpL8p8u8ynu5MaZR8Extp%2BtXmYQMMzZxLOYJmNDws3v2Kzn0yKEkmWLrFkTquzcoo3ZWOEmlqNj3IQYQwp0IxQXo1TiVeEb1izPIAk9xGv87WKXQJPn2NSJQDwpj9wchGo1EhX8jvnDcS8csV30nwNQe0pBgjrJ4GA1TSoF413WWCljVx7cGO2AYKku4NY0Hn06RWE%2BBXqXYBpF79O%2BOlJcu0SRcG6tl2b8AY29Aq1oY8n0MHZAzq7B82%2Fcmo6gvhDTAgcId9%2BRZCqtNqeq%2BZZd7iS039BzTT3ihhBXYF9E%2FYeKyAt6gdBbSAsM1aZckOnBdWYBP5i2EVNrem9a0LhkJLqM8MxAca30ZTTTUl9kiKFB%2FRPM5hSVX1eU3MXV4q4MQu%2B4zsiSzrA4H1cPo6CLoRD0K4tD7vNa1GNneDuwFG3qOMCT84qf%2F5lET1ne8fU.7HK2nqn5cb2r
Form submission response (with "Payment Profile ID is not allowed" error):
HTTP/1.1 200 OK
Cache-Control: no-cache,no-cache,no-store
Pragma: no-cache,no-cache
Content-Type: text/html; charset=utf-8
Expires: -1,0
X-Content-Type-Options: nosniff
Vary: Accept-Encoding
Date: Tue, 07 Aug 2018 22:01:29 GMT
Content-Length: 4395
Connection: keep-alive
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<!-- Doesn't always work! -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<link href="scripts/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="scripts/lib/jquery.min.js"></script>
<script src="scripts/lib/angular.min.js"></script>
<script src="scripts/profile.js"></script>
<script src="scripts/lib/bootstrap/js/bootstrap.min.js"></script>
<head><title>
Secure Information
</title>
<script src="scripts/components/paymentComponent/1_0/payment-min.js"></script>
<script src="scripts/components/addressComponent/1_0/address-min.js"></script>
<script src="scripts/components/bankAccountComponent/1_0/bankAccount-min.js"></script>
<script src="scripts/app.js"></script>
<!--[if lt IE 8]>
<link href="styles/profileCommonIELT8.css" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if lt IE 7]>
<link href="styles/profileCommonIELT7.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link href="styles/editPayment.css" rel="stylesheet" type="text/css" />
<style type="text/css"></style>
<script type="text/javascript">
//<![CDATA[
var g_token = "eGtsUl791jH49TMwGTzUKtvZmd4q6vzhtrqj+EFU/BuR9ZW36q3IGeU51P6OGixpL8p8u8ynu5MaZR8Extp+tXmYQMMzZxLOYJmNDws3v2Kzn0yKEkmWLrFkTquzcoo3ZWOEmlqNj3IQYQwp0IxQXo1TiVeEb1izPIAk9xGv87WKXQJPn2NSJQDwpj9wchGo1EhX8jvnDcS8csV30nwNQe0pBgjrJ4GA1TSoF413WWCljVx7cGO2AYKku4NY0Hn06RWE+BXqXYBpF79O+OlJcu0SRcG6tl2b8AY29Aq1oY8n0MHZAzq7B82/cmo6gvhDTAgcId9+RZCqtNqeq+ZZd7iS039BzTT3ihhBXYF9E/YeKyAt6gdBbSAsM1aZckOnBdWYBP5i2EVNrem9a0LhkJLqM8MxAca30ZTTTUl9kiKFB/RPM5hSVX1eU3MXV4q4MQu+4zsiSzrA4H1cPo6CLoRD0K4tD7vNa1GNneDuwFG3qOMCT84qf/5lET1ne8fU.7HK2nqn5cb2r";
var g_inProgress = false;
var g_CustProf = {"paymentProfiles":null,"shipToList":null,"customerProfileId":"1914998217","merchantCustomerId":null,"description":null,"email":null};
var g_singleItemMode = true;
var g_billingAddressOptions = "showBillingAddress";
var g_iframeCommunicatorUrl = "";
var g_paymentOptions = "showAll";
function onPageLoad() {
if (false) {
document.getElementById("spnNoScript").style.display = "none";
var i = g_CustProf.paymentProfiles && g_CustProf.paymentProfiles.length > 0 ? 0 : 999;
}
}
//]]>
</script>
<script type="text/javascript">
var g_EcheckEnabled = false;
var g_CreditEnabled = false;
var g_AddressRequired = true;
var g_CardCodeRequired = false;
</script>
</head>
<body class="BorderVisible">
<div class="PageOuter" id="divPageOuter">
<div id="divPopupScreen" class="PopupScreen" style="display:none;"></div>
<div class="Page" id="divPage" ng-app="HostedProfileApp">
<div class="PageMain" id="divPageMain" ng-controller="mainController">
<div id="MainContent_divErrorPanel" class="ErrorPanel container">
<div class="ErrorPanelMsg">
<span id="MainContent_spnErrorMsg" class="ErrorMsg">Payment Profile ID is not allowed.</span>
</div>
<div id="divErrorPanelButtons" class="ErrorPanelButtons">
<input id="btnCloseWindow" class="CloseButton" onclick="btnCloseWindow_onclick();" value="Close" type="button"/>
</div>
</div>
<div class="BottomLink center" id="divBottomLink" ng-show="showConfirm"><a id="lnkContinue" style="display:none;" href="https://helpdesk.barsnet.com/scripts/callsys.wsc/login.html?CustID=565" onclick="return lnkContinue_onclick();">Click to complete registration</a><button type="button" id="btnContinue" class="btn btn-default mainButtons" onclick='window.location = "https://helpdesk.barsnet.com/scripts/callsys.wsc/login.html?CustID=565";'>Click to complete registration</button></div> <div class="BottomLinkAfter"></div>
<div id="divIframeCommunicator" style="display:none; position:absolute; width:1px; height:1px; bottom:0px; right:0px; z-index:-1;"></div>
<script type="text/javascript">
//<![CDATA[
onPageLoad();
$( document ).ready(function() {
setTimeout("sendResizeWindowToMerchant()", 500);
});
//]]>
</script>
</div>
<div class="PageMainAfter"></div>
</div>
</div>
</body>
</html>
08-09-2018 06:08 AM - last edited on 08-09-2018 06:49 AM by RichardH
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For adding a new payment profile , you dont need to pass the paymentprofileID in it .
These are conditional fields .
Conditional Fields
- To edit the payment profile, include a form field called
paymentProfileId
containing the ID of the payment profile that you want the customer to edit. - To edit the shipping address include a form field called
shippingAddressId
containing the ID of the shipping address profile that you want the customer to edit.
Check our sample app at https://github.com/AuthorizeNet/accept-sample-app
Thanks
Send feedback at developer_feedback@authorize.net
08-09-2018 10:48 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Anurag,
I removed the paymentprofileID and did get the hosted payment screen. The form example in the Customer Profiles documentation showed the paymentprofileID, so I thought it was necessary.
Unfortunately, when I entered the card info into the hosted screen and submitted it, I got a "Customer Information Manager is not enabled." error. I can access the Customer Information Manager for my account and have three customers entered. I should mention that this is a sandbox account. Is there something else I need to do to enable it?
POST https://accept.authorize.net/customer/Api.ashx HTTP/1.1
Host: accept.authorize.net
Connection: keep-alive
Content-Length: 809
Accept: application/json, text/plain, */*
Origin: https://accept.authorize.net
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://accept.authorize.net/customer/addPayment
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
address=75019&apiFn=createPaymentProfile&cardCode=&cardNumber=4003000123456781&city=Coppell&country=United+States+of+America&expirationDate=12%2F19&firstName=Steve&lastName=Walsh&paymentMethod=cc&phoneNumber=9723214569&state=TX&token=SzEDyHUGEPfbURZvVtiQcp9HKyVqyLY0eZV8U3dfwi3iigF2jFSWPAKNanPZ3zXA2Qf%2FyXR7zMgdrdCOrAgFSCkkFAqzkKvmgRAQYKb%2FiFQ%2FIGrzuKSA0E66c1MOndZ0%2Fy%2F%2FcKneZcOYoO1nQopbiOXSdiCKdjF7OFJT%2B9h2C0iF8yr%2BwdmnpnspPBZF1jlL2CAPGEU%2FsMJXkqjzob5VvN3LH9A%2FS9%2FYJfbl%2BhxhBysdXBZjfBHvaiacTq9Vrgny8%2FRx0nl3CgJzcV1f9DNA4wmCSwq1d2m69H4r5NwireBEYtrOLqO5PPBbidkVNPNuBf9776f%2B84Tx%2FMC%2BZRavdjY987t58ozAuH%2B%2BRLBsitUaN8hNLBZpOzMEpLstKYy2k27PcfK4sSlS%2BU7JlJyNXoubRW7dTTXw3G4h9kWm4y5aKzzJmQbhIbYXAULDamJ868drwHboAaa94%2BLeNWNhRuO3isbvbKYqDq1xHzrW82YlWskIWJnmmA54wIc63K5y.7HK2nqn5cb2r&zip=75019
HTTP/1.1 200 OK
Cache-Control: private,no-cache,no-store
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: 0
X-Content-Type-Options: nosniff
Content-Length: 654
Date: Fri, 10 Aug 2018 14:00:41 GMT
Connection: keep-alive
{"resultCode":"Error","messageCode":"E00044","messageText":"Customer Information Manager is not enabled.","token":"LmbjcxjCgjIDF/s1iFxgJ/d4xalNNO7WYrJ2c8Lu4FB/GlZ28+rsFO4myEkNHDMWkHAg7LzaDNIcd8VkSP/atdRY5S6aYCUAkUbgBomB8SFXoE08WXJqM1RBIHyCbhX3l8XwUmftDHszXV+bu9FFCyPKaqJTHjMEXOaOZ8Iy7G54kFezxopWf3k5mXZwYwrq6hr5jKkx+f9HpWKLRMQ+xc6u/7VYHPrKR49uSAKvXahkWjlNtw/w4N9ktHMExWXk0xZoArEJcqfE3EMJfCp7Fu3wMnD8tBf0s1AR7ZAuRJuDcMPvMicvv3OMlrGt/GAmp95dzh9EjTj3hiH+bEClpDGZRSoB/AFflTdho3TYfmTQYAzKU5kK40odKtLzZo9Um8ntBF1zGmbKsBwZ3GZg4R7veTp7RxaOZ+yh+Inc3pIKSyCsOd1bho0iC9/wLXCuVLLoeZnuQA5WImttjVploOlEBTfLBCpfMMfA6sHb/OO/dkTFMEDgl97uRKzyuKKw.7HK2nqn5cb2r","data":null}
08-10-2018 07:20 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you create a new sandbox account and try with its credentials ?
Thanks
Send feedback at developer_feedback@authorize.net
08-11-2018 05:15 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually, I got it to work. I had to change https://accept.authorize.net/customer/addPayment to https://test.authorize.net/customer/addPayment as the action on the form for the sandbox environment. Thanks.
08-13-2018 03:31 PM