function make_transaction2($post_order) { //echo "<pre>"; //print_r($post_order); //echo "</pre><br>-------------------------------<br>"; // Create the payment data for credit card $payment = $this->prepare_order($post_order); //$merchantAuthentication = $this->sandbox_authorize(); $merchantAuthentication = $this->authorize(); $refId = 'ref' . time(); // Order info $invoiceNo = time(); $order = new AnetAPI\OrderType(); $order->setInvoiceNumber($invoiceNo); if ($order->group == 0) { $order->setDescription($post_order->item); $lineitem = new AnetAPI\LineItemType(); $lineitem->setItemId(time()); $lineitem->setName($post_order->item); $lineitem->setDescription($post_order->item); $lineitem->setQuantity("1"); $lineitem->setUnitPrice($post_order->sum); $lineitem->setTaxable("N"); } else { $order->setDescription($post_order->item); $lineitem = new AnetAPI\LineItemType(); $lineitem->setItemId(time()); $lineitem->setName("{$post_order->item}"); $lineitem->setDescription($post_order->item); $lineitem->setQuantity("1"); $lineitem->setUnitPrice($post_order->sum); $lineitem->setTaxable("N"); } // end else // Customer info $custID = round(time() / 3785); $customer = new AnetAPI\CustomerDataType(); $customer->setId($custID); $customer->setEmail($post_order->cds_email); $names = explode("/", $post_order->cds_name); $firstname = $names[0]; $lastname = $names[1]; //Ship To Info $shipto = new AnetAPI\NameAndAddressType(); $shipto->setFirstName($firstname); $shipto->setLastName($lastname); $shipto->setCompany('Student'); $shipto->setAddress($post_order->cds_address_1); $shipto->setCity($post_order->cds_city); $shipto->setState($post_order->cds_state); $shipto->setZip($post_order->cds_zip); $shipto->setCountry("USA"); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($firstname); $billto->setLastName($lastname); $billto->setCompany("Student"); $billto->setAddress($post_order->cds_address_1); $billto->setCity($post_order->cds_city); $billto->setState($post_order->cds_state); $billto->setZip($post_order->cds_zip); $billto->setCountry("USA"); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($post_order->sum); $transactionRequestType->setPayment($payment); $transactionRequestType->setOrder($order); $transactionRequestType->addToLineItems($lineitem); $transactionRequestType->setCustomer($customer); $transactionRequestType->setBillTo($billto); $transactionRequestType->setShipTo($shipto); $request = new AnetAPI\CreateTransactionRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setRefId($refId); $request->setTransactionRequest($transactionRequestType); $controller = new AnetController\CreateTransactionController($request); //$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); //echo "--------Card payment response1 <pre>"; //print_r($response); //echo "</pre><br>"; if ($response != null) { $tresponse = $response->getTransactionResponse(); //echo "--------Card payment response2 <pre>"; //print_r($tresponse); //echo "</pre><br>"; //die(); if ($tresponse != null && $tresponse->getResponseCode() == "1") { //echo "Charge Credit Card AUTH CODE : " . $tresponse->getAuthCode() . "\n"; //echo "Charge Credit Card TRANS ID : " . $tresponse->getTransId() . "\n"; $status = array('auth_code' => $tresponse->getAuthCode(), 'trans_id' => $tresponse->getTransId(), 'auth_code' => $tresponse->getResponseCode(), 'sum' => $post_order->sum); return $status; } else { $this->save_log($tresponse, $post_order); return false; } } else { //echo "Charge Credit card Null response returned"; return false; } }
// Tax info $tax = new AnetAPI\ExtendedAmountType(); $tax->setName("level 2 tax name"); $tax->setAmount(4.5); $tax->setDescription("level 2 tax"); // Customer info $customer = new AnetAPI\CustomerDataType(); $customer->setId("15"); $customer->setEmail("*****@*****.**"); // PO Number $ponumber = "15"; //Ship To Info $shipto = new AnetAPI\NameAndAddressType(); $shipto->setFirstName("Bayles"); $shipto->setLastName("China"); $shipto->setCompany("Thyme for Tea"); $shipto->setAddress("12 Main Street"); $shipto->setCity("Pecan Springs"); $shipto->setState("TX"); $shipto->setZip("44628"); $shipto->setCountry("USA"); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName("Ellen"); $billto->setLastName("Johnson"); $billto->setCompany("Souveniropolis"); $billto->setAddress("14 Main Street"); $billto->setCity("Pecan Springs"); $billto->setState("TX"); $billto->setZip("44628"); $billto->setCountry("USA");
function make_transaction($post_order) { //echo "<pre>"; //print_r($post_order); //echo "</pre><br>"; //die(); $names = explode(" ", $post_order->cardholder); if (count($names) == 2) { $firstname = $names[0]; $lastname = $names[1]; } // end if if (count($names) == 3) { $firstname = $names[0] . " " . ($lastname = $names[1]); $lastname = $names[2]; } // end if $payment = $this->prepare_order($post_order); $merchantAuthentication = $this->authorize(); $refId = 'ref' . time(); $state = $this->get_user_state($post_order->state); $invoiceNo = time(); $order = new AnetAPI\OrderType(); $order->setInvoiceNumber($invoiceNo); $order->setDescription($post_order->item); $lineitem = new AnetAPI\LineItemType(); $lineitem->setItemId(time()); $lineitem->setName($post_order->item); $lineitem->setDescription($post_order->item); $lineitem->setQuantity("1"); $lineitem->setUnitPrice($post_order->amount); $lineitem->setTaxable("N"); // Customer info $custID = round(time() / 3785); $customer = new AnetAPI\CustomerDataType(); $customer->setId($custID); $customer->setEmail($post_order->email); //Ship To Info $address = (string) $post_order->street . " " . (string) $post_order->city . " " . $state; $shipto = new AnetAPI\NameAndAddressType(); $shipto->setFirstName($firstname); $shipto->setLastName($lastname); $shipto->setCompany('Student'); $shipto->setAddress($address); $shipto->setCity($post_order->city); $shipto->setState($state); $shipto->setZip($post_order->zip); $shipto->setCountry("USA"); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($firstname); $billto->setLastName($lastname); $billto->setCompany("Student"); $billto->setAddress($address); $billto->setCity($post_order->city); $billto->setState($state); $billto->setZip($post_order->zip); $billto->setCountry("USA"); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($post_order->amount); $transactionRequestType->setPayment($payment); $transactionRequestType->setOrder($order); $transactionRequestType->addToLineItems($lineitem); $transactionRequestType->setCustomer($customer); $transactionRequestType->setBillTo($billto); $transactionRequestType->setShipTo($shipto); $request = new AnetAPI\CreateTransactionRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setRefId($refId); $request->setTransactionRequest($transactionRequestType); $controller = new AnetController\CreateTransactionController($request); $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); //$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); if ($response != null) { $tresponse = $response->getTransactionResponse(); if ($tresponse != null && $tresponse->getResponseCode() == "1") { $userid = $this->get_user_id($post_order->email); if (!is_numeric($post_order->class)) { //echo "Inside group name ...<br>"; $groupid = $this->get_group_id($post_order->class); } else { //echo "Inside group id ...<br>"; $groupid = $post_order->class; } //echo "Group ID: ".$groupid."<br>"; $status = new stdClass(); $status->auth_code = $tresponse->getAuthCode(); $status->trans_id = $tresponse->getTransId(); $status->response_code = $tresponse->getResponseCode(); $status->userid = $userid; $status->groupid = $groupid; $this->add_student_payment($post_order, $status); return true; } else { $this->save_log($tresponse); return false; } } else { //echo "Charge Credit card Null response returned"; return false; } }