Reply
Contributor
Posts: 13
Registered: ‎04-04-2017

Understanding Request and Response

@Aaron was nice enough to provide me some code to do basic Authorize & Capture CC processing.

 

I think I have finally figured out how the XML template works, but am struggling to understand the code related to the request and response.

 

Here is the code I have so far...

 

// Address to send Credit Card Request to Authorize.net
$url = "https://apitest.authorize.net/xml/v1/request.api";
		
try{
	$ch = curl_init();
	if ($ch === FALSE){
		throw new Exception('failed to initialize');
	}else{
		// set URL and other appropriate options
		curl_setopt($ch, CURLOPT_URL, $url);				curl_setopt($ch, CURLOPT_POST, 1);				curl_setopt($ch, CURLOPT_POSTFIELDS, $xml->asXML());
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false ); $content = curl_exec($ch); $content = str_replace('xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"', '', $content);
$PaymentResponse = new SimpleXMLElement($content);
if ($content === FALSE){ throw new Exception(curl_error($ch), curl_errno($ch)); curl_close($ch); }else{ echo '$PaymentResponse = ' . $PaymentResponse; exit(); } } }catch(Exception $e){ trigger_error(sprintf('Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR); } // End script. exit();

Questions:

1.) Do all of the cURL statements above just send the Request?

 

 

2.) What is the purpose of these two lines?

$content = curl_exec($ch);
$content = str_replace('xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"', '', $content);

 

3.) If the cURL statements in #1 above are just sending the Request using a POST, then why are we assigning the results of curl_exec to a variable?

 

 

4.) What does this code do?

$PaymentResponse = new SimpleXMLElement($content);
if ($content === FALSE){
			throw new Exception(curl_error($ch), curl_errno($ch));
			curl_close($ch);
}else{
			echo '$PaymentResponse = ' . $PaymentResponse;
			exit();
}

Any help in helping me understand how this code works would be *greatly* appreciated so I can start using Authorize.net to make some $$$ for both of us!!

 

Thanks,

 

 

Sally

 

Highlighted
Posts: 2,170
Topics: 50
Kudos: 140
Blog Posts: 64
Registered: ‎12-05-2011

Re: Understanding Request and Response

These questions are more related to programming in PHP than using our API.  We suggest engaging an Authorize.Net Certified Developer with expertise in PHP who could assist.

 

Richard

--------

Webhooks are now available for Authorize.Net

Using SOAP, see our deprecation notice.
Check out Accept.js, our Javascript replacement for DPM.
Pro Tip: Never use test mode in the sandbox, instead use the Testing Guide.