cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

hosted payment form "Unexpected error"

I am developing a webpage that uses the Authorize.net hosted payment form to process the credit cards. The payment form loads fine, but when I fill in the form and hit the "Pay" button, the message "Unexpected error. Please try again."

 

If I hit "Pay" again it will come back with the message "Finger Print value is not valid."

 

What is the issue here and how can it be resolved?

 

thank you.

aschuck
Member
45 REPLIES 45

Hello @aschuck

 

Is this occuring in the sanbox or production?  Can you post how you are calling Get an Accept Payment Page?

 

Richard

RichardH
Administrator Administrator
Administrator

This is on production with "test mode" turned on. The same code works fine on a sandbox account. Here is a sample of how it's being used:

 

 

 


$request = new AnetAPI\GetHostedPaymentPageRequest();

$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
$merchantAuthentication->setName($apiLoginId);
$merchantAuthentication->setTransactionKey($transactionKey);
$request->setMerchantAuthentication($merchantAuthentication);

$transactionRequest = new AnetAPI\TransactionRequestType();
$transactionRequest->setTransactionType('authCaptureTransaction');
$transactionRequest->setAmount($amount);

$orderType = new AnetAPI\OrderType();
$orderType->setInvoiceNumber($invoiceNumber);
$transactionRequest->setOrder($orderType);

$request->setTransactionRequest($transactionRequest);

$settingObj = new AnetAPI\SettingType();
$settingObj->setSettingName('hostedPaymentReturnOptions');
$value = json_encode(['url' => $processLink, 'cancelUrl' => $cancelLink], JSON_UNESCAPED_SLASHES);
$settingObj->setSettingValue($value);
$request->addToHostedPaymentSettings($settingObj);

$controller = new AnetController\GetHostedPaymentPageController($request);
$response = $controller->executeWithApiResponse($this->environment);

$token = $response->getToken();

return "
<form method=\"post\" action=\"https://accept.authorize.net/payment/payment\">
              <input type=\"hidden\" name=\"token\" value=\"$token\" />

              <input type=\"submit\" />
</form>
";

@aschuck

 

I suspect the issue is attempting a transaction while in Test Mode.  Test Mode instructs the gateway to only validate credentials, it does not actually process the transaction, nothing is stored at the gateway and a transaction ID is always zero.

 

Can you try this in live mode?  Make sure you void the transaction if production.

 

If you prefer, try the same conditions in the sandbox using test mode to see if you get similar results.

 

Either way let us know the results so we can report the issue to product development.

 

Richard

same issue happends with me.. too.. in sandbox.. its working fine.. when we use live api loginid and transaction key then it throw error
Finger Print value is not valid.

i have tried with production live mode and test mode.. i have checked every setting on authorize.net gateway setting.. i dont find anything wrong or missing in setting but its not solve yet.. i have tried several way..
ACCESS hosted method i am using.. and what ever parameter is mentioned in document which i have passed

and get token correctly and then hosted form appear. then enter credit card information and all then press Pay button then its thorws error
Finger Print value is not valid.

not sure what to do? any guideance or help ...

please .. i have spent a lot of time on this.. its wierd issue.. not much help available on googling too about this issue

thanks in adavance.

VJ

I too am getting the error "Fingerprint value is invalid".  

It just recently started happening in the Production (non-test) environment.

Everything was working okay earlier in the month.

 

Bert

I tested this again in the SandBox and it worked fine.

Took the same code (changing the MERCHANT_TRANSACTION_KEY, MERCHANTE_LOGIN_ID) and the following lines of code:

 

-------- snippet of output from diff command -----------------------------------

 

<     $response = $controller->executeWithApiResponse( \net\authorize\api\constants\ANetEnvironment::SANDBOX);

---

>     $response = $controller->ex

ecuteWithApiResponse( \net\authorize\api\constants\ANetEnvironment::PRODUCTION);

116c117

< <form id="send_token" action="https://test.authorize.net/payment/payment" method="post" target="load_payment" >

---

> <form id="send_token" action="https://secure.authorize.net/payment/payment" method="post" target="load_payment" >

118c119

< <form id="send_token" action="https://test.authorize.net/payment/payment" method="post" >

---

> <form id="send_token" action="https://secure.authorize.net/payment/payment" method="post" >

-b

 

-------------------------------------------------

 

The production environment gives the error "Finger Print value is invalid".

I even logged onto Authorize.Net to get a new Merchant_Transaction_Key.  Same error.

 

Bert

 

@bertq @Appliquertech 


I've reported your issue to the product team for analysis. 

I'd recommend subscribing to this topic so that you'll be alerted via email if there are updates. To subscribe, click Topic Options at the top of this thread and then select Subscribe. You'll then receive an email once anyone replies to your post.

Thanks,

Richard

@Appliquertech

 

For your production endpoint, could you try using https://accept.authorize.net/payment/payment and see if you get better results?

 

Richard

Using  https://accept.authorize.net/payment/payment gives the same error message.

 

Bert