private function charge_credit_card() { // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName($this->api_login_id); $merchantAuthentication->setTransactionKey($this->api_transaction_key); $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber($this->card_number); $creditCard->setExpirationDate($this->expiration_year . '-' . $this->expiration_month); $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); // Order info $order = new AnetAPI\OrderType(); $order->setInvoiceNumber($this->invoice_number); $order->setDescription(get_bloginfo('name')); $cart_contents = $this->purchase_log->get_cart_contents(); $lineitems = array(); // Line Item Info foreach ($cart_contents as $index => $item) { // this is for the product options support that can be used in place of variations if (defined('OPTION_BASE')) { $options = wpsc_get_cart_item_meta($item->id, OPTION_BASE, true); if (!empty($options)) { $options_message = strip_tags($options->message()); } } $custom_description = $item->name . ' ' . $options_message . ' ' . $item->custom_message; $lineitems[$index] = new AnetAPI\LineItemType(); $lineitems[$index]->setItemId($item->prodid); $lineitems[$index]->setName(substr($item->name, 0, 31)); $lineitems[$index]->setDescription(substr($custom_description, 0, 255)); $lineitems[$index]->setQuantity($item->quantity); $lineitems[$index]->setUnitPrice($this->force_two_decimals($item->price)); $lineitems[$index]->setTaxable(0.0 != floatval($item->tax_charged)); } // Tax info $tax = new AnetAPI\ExtendedAmountType(); $tax->setName("Sales Tax"); $tax->setAmount($this->force_two_decimals($this->purchase_log->get('wpec_taxes_total'))); $tax->setDescription("Sales Tax"); // Customer info $customer = new AnetAPI\CustomerDataType(); $wp_user = get_user_by('email', $this->checkout_data->get('billingemail')); if ($wp_user) { $customer->setId($wp_user->ID); } $customer->setEmail($this->checkout_data->get('billingemail')); // PO Number $ponumber = $this->checkout_data->get('billingponumber'); //Ship To Info $shipto = new AnetAPI\NameAndAddressType(); $shipto->setFirstName($this->checkout_data->get('shippingfirstname')); $shipto->setLastName($this->checkout_data->get('shippinglastname')); // $shipto->setCompany( $this->checkout_data->get( 'shippingcompany') ); $shipto->setAddress($this->checkout_data->get('shippingaddress')); $shipto->setCity($this->checkout_data->get('shippingcity')); $shipto->setState($this->checkout_data->get('shippingstate')); $shipto->setZip($this->checkout_data->get('shippingpostcode')); $shipto->setCountry($this->checkout_data->get('shippingcountry')); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($this->checkout_data->get('billingfirstname')); $billto->setLastName($this->checkout_data->get('billinglastname')); // $billto->setCompany( $this->checkout_data->get( 'billingcompany') ); $billto->setAddress($this->checkout_data->get('billingaddress')); $billto->setCity($this->checkout_data->get('billingcity')); $billto->setState($this->checkout_data->get('billingstate')); $billto->setZip($this->checkout_data->get('billingpostcode')); $billto->setCountry($this->checkout_data->get('billingcountry')); $billto->setPhoneNumber($this->checkout_data->get('billingphone')); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); foreach ($lineitems as $lineitem) { $transactionRequestType->addToLineItems($lineitem); } $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($this->force_two_decimals($this->purchase_log->get('totalprice'))); $transactionRequestType->setTax($tax); $transactionRequestType->setPayment($paymentOne); $transactionRequestType->setOrder($order); if (!empty($ponumber)) { $transactionRequestType->setPoNumber($ponumber); } $transactionRequestType->setCustomer($customer); $transactionRequestType->setBillTo($billto); $transactionRequestType->setShipTo($shipto); if (!empty($_SERVER['REMOTE_ADDR'])) { $transactionRequestType->setCustomerIP($_SERVER['REMOTE_ADDR']); } $request = new AnetAPI\CreateTransactionRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setRefId($refId); $request->setTransactionRequest($transactionRequestType); $controller = new AnetController\CreateTransactionController($request); if ($this->sandbox_mode) { $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); } else { $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); } $result = false; if ($response != null) { $tresponse = $response->getTransactionResponse(); if ($tresponse != null) { // see http://developer.authorize.net/api/reference/ for definitions if ($tresponse->getResponseCode() == "1") { // 1 = Approved $this->set_purchaselog_status(WPSC_Purchase_Log::ACCEPTED_PAYMENT); $result = true; } elseif ($tresponse->getResponseCode() == "2") { // 2 = Declined $this->set_purchaselog_status(WPSC_Purchase_Log::INCOMPLETE_SALE); $result = true; } elseif ($tresponse->getResponseCode() == "3") { // 3 = Error $this->set_purchaselog_status(WPSC_Purchase_Log::INCOMPLETE_SALE); $result = false; } elseif ($tresponse->getResponseCode() == "4") { // 4 = Held for Review $this->set_purchaselog_status(WPSC_Purchase_Log::INCOMPLETE_SALE); $result = true; } else { // Unknown transaction code $this->set_purchaselog_status(WPSC_Purchase_Log::INCOMPLETE_SALE); error_log(__CLASS__ . '::' . __FUNCTION__ . ' ' . "ERROR: Charge Credit Card ERROR : Unknown transaction response code"); } wpsc_update_purchase_meta($this->invoice_number, 'pbci_auth_net_raw_response', $tresponse); $messages = wpsc_get_customer_meta('checkout_misc_error_messages'); if (!is_array($messages)) { $messages = array(); } // get the transaction error messages $transaction_error_messages = $response->getMessages(); if ($transaction_error_messages) { $transaction_error_messages = $transaction_error_messages->getMessage(); } if (!is_array($transaction_error_messages)) { $transaction_error_messages = array($transaction_error_messages); } foreach ($transaction_error_messages as $error_message) { $messages[] = $error_message->getText(); } // get the transaction response error messages $transaction_errors = $tresponse->getErrors(); foreach ($transaction_errors as $transaction_error) { $messages[] = $transaction_error->getErrorText(); } wpsc_update_customer_meta('checkout_misc_error_messages', $messages); $this->purchase_log->set('transactid', $tresponse->getTransId()); $this->purchase_log->set('authcode', $tresponse->getAuthCode()); } else { error_log(__CLASS__ . '::' . __FUNCTION__ . ' ' . "ERROR: Charge Credit Card ERROR : Invalid response"); } } else { error_log(__CLASS__ . '::' . __FUNCTION__ . ' ' . "ERROR: Charge Credit card Null response returned"); } $this->purchase_log->save(); return $result; }
public static function CreateCustomerProfile(Payload $payload) { // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName(config('subscription.API_LOGIN_ID')); $merchantAuthentication->setTransactionKey(config('subscription.TRANSACTION_KEY')); $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber($payload->cardNumber); $creditCard->setExpirationDate($payload->expiryDate); $paymentCreditCard = new AnetAPI\PaymentType(); $paymentCreditCard->setCreditCard($creditCard); // Create the Bill To info $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($payload->firstName); $billto->setLastName($payload->lastName); $billto->setCompany($payload->company); $billto->setAddress($payload->address); $billto->setCity($payload->city); $billto->setState($payload->state); $billto->setZip($payload->zip); $billto->setCountry("USA"); // Create a Customer Profile Request // 1. create a Payment Profile // 2. create a Customer Profile // 3. Submit a CreateCustomerProfile Request // 4. Validate Profiiel ID returned $paymentprofile = new AnetAPI\CustomerPaymentProfileType(); $paymentprofile->setCustomerType('individual'); $paymentprofile->setBillTo($billto); $paymentprofile->setPayment($paymentCreditCard); $paymentprofiles[] = $paymentprofile; $customerprofile = new AnetAPI\CustomerProfileType(); $customerprofile->setDescription($payload->description); $customerprofile->addToShipToList($billto); $merchantCustomerId = time() . rand(1, 150); $customerprofile->setMerchantCustomerId($merchantCustomerId); $customerprofile->setEmail($payload->email); $customerprofile->setPaymentProfiles($paymentprofiles); $request = new AnetAPI\CreateCustomerProfileRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setRefId($refId); $request->setProfile($customerprofile); $controller = new AnetController\CreateCustomerProfileController($request); $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); if ($response != null && $response->getMessages()->getResultCode() == "Ok") { return $response; } else { throw new PaymentErrorException($response->getMessages()->getMessage()[0]->getText()); } }
$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"); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount(151.51); $transactionRequestType->setPayment($paymentOne); $transactionRequestType->setOrder($order); $transactionRequestType->addToLineItems($lineitem); $transactionRequestType->setTax($tax);
//Set profile ids of profile to be updated $request = new AnetAPI\UpdateCustomerPaymentProfileRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setCustomerProfileId("36731856"); $controller = new AnetController\GetCustomerProfileController($request); // We're updating the billing address but everything has to be passed in an update // For card information you can pass exactly what comes back from an GetCustomerPaymentProfile // if you don't need to update that info $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber("XXXX1111"); $creditCard->setExpirationDate("XXXX"); $paymentCreditCard = new AnetAPI\PaymentType(); $paymentCreditCard->setCreditCard($creditCard); // Create the Bill To info for new payment type $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName("Mrs Mary"); $billto->setLastName("Doe"); $billto->setAddress("1 New St."); $billto->setCity("Brand New City"); $billto->setState("WA"); $billto->setZip("98004"); $billto->setPhoneNumber("000-000-0000"); $billto->setfaxNumber("999-999-9999"); $billto->setCountry("USA"); // Create the Customer Payment Profile object $paymentprofile = new AnetAPI\CustomerPaymentProfileExType(); $paymentprofile->setCustomerPaymentProfileId("33211899"); $paymentprofile->setBillTo($billto); $paymentprofile->setPayment($paymentCreditCard); // Submit a UpdatePaymentProfileRequest $request->setPaymentProfile($paymentprofile);
public function individual_auto_recurring($data) { // pr($this->request->data); exit; //Get ID and Input amount from edit_customer page $cid = $data['cid']; // pr($this->request->data); exit; //pr($this->request->data['Transaction']); $this->layout = 'ajax'; // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); // $merchantAuthentication->setName("95x9PuD6b2"); // testing mode $merchantAuthentication->setName("7zKH4b45"); //42UHbr9Qa9B live mode // $merchantAuthentication->setTransactionKey("547z56Vcbs3Nz9R9"); // testing mode $merchantAuthentication->setTransactionKey("738QpWvHH4vS59vY"); // live mode 7UBSq68ncs65p8QX $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $this->loadModel('PackageCustomer'); $this->loadModel('Transaction'); $this->loadModel('Ticket'); $this->loadModel('Track'); $loggedUser = $this->Auth->user(); $this->request->data['Transaction']['user_id'] = $loggedUser['id']; $creditCard->setCardNumber($data['card_no']); $creditCard->setExpirationDate($data['exp_date']); // $creditCard->setCardNumber("4117733943147221"); // live // $creditCard->setExpirationDate("07-2019"); //live $creditCard->setcardCode($data['cvv_code']); //live $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($data['fname']); $billto->setLastName($data['lname']); $billto->setCompany($data['company']); //$billto->setAddress("14 Main Street"); $billto->setAddress($data['address']); $billto->setCity($data['city']); $billto->setState($data['state']); $billto->setZip($data['zip_code']); $billto->setCountry($data['country']); $billto->setphoneNumber($data['phone']); $billto->setfaxNumber($data['fax']); $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($data['charge_amount']); // to do set amount from form $transactionRequestType->setPayment($paymentOne); $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); $this->request->data['Transaction']['error_msg'] = ''; $this->request->data['Transaction']['status'] = ''; $this->request->data['Transaction']['trx_id'] = ''; $this->request->data['Transaction']['auth_code'] = ''; $this->request->data['Transaction']['package_customer_id'] = $data['cid']; $this->request->data['Transaction']['fname'] = $data['fname']; $this->request->data['Transaction']['lname'] = $data['lname']; $this->request->data['Transaction']['exp_date'] = $data['exp_date']; $this->request->data['Transaction']['address'] = $data['address']; $this->request->data['Transaction']['city'] = $data['city']; $this->request->data['Transaction']['state'] = $data['state']; $this->request->data['Transaction']['zip_code'] = $data['zip_code']; $this->request->data['Transaction']['phone'] = $data['phone']; $this->request->data['Transaction']['paid_amount'] = $data['charge_amount']; $this->request->data['Transaction']['card_no'] = $data['card_no']; $this->request->data['Transaction']['cvv_code'] = $data['cvv_code']; $this->request->data['Transaction']['fax'] = $data['fax']; if ($response != null) { $tresponse = $response->getTransactionResponse(); // pr($tresponse ); exit; if ($tresponse != null && $tresponse->getResponseCode() == "1") { $this->request->data['Transaction']['status'] = 'success'; $r_from = date('Y-m-d'); $this->PackageCustomer->id = $data['cid']; $this->PackageCustomer->saveField("r_form", $r_from); $this->request->data['Transaction']['trx_id'] = $tresponse->getTransId(); $this->request->data['Transaction']['auth_code'] = $tresponse->getAuthCode(); $tdata['Ticket'] = array('content' => 'Transaction for ' . $data['fname'] . ' ' . $data['lname'] . ' successfull'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $data['cid'], 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'closed', 'forwarded_by' => $loggedUser['id']); $this->Track->save($trackData); $status = 1; } else { $this->request->data['Transaction']['paid_amount'] = 0; $this->request->data['Transaction']['status'] = 'error'; $this->request->data['Transaction']['error_msg'] = "Charge Credit Card ERROR : Invalid response"; $tdata['Ticket'] = array('content' => 'Transaction for ' . $data['fname'] . ' ' . $data['lname'] . ' failed for Charge Credit Card ERROR'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $cid, 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'closed', 'forwarded_by' => $loggedUser['id']); $this->Track->save($trackData); $status = 0; } } else { $this->request->data['Transaction']['paid_amount'] = 0; $this->request->data['Transaction']['status'] = 'error'; $this->request->data['Transaction']['error_msg'] = "Charge Credit card Null response returned"; $tdata['Ticket'] = array('content' => 'Transaction for ' . $data['fname'] . ' ' . $data['lname'] . ' failed for Charge Credit card Null response'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $cid, 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'closed', 'forwarded_by' => $loggedUser['id']); $this->Track->save($trackData); $status = 0; } $this->Transaction->create(); $this->Transaction->save($this->request->data['Transaction']); return $status; //$this->set(compact('msg')); }
protected function processPayment(Application $app, $cardInfo, $amount, $user, $students, $bill_address) { define("AUTHORIZENET_LOG_FILE", "../authorize.net.log"); // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName($app['authrize.net.name']); $merchantAuthentication->setTransactionKey($app['authrize.net.key']); $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber($cardInfo->card_num); $creditCard->setExpirationDate($cardInfo->exp); $creditCard->setCardCode($cardInfo->code); $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); // Order info // $order = new AnetAPI\OrderType(); // $order->setInvoiceNumber($order->getInvoiceNumber()); // $order->setDescription('Payment for '.implode(' ', $students)); // Line Item Info // $lineitem = new AnetAPI\LineItemType(); // $lineitem->setItemId("Shirts"); // $lineitem->setName("item1"); // $lineitem->setDescription("golf shirt"); // $lineitem->setQuantity("1"); // $lineitem->setUnitPrice(20.95); // $lineitem->setTaxable("Y"); // Tax info // $tax = new AnetAPI\ExtendedAmountType(); // $tax->setName("level 2 tax name"); // $tax->setAmount(4.50); // $tax->setDescription("level 2 tax"); // Customer info $customer = new AnetAPI\CustomerDataType(); $customer->setId($user->getUserId()); $customer->setEmail($user->getEmail()); // 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($user->getFirstName()); $billto->setLastName($user->getLastName()); $billto->setCompany(""); $billto->setAddress($bill_address->getStreet()); $billto->setCity($bill_address->getCity()); $billto->setState($bill_address->getState()); $billto->setZip($bill_address->getZip()); $billto->setCountry("USA"); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($amount); $transactionRequestType->setPayment($paymentOne); // $transactionRequestType->setOrder($order); // $transactionRequestType->addToLineItems($lineitem); // $transactionRequestType->setTax($tax); // $transactionRequestType->setPoNumber($ponumber); $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); if (null != $response) { $tresponse = $response->getTransactionResponse(); if ($tresponse != null && $tresponse->getResponseCode() == "1") { // return array( // "AUTH_CODE" => $tresponse->getAuthCode(), // "TRANS_ID" => $tresponse->getTransId() // ); return array('approved' => true, 'data' => $tresponse); } else { return array('approved' => false, 'data' => $tresponse); } } else { return array('approved' => false, 'data' => null); } }
public function process() { $this->layout = 'ajax'; // $this->loadModel('PaidCustomer'); // $sql = "SELECT name, transactionkey ,card_no, exp_date FROM paid_customers "; // $cardinfo = $this->PaidCustomer->query($sql); // // Common setup for API credentials // $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); // $merchantAuthentication->setName("95x9PuD6b2"); // testing mode // //$merchantAuthentication->setName("42UHbr9Qa9B"); // live mode // $merchantAuthentication->setTransactionKey("547z56Vcbs3Nz9R9"); // testing mode //// $merchantAuthentication->setTransactionKey("6468X36RkrKGm3k6"); // live mode // $refId = 'ref' . time(); // // // Create the payment data for a credit card // $creditCard = new AnetAPI\CreditCardType(); // $creditCard->setCardNumber("4111111111111111"); // testing // $creditCard->setExpirationDate("2038-12"); // testing // // // $creditCard->setCardNumber("4117733943147221"); // live // // $creditCard->setExpirationDate("07-2019"); //live // $paymentOne = new AnetAPI\PaymentType(); // $paymentOne->setCreditCard($creditCard); // // // Order info // $order = new AnetAPI\OrderType(); // $order->setInvoiceNumber("101"); // $order->setDescription("Golf Shirts"); // // // Line Item Info // $lineitem = new AnetAPI\LineItemType(); // $lineitem->setItemId("Shirts"); // $lineitem->setName("item1"); // $lineitem->setDescription("golf shirt"); // $lineitem->setQuantity("1"); // $lineitem->setUnitPrice(1.00); // $lineitem->setTaxable(false); // // // Tax info //// $tax = new AnetAPI\ExtendedAmountType(); //// $tax->setName("level 2 tax name"); //// $tax->setAmount(4.50); //// $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("11554"); // // $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"); // //create a transaction // $transactionRequestType = new AnetAPI\TransactionRequestType(); // $transactionRequestType->setTransactionType("authCaptureTransaction"); // $transactionRequestType->setAmount(1.00); //// $transactionRequestType->setPayment($paymentOne); //// $transactionRequestType->setOrder($order); //// $transactionRequestType->addToLineItems($lineitem); //// $transactionRequestType->setTax($tax); //// $transactionRequestType->setPoNumber($ponumber); //// $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); //Testing // // $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); // live // // pr($response); // exit; // // $msg = ''; // if ($response != null) { // $tresponse = $response->getTransactionResponse(); // // if (($tresponse != null) && ($tresponse->getResponseCode() == "1")) { // $msg = "Transaction Successful ! : " . "<br/>"; // $msg .= "Charge Credit Card AUTH CODE : " . $tresponse->getAuthCode() . "<br/>"; // $msg .= "Charge Credit Card TRANS ID : " . $tresponse->getTransId() . "<br/>"; // } else { // $msg = "Charge Credit Card ERROR : Invalid response\n"; // } // } else { // $msg = "Charge Credit card Null response returned"; // } // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); // $merchantAuthentication->setName("95x9PuD6b2"); // testing mode $merchantAuthentication->setName("42UHbr9Qa9B"); // live mode //$merchantAuthentication->setTransactionKey("547z56Vcbs3Nz9R9"); // testing mode $merchantAuthentication->setTransactionKey("6468X36RkrKGm3k6"); // live mode $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $this->loadModel('PaidCustomer'); $this->loadModel('Transaction'); $pcustomers = $this->PaidCustomer->find('all'); // pr($pcustomers); // exit; $msg = '<ul>'; foreach ($pcustomers as $pcustomer) { $pc = $pcustomer['PaidCustomer']; $creditCard->setCardNumber($pc['card_no']); // testing $creditCard->setExpirationDate($pc['exp_date']); // testing // $creditCard->setCardNumber("4117733943147221"); // live // $creditCard->setExpirationDate("07-2019"); //live $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); $transactionData['paid_customer_id'] = $pc['id']; // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($pc['fname']); $billto->setLastName($pc['lname']); // $billto->setCompany("Souveniropolis"); //$billto->setAddress("14 Main Street"); //$billto->setCity("Pecan Springs"); //$billto->setState("TX"); $billto->setZip($pc['zip_code']); //$billto->setCountry("USA"); // Create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($pc['amount']); $transactionRequestType->setPayment($paymentOne); $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); //Testing $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); // live // pr($response); exit; $transactionData['error_msg'] = ''; $transactionData['status'] = ''; $transactionData['trx_id'] = ''; $transactionData['auth_code'] = ''; if ($response != null) { $tresponse = $response->getTransactionResponse(); // pr($tresponse ); exit; if ($tresponse != null && $tresponse->getResponseCode() == "1") { $transactionData['status'] = 'success'; $transactionData['trx_id'] = $tresponse->getTransId(); $transactionData['auth_code'] = $tresponse->getAuthCode(); $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' successfull</li>'; } else { $transactionData['status'] = 'error'; $transactionData['error_msg'] = "Charge Credit Card ERROR : Invalid response"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit Card ERROR</li>'; } } else { $transactionData['status'] = 'error'; $transactionData['error_msg'] = "Charge Credit card Null response returned"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit card Null response</li>'; } $this->Transaction->create(); $this->Transaction->save($transactionData); } $msg .= '</ul>'; $this->set(compact('msg')); }
<?php require 'vendor/autoload.php'; use net\authorize\api\contract\v1 as AnetAPI; use net\authorize\api\controller as AnetController; define("AUTHORIZENET_LOG_FILE", "phplog"); // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName("556KThWQ6vf2"); $merchantAuthentication->setTransactionKey("9ac2932kQ7kN2Wzq"); // An existing customer profile id for this merchant name and transaction key $existingcustomerprofileid = "35872074"; // Create the customer shipping address $customershippingaddress = new AnetAPI\CustomerAddressType(); $customershippingaddress->setFirstName("James"); $customershippingaddress->setLastName("White"); $customershippingaddress->setCompany("Addresses R Us"); $customershippingaddress->setAddress(rand() . " North Spring Street"); $customershippingaddress->setCity("Toms River"); $customershippingaddress->setState("NJ"); $customershippingaddress->setZip("08753"); $customershippingaddress->setCountry("USA"); $customershippingaddress->setPhoneNumber("000-000-0000"); $customershippingaddress->setFaxNumber("999-999-9999"); // Create a new customer shipping address for an existing customer profile $request = new AnetAPI\CreateCustomerShippingAddressRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setCustomerProfileId($existingcustomerprofileid); $request->setAddress($customershippingaddress); $controller = new AnetController\CreateCustomerShippingAddressController($request); $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
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; } }
public function individual_transaction($id = null) { $this->layout = 'ajax'; // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName("95x9PuD6b2"); // testing mode //$merchantAuthentication->setName("42UHbr9Qa9B"); // live mode $merchantAuthentication->setTransactionKey("547z56Vcbs3Nz9R9"); // testing mode //$merchantAuthentication->setTransactionKey("6468X36RkrKGm3k6"); // live mode $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $this->loadModel('PaidCustomer'); $this->loadModel('Transaction'); $pcustomers = $this->PaidCustomer->find('first', array('conditions' => array('PaidCustomer.id' => $id))); //pr($pcustomers); //exit; $msg = '<ul>'; //foreach ($pcustomers as $pcustomer): $pc = $pcustomers['PaidCustomer']; // pr($pc); exit; $creditCard->setCardNumber($pc['card_no']); // testing $creditCard->setExpirationDate($pc['exp_date']); // testing // $creditCard->setCardNumber("4117733943147221"); // live // $creditCard->setExpirationDate("07-2019"); //live $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); $transactionData['paid_customer_id'] = $pc['id']; // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($pc['fname']); $billto->setLastName($pc['lname']); // $billto->setCompany("Souveniropolis"); //$billto->setAddress("14 Main Street"); //$billto->setCity("Pecan Springs"); //$billto->setState("TX"); $billto->setZip($pc['zip_code']); //$billto->setCountry("USA"); // Create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($pc['amount']); $transactionRequestType->setPayment($paymentOne); $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); //Testing //$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::PRODUCTION); // live // pr($response); exit; $transactionData['error_msg'] = ''; $transactionData['status'] = ''; $transactionData['trx_id'] = ''; $transactionData['auth_code'] = ''; if ($response != null) { $tresponse = $response->getTransactionResponse(); // pr($tresponse ); exit; if ($tresponse != null && $tresponse->getResponseCode() == "1") { $transactionData['status'] = 'success'; $transactionData['trx_id'] = $tresponse->getTransId(); $transactionData['auth_code'] = $tresponse->getAuthCode(); $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' successfull</li>'; } else { $transactionData['status'] = 'error'; $transactionData['error_msg'] = "Charge Credit Card ERROR : Invalid response"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit Card ERROR</li>'; } } else { $transactionData['status'] = 'error'; $transactionData['error_msg'] = "Charge Credit card Null response returned"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit card Null response</li>'; } $this->Transaction->create(); $this->Transaction->save($transactionData); // endforeach; //$msg .='</ul>'; $msg1 = '<div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>' . $msg . '</strong> </div>'; $this->Session->setFlash($msg1); return $this->redirect($this->referer()); //$this->set(compact('msg')); }
// Add line items $lineitem = new AnetAPI\LineItemType(); $lineitem->setItemId("Shirts"); $lineitem->setName("item2"); $lineitem->setDescription("tennis shirt"); $lineitem->setQuantity("1"); $lineitem->setUnitPrice(22.89); $lineitem->setTaxable("Y"); // Add new tax info $tax = new AnetAPI\ExtendedAmountType(); $tax->setName("level 2 tax name"); $tax->setAmount(6.5); $tax->setDescription("level 2 tax"); // New Ship To $shipto = new AnetAPI\CustomerAddressType(); $shipto->setFirstName("Mary"); $shipto->setLastName("Smith"); $shipto->setCompany("Tennis Shirts Are Us"); $shipto->setAddress("588 Willis Court"); $shipto->setCity("Pecan Springs"); $shipto->setState("TX"); $shipto->setZip("44628"); $shipto->setCountry("USA"); // Set a new bill to address $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName("Mary"); $billto->setLastName("Smith"); $billto->setCompany("Tennis Shirts Are Us"); $billto->setAddress("588 Willis Court"); $billto->setCity("Pecan Springs"); $billto->setState("TX");
//////////////////////// begin card charging process //////////////////////////// // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); $merchantAuthentication->setName("{$anet_api_login_id}"); $merchantAuthentication->setTransactionKey("{$anet_transaction_key}"); $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber("{$cc_info_array['number']}"); $creditCard->setExpirationDate("{$cc_info_array['exp_yr']}-{$cc_info_array['exp_mo']}"); //$creditCard->setCardCode("{$cc_info_array['cvv']}"); $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName("{$cc_info_array['name_first']}"); $billto->setLastName("{$cc_info_array['name_last']}"); $billto->setAddress("{$cc_info_array['address1']} {$cc_info_array['address2']}"); $billto->setCity("{$cc_info_array['city']}"); $billto->setState("{$cc_info_array['state']}"); $billto->setZip("{$cc_info_array['pos_code']}"); $billto->setCountry("USA"); //create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($payment_amount); $transactionRequestType->setPayment($paymentOne); $transactionRequestType->setBillTo($billto); $request = new AnetAPI\CreateTransactionRequest(); $request->setMerchantAuthentication($merchantAuthentication); $request->setRefId($refId);
$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); if ($response != null && $response->getMessages()->getResultCode() == "Ok") { // echo "SUCCESS: PROFILE RETRIEVED : " . $response->getProfile() . "\n"; $getcustomerprofileid = $response->getProfile(); } else { echo "GetCustomerProfileRequest ERROR : Invalid response\n"; } // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $creditCard->setCardNumber("4012888818888"); $creditCard->setExpirationDate("2038-11"); $paymentCreditCard = new AnetAPI\PaymentType(); $paymentCreditCard->setCreditCard($creditCard); // Create the Bill To info for new payment type $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName("Jane"); $billto->setLastName("Doe"); $billto->setCompany("My company"); $billto->setAddress("588 Willis Ct"); $billto->setCity("Vacaville"); $billto->setState("CA"); $billto->setZip("95688"); $billto->setPhoneNumber("555-555-1212"); $billto->setfaxNumber("999-999-9999"); $billto->setCountry("USA"); // Create a new Customer Payment Profile $paymentprofile = new AnetAPI\CustomerPaymentProfileExType(); $paymentprofile->setCustomerType('individual'); $paymentprofile->setBillTo($billto); $paymentprofile->setPayment($paymentCreditCard); $paymentprofile->setCustomerPaymentProfileId($getcustomerprofileid);
public function individual_transaction_by_card() { // pr($this->request->data); exit; //Get ID and Input amount from edit_customer page $cid = $this->request->data['Transaction']['cid']; $this->request->data['Transaction']['package_customer_id'] = $cid; // pr($this->request->data); exit; $this->loadModel('PackageCustomer'); $cinfo = $this->PackageCustomer->findById($cid); if (isset($cinfo['Psetting']['id'])) { $packagePrice = $cinfo['Psetting']['amount']; } else { $packagePrice = $cinfo['CustomPackage']['charge']; } $dateObj = $this->request->data['Transaction']['exp_date']; $this->request->data['Transaction']['exp_date'] = $dateObj['month'] . '/' . substr($dateObj['year'], -2); //pr($this->request->data['Transaction']); $this->layout = 'ajax'; // Common setup for API credentials $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); // $merchantAuthentication->setName("95x9PuD6b2"); // testing mode $merchantAuthentication->setName("42UHbr9Qa9B"); //42UHbr9Qa9B live mode // $merchantAuthentication->setTransactionKey("547z56Vcbs3Nz9R9"); // testing mode $merchantAuthentication->setTransactionKey("7UBSq68ncs65p8QX"); // live mode 7UBSq68ncs65p8QX $refId = 'ref' . time(); // Create the payment data for a credit card $creditCard = new AnetAPI\CreditCardType(); $this->loadModel('PackageCustomer'); $this->loadModel('Transaction'); $this->loadModel('Ticket'); $this->loadModel('Track'); $this->Transaction->id = $this->request->data['Transaction']['id']; $loggedUser = $this->Auth->user(); $this->request->data['Transaction']['user_id'] = $loggedUser['id']; $pcustomers = $this->PackageCustomer->find('first', array('conditions' => array('PackageCustomer.id' => $cid))); $msg = '<ul>'; //foreach ($pcustomers as $pcustomer): $pc = $this->request->data['Transaction']; // pr($pc); exit; $creditCard->setCardNumber($pc['card_no']); $creditCard->setExpirationDate($pc['exp_date']); // $creditCard->setCardNumber("4117733943147221"); // live // $creditCard->setExpirationDate("07-2019"); //live $paymentOne = new AnetAPI\PaymentType(); $paymentOne->setCreditCard($creditCard); // Bill To $billto = new AnetAPI\CustomerAddressType(); $billto->setFirstName($pc['fname']); $billto->setLastName($pc['lname']); // $billto->setCompany("Souveniropolis"); //$billto->setAddress("14 Main Street"); //$billto->setCity("Pecan Springs"); //$billto->setState("TX"); $billto->setZip($pc['zip_code']); //$billto->setCountry("USA"); // $customerProfile = new AnetAPI\createCustomerPaymentProfileRequest(); // $customerProfile->cardNumber($pc['card_no']); // $customerProfile->billToFirstName($pc['fname']); // $customerProfile->billToLastName($pc['lname']); // $customerProfile->zip($pc['zip_code']); // Create a transaction $transactionRequestType = new AnetAPI\TransactionRequestType(); $transactionRequestType->setTransactionType("authCaptureTransaction"); $transactionRequestType->setAmount($pc['paid_amount']); // to do set amount from form $transactionRequestType->setPayment($paymentOne); $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); // pr($response); exit; $this->request->data['Transaction']['error_msg'] = ''; $this->request->data['Transaction']['status'] = ''; $this->request->data['Transaction']['trx_id'] = ''; $this->request->data['Transaction']['auth_code'] = ''; if ($response != null) { $tresponse = $response->getTransactionResponse(); // pr($tresponse ); exit; if ($tresponse != null && $tresponse->getResponseCode() == "1") { $this->request->data['Transaction']['status'] = 'success'; $this->request->data['Transaction']['trx_id'] = $tresponse->getTransId(); $this->request->data['Transaction']['auth_code'] = $tresponse->getAuthCode(); $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' successfull</li>'; $tdata['Ticket'] = array('content' => 'Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' successfull'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $cid, 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'closed', 'forwarded_by' => $loggedUser['id']); // INCREASE CHARGED AMOUNT IF TRANSACTION IS SUCCESSFUL $due = $packagePrice - $this->request->data['Transaction']['paid_amount']; $this->request->data['Transaction']['due'] = $due; // $this->PackageCustomer->id = $cid; //$data = $this->PackageCustomer->find('first', array('conditions' => array('PackageCustomer.id' => $cid))); // $present_due['PackageCustomer']['charge_amount'] = (float) $data['PackageCustomer']['charge_amount'] + (float) $charged_amount; // $this->PackageCustomer->save($present_due); // $this->PackageCustomer->save($this->request->data['PackageCustomer']); //END OF DUE UPDATE $this->Track->save($trackData); } else { $this->request->data['Transaction']['paid_amount'] = 0; $this->request->data['Transaction']['status'] = 'unpaid'; $this->request->data['Transaction']['error_msg'] = "Charge Credit Card ERROR : Invalid response"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit Card ERROR</li>'; $tdata['Ticket'] = array('content' => 'Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit Card ERROR'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $cid, 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'open', 'forwarded_by' => $loggedUser['id']); $this->Track->save($trackData); } } else { $this->request->data['Transaction']['paid_amount'] = 0; $this->request->data['Transaction']['status'] = 'unpaid'; $this->request->data['Transaction']['error_msg'] = "Charge Credit card Null response returned"; $msg .= '<li> Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit card Null response</li>'; $tdata['Ticket'] = array('content' => 'Transaction for ' . $pc['fname'] . ' ' . $pc['lname'] . ' failed for Charge Credit card Null response'); $tickect = $this->Ticket->save($tdata); // Data save in Ticket $trackData['Track'] = array('package_customer_id' => $cid, 'ticket_id' => $tickect['Ticket']['id'], 'status' => 'open', 'forwarded_by' => $loggedUser['id']); $this->Track->save($trackData); } // pr($this->request->data); exit; $this->Transaction->save($this->request->data['Transaction']); // endforeach; //$msg .='</ul>'; $transactionMsg = '<div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>' . $msg . '</strong> </div>'; $this->Session->setFlash($transactionMsg); return $this->redirect($this->referer()); //$this->set(compact('msg')); }
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; } }