Пример #1
0
function eway_capture($params)
{
    if ($params['testmode']) {
        $url = "https://www.eway.com.au/gateway/xmltest/testpage.asp";
    } else {
        if ($params['beagle'] && $params['cccvv']) {
            $url = "https://www.eway.com.au/gateway_cvn/xmlbeagle.asp";
        } else {
            $url = "https://www.eway.com.au/gateway/xmlpayment.asp";
        }
    }
    $eway = new EwayPayment($params['customerid'], $url);
    $eway->setCustomerFirstname($params['clientdetails']['firstname']);
    $eway->setCustomerLastname($params['clientdetails']['lastname']);
    $eway->setCustomerEmail($params['clientdetails']['email']);
    $eway->setCustomerAddress($params['clientdetails']['address1'] . ", " . $params['clientdetails']['city'] . ", " . $params['clientdetails']['state']);
    $eway->setCustomerPostcode($params['clientdetails']['postcode']);
    $eway->setCustomerCountry($params['clientdetails']['country']);
    $eway->setCustomerInvoiceDescription($params['description']);
    $eway->setCustomerInvoiceRef($params['invoiceid']);
    $eway->setCardHoldersName($params['clientdetails']['firstname'] . " " . $params['clientdetails']['lastname']);
    $eway->setCardNumber($params['cardnum']);
    $eway->setCardExpiryMonth(substr($params['cardexp'], 0, 2));
    $eway->setCardExpiryYear(substr($params['cardexp'], 2, 2));
    $eway->setCardCVN($params['cccvv']);
    $eway->setTrxnNumber($params['invoiceid']);
    $eway->setTotalAmount(round($params['amount'] * 100, 2));
    $desc = "Action => Capture\nClient => " . $params['clientdetails']['firstname'] . " " . $params['clientdetails']['lastname'] . "\n";
    $result = $eway->doPayment();
    foreach ($eway->xmlData as $key => $value) {
        $desc .= "" . $key . " => " . $value . "\n";
    }
    if ($result == EWAY_TRANSACTION_OK) {
        return array("status" => "success", "transid" => $eway->getTrxnNumber(), "rawdata" => $desc);
    }
    return array("status" => "declined", "rawdata" => $desc);
}
Пример #2
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;
     }
 }