By Accept.js Hosted Form, I'm referring to the one described in: https://developer.authorize.net/api/reference/features/acceptjs.html#Using_the_Hosted_Payment_Inform...
We use the Hosted Form version in order to conform to PCI-DSS SAQ A compliance. Currently such form accepts the following fields:
Our customers have requested for Address to be included in order to reduce fraud. Is there a way to customize the Hosted Form to accept other Address fields in addition to Zip Code? If so how do we go about doing that?
You can either use Accept.js with your custom form or use the Accepted Hosted form https://developer.authorize.net/api/reference/features/accept_hosted.html
for accepting address also .
My client said they would accept a hosted Accept.js form that is currently without a street address but with a zip code provided that the zip code entered by a customer will be validated before an authorization of payment is granted.
Could you please confirm the above?
You need to make sure the merchant has enabled the AVS setting .
To manage AVS rejection settings, log in to the Merchant Interface and choose Account > Settings > Security Settings > Basic Fraud Settings > AVS.
We've updated the AVS setting of our test account as follows:
* Decline: Response codes B, E, R, G, U, S, N, A
* Allow: Response codes Z, W, Y (Zip Code Matched regardless of Street Address and Extended Zip)
We've tested the above AVS setting using Accept.js hosted form by entering relevant zip code from the testing guide (https://developer.authorize.net/hello_world/testing_guide/).
We entered test zip code 46205 and 46201 that represent "Zip Code Not Matched" but the transactions still went through without any error.
We suspect the Zip Code that was entered on the Accept.js hosted form might not be passed to Authorize.net backend:
* Invalid zip codes (as described aboved) didn't result in declined transactions
* Acorrding to Authorize.net CIM page, payment profiles created have blank zip code even though zip code was entered on Accept.js hosted form.
Since the Zip Code field is available on the Accept.js hosted form, we'd expect that it will be passed to Authorize.net backend and sent to AVS for validation.
Could you check and confirm the above observation, and whether it's by design, a bug, or a feature that would be built (and if so when we could expect that to happen)?
I just tried the same zipcode on our Sample Accept Hosted and got an error "The transaction has been declined because of an AVS mismatch. The address provided does not match billing address of cardholder."
I will suggest you to use the try it tab to test the createTransaction APIs with your sandbox credentials .
Also do check the sample app https://github.com/AuthorizeNet/accept-sample-app
Thank you for your quick response!
As mentioned earlier, my web app integrates with Accept.js hosted form (https://developer.authorize.net/api/reference/features/acceptjs.html#Using_the_Hosted_Payment_Inform...).
I believe that is technically different from Accept Hosted that you mentioned (https://developer.authorize.net/api/reference/features/accept_hosted.html).
Could you please check and confirm if the Accept.js hosted form exhibits the same behavior as Accept Hosted form?
Looks like you are using Accept.js UI which will provide you the one time payment nonce .
When you are calling the createTransaction API with that payment nonce
You are passing the zip code in the billTo in the request?
Can you provide the request/response you getting for createTransaction ?
Previously I thought that the Accept.js hosted payment information form would handle AVS similar to Accept Hosted as per the second screenshot below Error Handling section (
Could you confirm whether Accept.js hosted form has such handling or otherwise?
Though the zip code is available on the Accept.js hosted payment information form, it's somehow not part of its response as per the Handling the Response section of the documentation (https://developer.authorize.net/api/reference/features/acceptjs.html#Handling_the_Response).
Therefore I currently have no way to pass a zip code (that was entered on Accept.js hosted form) to the billTo in the request.
Could you check and confirm how to retrieve the zip code from the response returned by Accept.js hosted form?
The Accept Token which you get from the Accept.js UI also has the zip code in it .
If you pass the token in the createTransaction and dont put anything in the billTo , we internally pass the zipCode in the billTo fields so if zip code verficiation fail , the payment should fail .
Hope it helps !