cancel
Showing results for 
Search instead for 
Did you mean: 

PHP API getting no response at times

We're using the PHP API (net\authorize\api\contract\v1) and we've been running transactions and at times get no response from Authorize.net. It works the majority of the time, but in a 24 hour period we've had 8 instances of no response.

 

I initialize the $response var with = null and then after I call for a response it is set by 

$this->response = $this->controller->executeWithApiResponse($this->configHandle->getUrl());

 

Then I test: 

if ($this->response != null)
{ 
...
}
else
{
        // response is NULL
	$this->returnArray['error'] = true;
	$this->returnArray['error_code'] = false;
}

It's pretty simple so I really don't have an exact error for the failure. I catch this in my PHP processing after the fact.

 

I have read about others having connection problems, so I'm wondering if we're suffereing from the same thing.

 

Is Authorize.net aware of a prolem we should know about?

 

Thanks,

 

Don

fifty-git
Regular Contributor
1 REPLY 1

Hi Don,

 

We're not aware of any specific problem, but since you're sending packets across the internet, it's not impossible that one or two of those packets go missing from time to time. Your request is traveling over a bunch of networks that neither you or us have control over. If they drop a packet on the way to Authorize.Net, or a packet is lost on the response's way back, the end result is going to be the same from your perspective: No response to your transaction.

 

This should be rare, but there's virtually nothing you can do to keep it from happening. What you can do, however, is implement some strategies to minimize any problematic effects.

 

  1. Never report a lack of response as a decline. The card may have actually been authorized, and if you tell the customer their card has declined but they see an actual hold on funds, they will likely be upset.
  2. Determine whether to automatically try the card again. You can try to find out the transaction status a couple of ways. You can implement Webhooks so that you're notified of transaction events. That way, if the card is still authorized, you would get a Webhook notification even if you didn't receive the transaction response. Additionally, you could run a getUnsettledTransactionList request to determine if your transaction was received and processed. If using those methods you're confident the transaction was processed, go ahead and report success to the customer. Otherwise, you could attempt to rerun the transaction, or report an error to the customer and let them decide how to proceed.
Aaron
All Star