payquake_cc.php

来自「this the oscommerce 3.0 aplha 4」· PHP 代码 · 共 335 行 · 第 1/2 页

PHP
335
字号
                                          'field' => $osC_CreditCard->getCVC());      }      return $confirmation;    }    function process_button() {      global $osC_CreditCard;      $fields = osc_draw_hidden_field('payquake_cc_owner', $osC_CreditCard->getOwner()) .                osc_draw_hidden_field('payquake_cc_expires_month', $osC_CreditCard->getExpiryMonth()) .                osc_draw_hidden_field('payquake_cc_expires_year', $osC_CreditCard->getExpiryYear()) .                osc_draw_hidden_field('payquake_cc_number', $osC_CreditCard->getNumber());      if (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1') {        $fields .= osc_draw_hidden_field('payquake_cc_cvc', $osC_CreditCard->getCVC());      }      return $fields;    }    function process() {      global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard;      $this->_verifyData();      $this->_order_id = osC_Order::insert();      $params = array('action' => 'ns_quicksale_cc',                      'acctid' => MODULE_PAYMENT_PAYQUAKE_CC_ACCOUNT_ID,                      'amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), 'USD'),                      'ccname' => $osC_CreditCard->getOwner(),                      'expmon' => $osC_CreditCard->getExpiryMonth(),                      'expyear' => $osC_CreditCard->getExpiryYear(),                      'authonly' => '1',                      'ci_companyname' => $osC_ShoppingCart->getBillingAddress('company'),                      'ci_billaddr1' => $osC_ShoppingCart->getBillingAddress('street_address'),                      'ci_billcity' => $osC_ShoppingCart->getBillingAddress('city'),                      'ci_billstate' => $osC_ShoppingCart->getBillingAddress('zone_code'),                      'ci_billzip' => $osC_ShoppingCart->getBillingAddress('postcode'),                      'ci_billcountry' => $osC_ShoppingCart->getBillingAddress('country_title'),                      'ci_shipaddr1' => $osC_ShoppingCart->getShippingAddress('street_address'),                      'ci_shipcity' => $osC_ShoppingCart->getShippingAddress('city'),                      'ci_shipstate' => $osC_ShoppingCart->getShippingAddress('zone_code'),                      'ci_shipzip' => $osC_ShoppingCart->getShippingAddress('postcode'),                      'ci_shipcountry' => $osC_ShoppingCart->getShippingAddress('country_title'),                      'ci_phone' => $osC_ShoppingCart->getBillingAddress('telephone_number'),                      'ci_email' => $osC_Customer->getEmailAddress(),                      'email_from' => STORE_OWNER_EMAIL_ADDRESS,                      'ci_ipaddress' => osc_get_ip_address(),                      'merchantordernumber' => $osC_Customer->getID(),                      'pocustomerrefid' => $this->_order_id);      if (!osc_empty(MODULE_PAYMENT_PAYQUAKE_CC_3DES)) {        $key = pack('H48', MODULE_PAYMENT_PAYQUAKE_CC_3DES);        $data = bin2hex(mcrypt_encrypt(MCRYPT_3DES, $key, $osC_CreditCard->getNumber(), MCRYPT_MODE_ECB));        $params['ccnum'] = $data;        unset($key);        unset($data);      } else {        $params['ccnum'] = $osC_CreditCard->getNumber();      }      if (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1') {        $params['cvv2'] = $osC_CreditCard->getCVC();      }      if (!osc_empty(MODULE_PAYMENT_PAYQUAKE_CC_MERCHANT_PIN)) {        $params['merchantPIN'] = MODULE_PAYMENT_PAYQUAKE_CC_MERCHANT_PIN;      }      $post_string = '';      foreach ($params as $key => $value) {        $post_string .= $key . '=' . urlencode(trim($value)) . '&';      }      $post_string = substr($post_string, 0, -1);      $this->_transaction_response = $this->sendTransactionToGateway('https://trans.merchantpartners.com/cgi-bin/process.cgi', $post_string);      $error = false;      if (!empty($this->_transaction_response)) {        $regs = explode("\n", trim($this->_transaction_response));        array_shift($regs);        $result = array();        foreach ($regs as $response) {          $res = explode('=', $response, 2);          $result[strtolower(trim($res[0]))] = trim($res[1]);        }        if ($result['status'] != 'Accepted') {          $error = explode(':', $result['reason'], 3);          $error = $error[2];          if (empty($error)) {            $error = $osC_Language->get('payment_payquake_cc_error_general');          }        }      } else {        $error = $osC_Language->get('payment_payquake_cc_error_general');      }      if ($error === false) {        osC_Order::process($this->_order_id, $this->order_status);        $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())');        $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY);        $Qtransaction->bindInt(':orders_id', $this->_order_id);        $Qtransaction->bindInt(':transaction_code', 1);        $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response);        $Qtransaction->bindInt(':transaction_return_status', 1);        $Qtransaction->execute();      } else {        osC_Order::remove($this->_order_id);        $messageStack->add_session('checkout_payment', $error, 'error');        osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&payquake_cc_owner=' . $osC_CreditCard->getOwner() . '&payquake_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&payquake_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1' ? '&payquake_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL'));      }    }    function _verifyData() {      global $osC_Language, $messageStack, $osC_CreditCard;      $osC_CreditCard = new osC_CreditCard($_POST['payquake_cc_number'], $_POST['payquake_cc_expires_month'], $_POST['payquake_cc_expires_year']);      $osC_CreditCard->setOwner($_POST['payquake_cc_owner']);      if (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1') {        $osC_CreditCard->setCVC($_POST['payquake_cc_cvc']);      }      if (($result = $osC_CreditCard->isValid(MODULE_PAYMENT_PAYQUAKE_CC_ACCEPTED_TYPES)) !== true) {        $error = '';        switch ($result) {          case -2:            $error = $osC_Language->get('payment_payquake_cc_error_invalid_expiry_date');            break;          case -3:            $error = $osC_Language->get('payment_payquake_cc_error_expired');            break;          case -5:            $error = $osC_Language->get('payment_payquake_cc_error_not_accepted');            break;          default:            $error = $osC_Language->get('payment_payquake_cc_error_general');            break;        }        $messageStack->add_session('checkout_payment', $error, 'error');        osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&payquake_cc_owner=' . $osC_CreditCard->getOwner() . '&payquake_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&payquake_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1' ? '&payquake_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL'));      }    }  }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?