Example #1
0
 function process_payment($order_number, $order_total, &$d)
 {
     global $vendor_name, $VM_LANG, $vmLogger;
     $auth = $_SESSION['auth'];
     /*** Get the Configuration File for eway ***/
     require_once CLASSPATH . "payment/" . $this->classname . ".cfg.php";
     /* eWAY Gateway Location (URI) */
     if (EWAY_TEST_REQUEST == "FALSE") {
         define("GATEWAY_URL", "https://www.eway.com.au/gateway_cvn/xmlpayment.asp");
     } else {
         define("GATEWAY_URL", "https://www.eway.com.au/gateway_cvn/xmltest/testpage.asp");
     }
     // Get user billing information
     $db = new ps_DB();
     $qt = "SELECT * FROM #__users WHERE id='" . $auth["user_id"] . "' AND address_type='BT'";
     $db->query($qt);
     $db->next_record();
     // WE need the $order_total in cents!
     $order_total = $order_total * 100;
     // We need to show the year with two digits only
     $year = substr($_SESSION['ccdata']['order_payment_expire_year'], 2, 2);
     $my_trxn_number = uniqid("eway_");
     $payer_name_is = $_SESSION['ccdata']['order_payment_name'];
     $eway = new EwayPayment(EWAY_CUSTID, GATEWAY_URL);
     $eway->setCustomerFirstname($db->f("first_name"));
     $eway->setCustomerLastname($db->f("last_name"));
     $eway->setCustomerEmail($db->f("email"));
     $eway->setCustomerAddress($db->f("address_1"));
     $eway->setCustomerPostcode($db->f("zip"));
     $eway->setCustomerInvoiceDescription($vendor_name . " Order");
     $eway->setCustomerInvoiceRef($order_number);
     $eway->setCardHoldersName($payer_name_is + '');
     $eway->setCardNumber($_SESSION['ccdata']['order_payment_number']);
     $eway->setCardExpiryMonth($_SESSION['ccdata']['order_payment_expire_month']);
     $eway->setCardExpiryYear($year + '');
     $eway->setCardCVN($_SESSION['ccdata']['credit_card_code']);
     $eway->setTrxnNumber($my_trxn_number);
     $eway->setTotalAmount($order_total);
     if ($eway->doPayment() == EWAY_TRANSACTION_OK) {
         $d["order_payment_log"] = $VM_LANG->_('PHPSHOP_PAYMENT_TRANSACTION_SUCCESS');
         //Catch Transaction ID
         $d["order_payment_trans_id"] = $eway->getTrxnNumber();
         //$d["error"] = "";
         return true;
     } else {
         $vmLogger->err($VM_LANG->_('PHPSHOP_PAYMENT_ERROR', false) . ": " . $eway->getErrorMessage());
         //Catch Transaction ID
         $d["order_payment_trans_id"] = $eway->getTrxnNumber();
         return false;
     }
 }