Is it possible to show the Company field on the Accept Hosted Payment Form via the API when requesting a token?
The Hosted Form Parameter Settings documentation does not seem to include such an option.
As a side note, beware that setting Company to required on the payment form options in the Merchant Interface still causes the field to be required even though the field is not included on the payment form. (Show/Edit options in the Merchant Interface have no affect on the Accept Hosted payment form, but the Required options do?)
Thanks, Fritz
11-28-2018 09:22 AM
Hi coppercup,
You can include the company field with the request, as shown below from our Accept documentation with billTo elements, however it will not display on the Hosted Payment Form.
<getHostedPaymentPageRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API_LOGIN_ID</name>
<transactionKey>API_TRANSACTION_KEY</transactionKey>
</merchantAuthentication>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>20.00</amount>
<profile>
<customerProfileId>123456789</customerProfileId>
</profile>
<customer>
<email>ellen@mail.com</email>
</customer>
<billTo>
<firstName>Ellen</firstName>
<lastName>Johnson</lastName>
<company>Souveniropolis</company>
<address>14 Main Street</address>
<city>Pecan Springs</city>
<state>TX</state>
<zip>44628</zip>
<country>USA</country>
</billTo>
</transactionRequest>
<hostedPaymentSettings>
<setting>
<settingName>hostedPaymentReturnOptions</settingName>
<settingValue>{"showReceipt": true, "url": "https://mysite.com/receipt", "urlText": "Continue", "cancelUrl": "https://mysite.com/cancel", "cancelUrlText": "Cancel"}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentButtonOptions</settingName>
<settingValue>{"text": "Pay"}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentStyleOptions</settingName>
<settingValue>{"bgColor": "blue"}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentPaymentOptions</settingName>
<settingValue>{"cardCodeRequired": false, "showCreditCard": true, "showBankAccount": true}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentSecurityOptions</settingName>
<settingValue>{"captcha": false}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentShippingAddressOptions</settingName>
<settingValue>{"show": false, "required": false}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentBillingAddressOptions</settingName>
<settingValue>{"show": true, "required":false}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentCustomerOptions</settingName>
<settingValue>{"showEmail": false, "requiredEmail": false, "addPaymentProfile": true}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentOrderOptions</settingName>
<settingValue>{"show": true, "merchantName": "G and S Questions Inc."}</settingValue>
</setting>
<setting>
<settingName>hostedPaymentIFrameCommunicatorUrl</settingName>
<settingValue>{"url": "https://mysite.com/special"}</settingValue>
</setting>
</hostedPaymentSettings>
</getHostedPaymentPageRequest>
There are many different methods of integration that we currently support. The settings page you refer to within your account, where you can specify fields as viewable/editable/required, were originally created for our Server Integration Method hosted payment form, one of our legacy API connections, however at this time these settings are dynamic controls merchants can set to prevent users from submitting transactions without field data which they wish to require. These settings do not apply to the visual aspect of the form, but rather the functional aspect of the field data required (or not) with each transaction processed via API through the account itself.
I hope this clarifies this subject for you. Please note that any field which does not display on the Accept Hosted Payment Form currently can be included with the token request to be submitted with the transaction for processing.
Thank you,
Elaine
11-29-2018 09:51 AM
Hi,
I have kind of the same issue and my customer requires me to have the company name saved on the invoice generated by authorize.net
Even if I send <billTo><company>CompanyName</company></billTo> (my format is JSON but it's the same), this information is not shown/saved neither on the payment form, neither on the transaction details visible from the merchant's interface.
I really need a way for my customer to have this information stored on your interface.
Thank you for your help!
Regards,
Benjamin C.
04-11-2019 01:19 PM
04-12-2019 12:22 PM - edited 04-12-2019 12:23 PM
This approach is essentially what we have done as well. We process and save as much related information about the purchase/transaction as possible in our database, then pass the user into the payment form, then upon completion of payment update our records and generate a custom invoice.
04-15-2019 10:10 AM
Thank you very much both for your help on this!
Sadly, I do already have: this information stored in my database + a custom invoice which shows it as well...
My customer is willing to this the Company Name on the transaction details on the Autorize.Net interface... and they do not understand it is not feasible right now except if Authorize.Net is doing the needed change or if I do rebuild entirely the payment form by myself...
I do believe this is an important (but easy) development to be done by Authorize.Net.
It's been a month I'm trying to have them say that to me... in vain.
Regards,
Benjamin C.
04-16-2019 01:49 PM
I agree. It would be good if they were to add it back as an option, like it was on the old SIM form. Obviously, building out your own payment form puts you in an expanded PCI scope. Sounds like you are stuck between a rock and a hard place.
04-16-2019 02:32 PM
I am working on this and have same issue. Have you found the sulution?
01-25-2022 03:26 PM
I have the same problem, I'm using:
var order = new orderType();
order.invoiceNumber = inv;
order.description = amountLabel;
var billingAddress = new customerAddressType
{
firstName = "John",
lastName = "Doe",
address = "123 My St",
city = "OurTown",
zip = "98004",
company = "Name Company",
};
var transactionRequestType = new transactionRequestType();
transactionRequestType.order = order;
transactionRequestType.billTo = billingAddress;
...
All data is received except 'company'
Please I would like to know if anyone has a solution to this problem.
07-26-2024 09:18 AM
Hi Team,
I have the same problem, I'm using:
var order = new orderType();
order.invoiceNumber = inv;
order.description = amountLabel;
var billingAddress = new customerAddressType
{
firstName = "John",
lastName = "Doe",
address = "123 My St",
city = "OurTown",
zip = "98004",
company = "Name Company",
};
var transactionRequestType = new transactionRequestType();
transactionRequestType.order = order;
transactionRequestType.billTo = billingAddress;
...
All data is received except 'company'
Please I would like to know if anyone has a solution to this problem.
Regards
07-26-2024 09:25 AM