I receive my token just fine, what are the next steps to set up the form fields for the post to
https://apitest.authorize.net/xml/v1/request.api
Do I call certain API's, a little confused by the docs on this REST interface?
When I call :
$lineItem1 = new AnetAPI\LineItemType();
$lineItem1->setItemId($item_id);
...
$an_tranobj->addToLineItems($lineItem1);
Is this really generating the XML to be sent.
Do I need to use the API to correctly generate the XML for AN to accept it?
I have had a working version som SIM for over 8 years and the conversion is causing lots of problems, I use REST interfaces on other interfaces and they usually create a code example of a start to finish, I have looked at the ones on GitHub, but they all seem to assume facts not in evidence!
I am hoping one of you experts can lend me a hand on this.
Jim
03-12-2019 08:58 AM
NO pure PHP, and the API via And I do get a token back, then post page as per docs to
https://apitest.authorize.net/xml/v1/request.api
function get_an_token(AnetAPI\MerchantAuthenticationType $ma,$invoice,AnetAPI\TransactionR equestType $an_obj,array $stary = null) { if(is_null($stary)) { $stary = $this->get_form_option(); } //----------------------------------------------------------- // //----------------------------------------------------------- $ma = $this->merchant_authenticate(); $request = new AnetAPI\GetHostedPaymentPageRequest(); $request->setMerchantAuthentication($ma); $request->setRefId($invoice);//refId is the invioce $request->setTransactionRequest($an_obj); $stary = $this->get_form_options(); if(count($stary) > 0) { foreach($stary as $skey => $sval) { if($this->DEBUG) { $this->logEvent("INFO: SKEY[".$skey."]"); } $request->addToHostedPaymentSettings($sval); } } //----------------------------------------------------------- //EXECUTE REQUEST //----------------------------------------------------------- $controller = new AnetController\GetHostedPaymentPageController($request); if($this->mode == '1' or $this->mode == '4') { $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEn vironment::SANDBOX); } elseif($this->mode == '3') { $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEn vironment::PRODUCTION); } else { $this->logEvent("ERROR: UNKNOWN MODE[".$this->mode."] ***** SPECIFIED *****"); return; } //----------------------------------------------------------- //SET RESPONSE //----------------------------------------------------------- if (($response != null) && ($response->getMessages()->getResultCode() == "Ok")) { $this->token = $response->getToken(); if($this->DEBUG){$this->logEvent("INFO: TOKEN RECEIVED[".$this->token."]");} $message = $response->getMessages()->getMessage(); foreach($message as $mkey => $mval) { $this->logEvent("INFO: ".$message[$mkey]->getCode(). " ".$message[$mkey]->getText()); } } else { $this->logEvent("ERROR: Failed to get hosted payment page token"); $error_message = $response->getMessages()->getMessage(); $this->logEvent("ERROR: ".$error_message[0]->getCode()." ".$error_message[0]->getTe xt()); } return($response);
03-12-2019 11:48 AM - edited 03-12-2019 11:50 AM
HERE IS THE PAGE I GET BACK FROM AUTHORIZE.NET
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> <head id="Head1"><title> Secure Information </title> <script type="text/javascript"> var g_token = "IE..TOKEN-HERE"; var g_merchantData = {"totalAmount":"62.5","currencySymbol":"$"}; var g_pageOptions = {"hostedPaymentButtonOptions":{"text":"Submit Payment"},"hostedPaymentStyleOptions":{"bgColor":"red"},"hostedPaymentOrderOptions":{"show":true,"merchantName":"Texas Girls Coaches Assoc."},"hostedPaymentReturnOptions":{"url":"http://tgca_dev.jdoherty.net/php/sadispatch.php?event=renew_ccpost; var g_paymentProfiles = null; var g_maxPaymentProfiles = false; var g_errorPanelMessage = "There was a technical issue processing your request."; var g_siteKey = "6Lc8tgYAAAAAAFfalsuPuIZ6bv_2dGT_Y9ZxURiK"; </script> <script type="text/javascript"> var g_EcheckEnabled = true; var g_CreditEnabled = true; </script> <base href="./Scripts/v1/"> </head> <body> <div class="PageOuter" id="divPageOuter"> <div id="divPopupScreen" class="PopupScreen" style="display:none;"></div> <div class="Page" id="divPage"> <div class="PageMain container" id="divPageMain container"> <app-accept-payment></app-accept-payment> <link href="styles.bundle.css" rel="stylesheet"/> <script type="text/javascript" src="inline.bundle.js"></script> <script type="text/javascript" src="polyfills.bundle.js"></script> <script type="text/javascript" src="scripts.bundle.js"></script> <script type="text/javascript" src="main.bundle.js"></script> </div> <div class="PageMainAfter"></div> </div> </div> </body> </html>
03-12-2019 12:12 PM
03-14-2019 08:03 PM