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 + -
显示快捷键?