本文整理汇总了PHP中osC_Order::remove方法的典型用法代码示例。如果您正苦于以下问题:PHP osC_Order::remove方法的具体用法?PHP osC_Order::remove怎么用?PHP osC_Order::remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osC_Order
的用法示例。
在下文中一共展示了osC_Order::remove方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: insert
function insert($order_status = DEFAULT_ORDERS_STATUS_ID)
{
global $osC_Database, $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart, $osC_Tax, $toC_Wishlist;
if (isset($_SESSION['prepOrderID'])) {
$_prep = explode('-', $_SESSION['prepOrderID']);
if ($_prep[0] == $osC_ShoppingCart->getCartID()) {
return $_prep[1];
// order_id
} else {
if (osC_Order::getStatusID($_prep[1]) === ORDERS_STATUS_PREPARING) {
osC_Order::remove($_prep[1]);
}
}
}
if (!class_exists(osC_Account)) {
require_once 'includes/classes/account.php';
}
if (!$osC_Customer->isLoggedOn()) {
osC_Order::createCustomer();
} else {
//insert billing address
$billing_address = $osC_ShoppingCart->getBillingAddress();
if (isset($billing_address['id']) && $billing_address['id'] == '-1') {
osC_Account::createNewAddress($osC_Customer->getID(), $billing_address);
}
//insert shipping address
if (!isset($billing_address['ship_to_this_address']) || isset($billing_address['ship_to_this_address']) && empty($billing_address['ship_to_this_address'])) {
$shipping_address = $osC_ShoppingCart->getShippingAddress();
if (isset($shipping_address['id']) && $shipping_address['id'] == '-1') {
osC_Account::createNewAddress($osC_Customer->getID(), $shipping_address);
}
}
}
$Qorder = $osC_Database->query('insert into :table_orders (customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_comment, customers_state_code, customers_country, customers_country_iso2, customers_country_iso3, customers_telephone, customers_email_address, customers_address_format, customers_ip_address, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_zone_id, delivery_state_code, delivery_country_id, delivery_country, delivery_country_iso2, delivery_country_iso3, delivery_address_format, delivery_telephone, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_zone_id, billing_state_code, billing_country_id, billing_country, billing_country_iso2, billing_country_iso3, billing_address_format, billing_telephone, payment_method, payment_module, uses_store_credit, store_credit_amount, date_purchased, orders_status, currency, currency_value, gift_wrapping, wrapping_message) values (:customers_id, :customers_name, :customers_company, :customers_street_address, :customers_suburb, :customers_city, :customers_postcode, :customers_state, :customers_comment, :customers_state_code, :customers_country, :customers_country_iso2, :customers_country_iso3, :customers_telephone, :customers_email_address, :customers_address_format, :customers_ip_address, :delivery_name, :delivery_company, :delivery_street_address, :delivery_suburb, :delivery_city, :delivery_postcode, :delivery_state, :delivery_zone_id, :delivery_state_code, :delivery_country_id, :delivery_country, :delivery_country_iso2, :delivery_country_iso3, :delivery_address_format, :delivery_telephone, :billing_name, :billing_company, :billing_street_address, :billing_suburb, :billing_city, :billing_postcode, :billing_state, :billing_zone_id, :billing_state_code, :billing_country_id, :billing_country, :billing_country_iso2, :billing_country_iso3, :billing_address_format, :billing_telephone, :payment_method, :payment_module, :uses_store_credit, :store_credit_amount, now(), :orders_status, :currency, :currency_value, :gift_wrapping, :wrapping_message)');
$Qorder->bindTable(':table_orders', TABLE_ORDERS);
$Qorder->bindInt(':customers_id', $osC_Customer->getID());
$Qorder->bindValue(':customers_name', $osC_Customer->getName());
$Qorder->bindValue(':customers_company', '');
$Qorder->bindValue(':customers_street_address', '');
$Qorder->bindValue(':customers_suburb', '');
$Qorder->bindValue(':customers_city', '');
$Qorder->bindValue(':customers_postcode', '');
$Qorder->bindValue(':customers_state', '');
$Qorder->bindValue(':customers_state_code', '');
$Qorder->bindValue(':customers_country', '');
$Qorder->bindValue(':customers_country_iso2', '');
$Qorder->bindValue(':customers_country_iso3', '');
$Qorder->bindValue(':customers_telephone', '');
$Qorder->bindValue(':customers_email_address', $osC_Customer->getEmailAddress());
$Qorder->bindValue(':customers_comment', $_SESSION['comments']);
$Qorder->bindValue(':customers_address_format', '');
$Qorder->bindValue(':customers_ip_address', osc_get_ip_address());
$Qorder->bindValue(':delivery_name', $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'));
$Qorder->bindValue(':delivery_company', $osC_ShoppingCart->getShippingAddress('company'));
$Qorder->bindValue(':delivery_street_address', $osC_ShoppingCart->getShippingAddress('street_address'));
$Qorder->bindValue(':delivery_suburb', $osC_ShoppingCart->getShippingAddress('suburb'));
$Qorder->bindValue(':delivery_city', $osC_ShoppingCart->getShippingAddress('city'));
$Qorder->bindValue(':delivery_postcode', $osC_ShoppingCart->getShippingAddress('postcode'));
$Qorder->bindValue(':delivery_state', $osC_ShoppingCart->getShippingAddress('state'));
$Qorder->bindValue(':delivery_zone_id', $osC_ShoppingCart->getShippingAddress('zone_id'));
$Qorder->bindValue(':delivery_state_code', $osC_ShoppingCart->getShippingAddress('zone_code'));
$Qorder->bindValue(':delivery_country_id', $osC_ShoppingCart->getShippingAddress('country_id'));
$Qorder->bindValue(':delivery_country', $osC_ShoppingCart->getShippingAddress('country_title'));
$Qorder->bindValue(':delivery_country_iso2', $osC_ShoppingCart->getShippingAddress('country_iso_code_2'));
$Qorder->bindValue(':delivery_country_iso3', $osC_ShoppingCart->getShippingAddress('country_iso_code_3'));
$Qorder->bindValue(':delivery_address_format', $osC_ShoppingCart->getShippingAddress('format'));
$Qorder->bindValue(':delivery_telephone', $osC_ShoppingCart->getShippingAddress('telephone_number'));
$Qorder->bindValue(':billing_name', $osC_ShoppingCart->getBillingAddress('firstname') . ' ' . $osC_ShoppingCart->getBillingAddress('lastname'));
$Qorder->bindValue(':billing_company', $osC_ShoppingCart->getBillingAddress('company'));
$Qorder->bindValue(':billing_street_address', $osC_ShoppingCart->getBillingAddress('street_address'));
$Qorder->bindValue(':billing_suburb', $osC_ShoppingCart->getBillingAddress('suburb'));
$Qorder->bindValue(':billing_city', $osC_ShoppingCart->getBillingAddress('city'));
$Qorder->bindValue(':billing_postcode', $osC_ShoppingCart->getBillingAddress('postcode'));
$Qorder->bindValue(':billing_state', $osC_ShoppingCart->getBillingAddress('state'));
$Qorder->bindValue(':billing_zone_id', $osC_ShoppingCart->getBillingAddress('zone_id'));
$Qorder->bindValue(':billing_state_code', $osC_ShoppingCart->getBillingAddress('zone_code'));
$Qorder->bindValue(':billing_country_id', $osC_ShoppingCart->getBillingAddress('country_id'));
$Qorder->bindValue(':billing_country', $osC_ShoppingCart->getBillingAddress('country_title'));
$Qorder->bindValue(':billing_country_iso2', $osC_ShoppingCart->getBillingAddress('country_iso_code_2'));
$Qorder->bindValue(':billing_country_iso3', $osC_ShoppingCart->getBillingAddress('country_iso_code_3'));
$Qorder->bindValue(':billing_address_format', $osC_ShoppingCart->getBillingAddress('format'));
$Qorder->bindValue(':billing_telephone', $osC_ShoppingCart->getBillingAddress('telephone_number'));
$Qorder->bindValue(':payment_method', implode(',', $osC_ShoppingCart->getCartBillingMethods()));
$Qorder->bindValue(':payment_module', implode(',', $osC_ShoppingCart->getCartBillingModules()));
$Qorder->bindInt(':uses_store_credit', $osC_ShoppingCart->isUseStoreCredit());
$Qorder->bindValue(':store_credit_amount', $osC_ShoppingCart->isUseStoreCredit() ? $osC_ShoppingCart->getStoreCredit() : '0');
$Qorder->bindInt(':orders_status', $order_status);
$Qorder->bindValue(':currency', $osC_Currencies->getCode());
$Qorder->bindValue(':currency_value', $osC_Currencies->value($osC_Currencies->getCode()));
$Qorder->bindInt(':gift_wrapping', $osC_ShoppingCart->isGiftWrapping() ? '1' : '0');
$Qorder->bindValue(':wrapping_message', isset($_SESSION['gift_wrapping_comments']) ? $_SESSION['gift_wrapping_comments'] : '');
$Qorder->execute();
$insert_id = $osC_Database->nextID();
foreach ($osC_ShoppingCart->getOrderTotals() as $module) {
$Qtotals = $osC_Database->query('insert into :table_orders_total (orders_id, title, text, value, class, sort_order) values (:orders_id, :title, :text, :value, :class, :sort_order)');
$Qtotals->bindTable(':table_orders_total', TABLE_ORDERS_TOTAL);
$Qtotals->bindInt(':orders_id', $insert_id);
$Qtotals->bindValue(':title', $module['title']);
$Qtotals->bindValue(':text', $module['text']);
$Qtotals->bindValue(':value', $module['value']);
//.........这里部分代码省略.........
示例2: process
function process()
{
global $osC_Database, $osC_Language, $osC_MessageStack;
$this->_verifyData();
$params = array('DATA' => $_GET['DATA'], 'SIGNATURE' => $_GET['SIGNATURE']);
$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('http://support.saferpay.de/scripts/VerifyPayConfirm.asp', $post_string);
$error = false;
if (substr($this->_transaction_response, 0, 3) != 'OK:') {
$error = true;
}
/* HPDL; performs capture
if (substr($this->_transaction_response, 0, 3) == 'OK:') {
$result = array();
parse_str(substr($this->_transaction_response, 3), $result);
$params = array('ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID,
'ID' => $result['ID'],
'TOKEN' => $result['TOKEN']);
$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('http://support.saferpay.de/scripts/PayComplete.asp', $post_string);
if ($this->_transaction_response != 'OK') {
$error = true;
}
} else {
$error = true;
}
*/
if ($error === false) {
$osC_XML = new osC_XML($_GET['DATA']);
$result = $osC_XML->toArray();
$this->_order_id = $result['IDP attr']['ORDERID'];
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', $_GET['DATA']);
$Qtransaction->bindInt(':transaction_return_status', 1);
$Qtransaction->execute();
} else {
osC_Order::remove($this->_order_id);
$osC_MessageStack->add('checkout_payment', $osC_Language->get('payment_saferpay_vt_error_general'), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment', 'SSL'));
}
}
示例3: process
function process()
{
global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $osC_MessageStack, $osC_CreditCard;
$this->_verifyData();
$this->_order_id = osC_Order::insert();
$params = array('spPassword' => MODULE_PAYMENT_SAFERPAY_CC_PASSWORD, 'ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID, 'ORDERID' => $this->_order_id, 'NAME' => $osC_CreditCard->getOwner(), 'PAN' => $osC_CreditCard->getNumber(), 'EXP' => $osC_CreditCard->getExpiryMonth() . substr($osC_CreditCard->getExpiryYear(), -2), 'AMOUNT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'CURRENCY' => $osC_Currencies->getCode());
if (MODULE_PAYMENT_SAFERPAY_CC_VERIFY_WITH_CVC == '1') {
$params['CVC'] = $osC_CreditCard->getCVC();
}
$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://support.saferpay.de/scripts/Execute.asp', $post_string);
$error = false;
if (substr($this->_transaction_response, 0, 3) == 'OK:') {
$this->_transaction_response = trim(substr($this->_transaction_response, 3));
$osC_XML = new osC_XML($this->_transaction_response);
$result = $osC_XML->toArray();
switch ($result['IDP attr']['RESULT']) {
case '0':
//success
break;
case '62':
case '63':
case '64':
$error = $osC_Language->get('payment_saferpay_cc_error_' . (int) $result['IDP attr']['RESULT']);
break;
default:
$error = $osC_Language->get('payment_saferpay_cc_error_general');
break;
}
} else {
$error = $osC_Language->get('payment_saferpay_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);
$osC_MessageStack->add('checkout_payment', $error, 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&saferpay_cc_owner=' . $osC_CreditCard->getOwner() . '&saferpay_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&saferpay_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_SAFERPAY_CC_VERIFY_WITH_CVC == '1' ? '&saferpay_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL'));
}
}
示例4: process
function process()
{
global $osC_Database, $osC_MessageStack, $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart;
$this->_verifyData();
$this->_order_id = osC_Order::insert();
$params = array('x_version' => '3.1', 'x_delim_data' => 'TRUE', 'x_delim_char' => ',', 'x_encap_char' => '"', 'x_relay_response' => 'FALSE', 'x_login' => MODULE_PAYMENT_AUTHORIZENET_ECHECK_LOGIN_ID, 'x_tran_key' => MODULE_PAYMENT_AUTHORIZENET_ECHECK_TRANSACTION_KEY, 'x_amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()), 'x_currency_code' => $osC_Currencies->getCode(), 'x_method' => 'ECHECK', 'x_bank_aba_code' => $_POST['authorizenet_echeck_routing_code'], 'x_bank_acct_num' => $_POST['authorizenet_echeck_account_number'], 'x_bank_acct_type' => $_POST['authorizenet_echeck_account_type'], 'x_bank_name' => $_POST['authorizenet_echeck_bank_name'], 'x_bank_acct_name' => $_POST['authorizenet_echeck_owner'], 'x_echeck_type' => 'WEB', 'x_type' => 'AUTH_ONLY', 'x_first_name' => $osC_ShoppingCart->getBillingAddress('firstname'), 'x_last_name' => $osC_ShoppingCart->getBillingAddress('lastname'), 'x_company' => $osC_ShoppingCart->getBillingAddress('company'), 'x_address' => $osC_ShoppingCart->getBillingAddress('street_address'), 'x_city' => $osC_ShoppingCart->getBillingAddress('city'), 'x_state' => $osC_ShoppingCart->getBillingAddress('state'), 'x_zip' => $osC_ShoppingCart->getBillingAddress('postcode'), 'x_country' => $osC_ShoppingCart->getBillingAddress('country_iso_code_2'), 'x_cust_id' => $osC_Customer->getID(), 'x_customer_ip' => osc_get_ip_address(), 'x_invoice_num' => $this->_order_id, 'x_email' => $osC_Customer->getEmailAddress(), 'x_email_customer' => 'FALSE', 'x_ship_to_first_name' => $osC_ShoppingCart->getShippingAddress('firstname'), 'x_ship_to_last_name' => $osC_ShoppingCart->getShippingAddress('lastname'), 'x_ship_to_company' => $osC_ShoppingCart->getShippingAddress('company'), 'x_ship_to_address' => $osC_ShoppingCart->getShippingAddress('street_address'), 'x_ship_to_city' => $osC_ShoppingCart->getShippingAddress('city'), 'x_ship_to_state' => $osC_ShoppingCart->getShippingAddress('state'), 'x_ship_to_zip' => $osC_ShoppingCart->getShippingAddress('postcode'), 'x_ship_to_country' => $osC_ShoppingCart->getShippingAddress('country_iso_code_2'));
if (ACCOUNT_TELEPHONE > -1) {
$params['x_phone'] = $osC_ShoppingCart->getBillingAddress('telephone_number');
}
if (MODULE_PAYMENT_AUTHORIZENET_ECHECK_TRANSACTION_TEST_MODE == '1') {
$params['x_test_request'] = 'TRUE';
}
if (MODULE_PAYMENT_AUTHORIZENET_ECHECK_VERIFY_WITH_WF_SS == '1') {
$params['x_customer_organization_type'] = $_POST['authorizenet_echeck_org_type'];
$params['x_customer_tax_id'] = $_POST['authorizenet_echeck_tax_id'];
}
$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($this->_gateway_url, $post_string);
if (empty($this->_transaction_response) === false) {
$regs = preg_split("/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/", $this->_transaction_response);
foreach ($regs as $key => $value) {
$regs[$key] = substr($value, 1, -1);
// remove double quotes
}
} else {
$regs = array('-1', '-1', '-1');
}
$error = false;
if ($regs[0] == '1') {
if (!osc_empty(MODULE_PAYMENT_AUTHORIZENET_ECHECK_MD5_HASH)) {
if (strtoupper($regs[37]) != strtoupper(md5(MODULE_PAYMENT_AUTHORIZENET_ECHECK_MD5_HASH . MODULE_PAYMENT_AUTHORIZENET_ECHECK_LOGIN_ID . $regs[6] . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode())))) {
$error = $osC_Language->get('payment_authorizenet_echeck_error_general');
}
}
} else {
switch ($regs[2]) {
case '9':
$error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_routing_code');
break;
case '10':
$error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_account');
break;
case '77':
$error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_tax_id');
break;
default:
$error = $osC_Language->get('payment_authorizenet_echeck_error_general');
break;
}
}
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);
$osC_MessageStack->add('checkout_payment', $error, 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&authorizenet_echeck_owner=' . $_POST['authorizenet_echeck_owner'] . '&authorizenet_echeck_account_type=' . $_POST['authorizenet_echeck_account_type'] . '&authorizenet_echeck_bank_name=' . $_POST['authorizenet_echeck_bank_name'] . '&authorizenet_echeck_routing_code=' . $_POST['authorizenet_echeck_routing_code'], 'SSL'));
}
}
示例5: process
function process()
{
global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard;
$this->_verifyData();
$this->_order_id = osC_Order::insert();
$post_string = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">' . "\n" . ' <W_REQUEST>' . "\n" . ' <W_JOB>' . "\n" . ' <JobID>Job 1</JobID>' . "\n" . ' <BusinessCaseSignature>' . MODULE_PAYMENT_WIRECARD_CC_BUSINESS_SIGNATURE . '</BusinessCaseSignature>' . "\n" . ' <FNC_CC_PREAUTHORIZATION>' . "\n" . ' <FunctionID>Preauthorization 1</FunctionID>' . "\n" . ' <CC_TRANSACTION mode="' . MODULE_PAYMENT_WIRECARD_CC_TRANSACTION_MODE . '">' . "\n" . ' <TransactionID>' . $this->_order_id . '</TransactionID>' . "\n" . ' <CommerceType>eCommerce</CommerceType>' . "\n" . ' <Amount>' . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . '</Amount>' . "\n" . ' <Currency>' . $osC_Currencies->getCode() . '</Currency>' . "\n" . ' <CountryCode>' . osC_Address::getCountryIsoCode2(STORE_COUNTRY) . '</CountryCode>' . "\n" . ' <Usage>' . STORE_NAME . '</Usage>' . "\n" . ' <RECURRING_TRANSACTION>' . "\n" . ' <Type>Single</Type>' . "\n" . ' </RECURRING_TRANSACTION>' . "\n" . ' <CREDIT_CARD_DATA>' . "\n" . ' <CreditCardNumber>' . $osC_CreditCard->getNumber() . '</CreditCardNumber>' . "\n";
if (MODULE_PAYMENT_WIRECARD_CC_VERIFY_WITH_CVC == '1') {
$post_string .= ' <CVC2>' . $osC_CreditCard->getCVC() . '</CVC2>' . "\n";
}
$post_string .= ' <ExpirationYear>' . $osC_CreditCard->getExpiryYear() . '</ExpirationYear>' . "\n" . ' <ExpirationMonth>' . $osC_CreditCard->getExpiryMonth() . '</ExpirationMonth>' . "\n" . ' <CardHolderName>' . $osC_CreditCard->getOwner() . '</CardHolderName>' . "\n" . ' </CREDIT_CARD_DATA>' . "\n" . ' <CONTACT_DATA>' . "\n" . ' <IPAddress>' . osc_get_ip_address() . '</IPAddress>' . "\n" . ' </CONTACT_DATA>' . "\n" . ' <CORPTRUSTCENTER_DATA>' . "\n" . ' <ADDRESS>' . "\n" . ' <FirstName>' . $osC_ShoppingCart->getBillingAddress('firstname') . '</FirstName>' . "\n" . ' <LastName>' . $osC_ShoppingCart->getBillingAddress('lastname') . '</LastName>' . "\n" . ' <Address1>' . $osC_ShoppingCart->getBillingAddress('street_address') . '</Address1>' . "\n" . ' <City>' . $osC_ShoppingCart->getBillingAddress('city') . '</City>' . "\n" . ' <ZipCode>' . $osC_ShoppingCart->getBillingAddress('postcode') . '</ZipCode>' . "\n";
if (osc_empty($osC_ShoppingCart->getBillingAddress('zone_code')) === false) {
$post_string .= ' <State>' . $osC_ShoppingCart->getBillingAddress('zone_code') . '</State>' . "\n";
}
$post_string .= ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <Phone>' . $osC_ShoppingCart->getBillingAddress('telephone_number') . '</Phone>' . "\n" . ' <Email>' . $osC_Customer->getEmailAddress() . '</Email>' . "\n" . ' </ADDRESS>' . "\n" . ' </CORPTRUSTCENTER_DATA>' . "\n" . ' </CC_TRANSACTION>' . "\n" . ' </FNC_CC_PREAUTHORIZATION>' . "\n" . ' </W_JOB>' . "\n" . ' </W_REQUEST>' . "\n" . '</WIRECARD_BXML>';
$this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string, array('Content-type: text/xml'));
if (empty($this->_transaction_response) === false) {
$osC_XML = new osC_XML($this->_transaction_response);
$result = $osC_XML->toArray();
} else {
$result = array();
}
$error = false;
if (isset($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'])) {
if ($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'] != 'ACK') {
$errno = $result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['ERROR']['Number'];
switch ($errno) {
case '14':
case '20109':
$error = $osC_Language->get('payment_wirecard_cc_error_unkown_card');
break;
case '33':
case '20071':
$error = $osC_Language->get('payment_wirecard_cc_error_' . (int) $errno);
break;
default:
$error = $osC_Language->get('payment_wirecard_cc_error_general');
break;
}
}
} else {
$error = $osC_Language->get('payment_wirecard_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&wirecard_cc_owner=' . $osC_CreditCard->getOwner() . '&wirecard_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&wirecard_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_WIRECARD_CC_VERIFY_WITH_CVC == '1' ? '&wirecard_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL'));
}
}
示例6: callback
function callback()
{
global $osC_Database, $osC_ShoppingCart;
if (empty($_GET['order_id']) || empty($_GET['order_code'])) {
// Invalid request
} else {
$sOrderId = $_GET['order_id'];
$sOrderCode = $_GET['order_code'];
$sql = "SELECT `transaction_status`, `transaction_url` FROM `" . DB_TABLE_PREFIX . "transactions` WHERE (`order_id` = '" . addslashes($sOrderId) . "') AND (`order_code` = '" . addslashes($sOrderCode) . "') ORDER BY `id` DESC LIMIT 1;";
$oQuery = $osC_Database->query($sql);
$oRecordset = $oQuery->execute();
if (mysql_num_rows($oRecordset)) {
$oRecord = mysql_fetch_assoc($oRecordset);
$iOrderId = (int) $sOrderId;
$sTransactionStatus = $oRecord['transaction_status'];
$sTransactionUrl = $oRecord['transaction_url'];
if (osC_Order::exists($iOrderId)) {
if (strcmp($sTransactionStatus, 'SUCCESS') === 0) {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_SUCCESS_ORDER_STATUS_ID);
$osC_ShoppingCart->reset(true);
// Redirect
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL'));
} elseif (strcmp($sTransactionStatus, 'PENDING') === 0) {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_PENDING_ORDER_STATUS_ID);
$osC_ShoppingCart->reset(true);
// Redirect
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL'));
} elseif (strcmp($sTransactionStatus, 'OPEN') === 0) {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_OPEN_ORDER_STATUS_ID);
if ($sTransactionUrl) {
// Redirect
osc_redirect($sTransactionUrl);
}
} elseif (strcmp($sTransactionStatus, 'CANCELLED') === 0) {
if (MODULE_PAYMENT_IDEAL_REMOVE_ORDER_ON_CANCELLED) {
// Remove Order
osC_Order::remove($iOrderId);
} else {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_CANCELLED_ORDER_STATUS_ID);
}
// Redirect
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment', 'SSL'));
} elseif (strcmp($sTransactionStatus, 'EXPIRED') === 0) {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_EXPIRED_ORDER_STATUS_ID);
} elseif (strcmp($sTransactionStatus, 'FAILURE') === 0) {
// Update order status
osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_FAILURE_ORDER_STATUS_ID);
}
// Redirect
osc_redirect(HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . '/ext/payments/ideal/setup.php?order_id=' . $sOrderId . '&order_code=' . $sOrderCode);
}
}
}
echo 'Cannot verify your order and/or payment. Please contact the webmaster.';
exit;
}
示例7: process
function process()
{
global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard;
$this->_verifyData();
$this->_order_id = osC_Order::insert();
$post_string = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">' . "\n" . ' <W_REQUEST>' . "\n" . ' <W_JOB>' . "\n" . ' <JobID>Job 1</JobID>' . "\n" . ' <BusinessCaseSignature>' . MODULE_PAYMENT_WIRECARD_EFT_BUSINESS_SIGNATURE . '</BusinessCaseSignature>' . "\n" . ' <FNC_FT_DEBIT>' . "\n" . ' <FunctionID>Debit 1</FunctionID>' . "\n" . ' <FT_TRANSACTION mode="' . MODULE_PAYMENT_WIRECARD_EFT_TRANSACTION_MODE . '">' . "\n" . ' <TransactionID>' . $this->_order_id . '</TransactionID>' . "\n" . ' <EXTERNAL_ACCOUNT>' . "\n" . ' <FirstName>' . $_POST['wirecard_eft_owner_first'] . '</FirstName>' . "\n" . ' <LastName>' . $_POST['wirecard_eft_owner_last'] . '</LastName>' . "\n" . ' <AccountNumber>' . $_POST['wirecard_eft_account'] . '</AccountNumber>' . "\n" . ' <AccountType>' . $_POST['wirecard_eft_account_type'] . '</AccountType>' . "\n" . ' <BankCode>' . $_POST['wirecard_eft_bank_code'] . '</BankCode>' . "\n" . ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <CheckNumber>' . $_POST['wirecard_eft_check_number'] . '</CheckNumber>' . "\n";
if ($osC_ShoppingCart->getBillingAddress('country_iso_code_2') == 'IT') {
$post_string .= ' <COUNTRY_SPECIFIC>' . "\n" . ' <IdentificationNumber>' . $_POST['wirecard_eft_id_number'] . '</IdentificationNumber>' . "\n" . ' </COUNTRY_SPECIFIC>' . "\n";
}
$post_string .= ' </EXTERNAL_ACCOUNT>' . "\n" . ' <Amount>' . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . '</Amount>' . "\n" . ' <Currency>' . $osC_Currencies->getCode() . '</Currency>' . "\n" . ' <CORPTRUSTCENTER_DATA>' . "\n" . ' <ADDRESS>' . "\n" . ' <Address1>' . $osC_ShoppingCart->getBillingAddress('street_address') . '</Address1>' . "\n" . ' <City>' . $osC_ShoppingCart->getBillingAddress('city') . '</City>' . "\n" . ' <ZipCode>' . $osC_ShoppingCart->getBillingAddress('postcode') . '</ZipCode>' . "\n";
if (osc_empty($osC_ShoppingCart->getBillingAddress('zone_code')) === false) {
$post_string .= ' <State>' . $osC_ShoppingCart->getBillingAddress('zone_code') . '</State>' . "\n";
}
$post_string .= ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <Phone>' . $osC_ShoppingCart->getBillingAddress('telephone_number') . '</Phone>' . "\n" . ' <Email>' . $osC_Customer->getEmailAddress() . '</Email>' . "\n" . ' </ADDRESS>' . "\n" . ' </CORPTRUSTCENTER_DATA>' . "\n" . ' </FT_TRANSACTION>' . "\n" . ' </FNC_FT_DEBIT>' . "\n" . ' </W_JOB>' . "\n" . ' </W_REQUEST>' . "\n" . '</WIRECARD_BXML>';
$this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string, array('Content-type: text/xml'));
if (empty($this->_transaction_response) === false) {
$osC_XML = new osC_XML($this->_transaction_response);
$result = $osC_XML->toArray();
} else {
$result = array();
}
$error = false;
if (isset($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'])) {
if ($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'] != 'ACK') {
// $errno = $result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['DETAIL']['ReturnCode'];
// switch ($errno) {
// default:
$error = $osC_Language->get('payment_wirecard_eft_error_general');
// break;
// }
}
} else {
$error = $osC_Language->get('payment_wirecard_eft_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&wirecard_eft_owner_first=' . $_POST['wirecard_eft_owner_first'] . '&wirecard_eft_owner_last=' . $_POST['wirecard_eft_owner_last'] . '&wirecard_eft_account_type=' . $_POST['wirecard_eft_account_type'] . '&wirecard_eft_bank=' . $_POST['wirecard_eft_bank'] . '&wirecard_eft_check_number=' . $_POST['wirecard_eft_check_number'] . ($osC_ShoppingCart->getBillingAddress('country_iso_code_2') == 'IT' ? '&wirecard_eft_id_number=' . $_POST['wirecard_eft_id_number'] : ''), 'SSL'));
}
}
示例8: process
function process()
{
global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack;
$this->_verifyData();
$this->_order_id = osC_Order::insert();
$params = array('spPassword' => MODULE_PAYMENT_SAFERPAY_CC_PASSWORD, 'ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID, 'ORDERID' => $this->_order_id, 'NAME' => $_POST['saferpay_elv_owner'], 'TRACK2' => ';59' . $_POST['saferpay_elv_bank'] . '=' . str_pad($_POST['saferpay_elv_account'], 10, '0', STR_PAD_LEFT), 'AMOUNT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'CURRENCY' => $osC_Currencies->getCode());
$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://support.saferpay.de/scripts/Execute.asp', $post_string);
$error = false;
if (substr($this->_transaction_response, 0, 3) == 'OK:') {
$this->_transaction_response = trim(substr($this->_transaction_response, 3));
$osC_XML = new osC_XML($this->_transaction_response);
$result = $osC_XML->toArray();
switch ($result_array['IDP attr']['RESULT']) {
case '0':
//success
break;
default:
$error = $osC_Language->get('payment_saferpay_elv_error_general');
break;
}
} else {
$error = $osC_Language->get('payment_saferpay_elv_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&saferpay_elv_owner=' . $_POST['saferpay_elv_owner'] . '&saferpay_elv_bank=' . $_POST['saferpay_elv_bank'], 'SSL'));
}
}
示例9: process
function process()
{
global $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart, $_POST, $_GET, $osC_Database, $messageStack;
// get data from pasargad
$tref = $_GET['tref'];
//TransactionReferenceID
$iNumber = $_GET['iN'];
//invoiceNumber
$iDate = $_GET['iD'];
//invoiceDate
$this->_order_id = osC_Order::insert(ORDERS_STATUS_PREPARING);
$order = $this->_order_id;
if (MODULE_PAYMENT_BPI_CURRENCY == 'Selected Currency') {
$currency = $osC_Currencies->getCode();
} else {
$currency = MODULE_PAYMENT_BPI_CURRENCY;
}
$amount = round($osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $currency), 2);
require_once 'ext/bpiclass/parser.php';
$result = post2https($tref, 'https://pep.shaparak.ir/CheckTransactionResult.aspx');
$array = makeXMLTree($result);
$state = strtolower($array["resultObj"]["result"]);
$action = $array["resultObj"]["action"];
$invoiceNumber = $array["resultObj"]["invoiceNumber"];
$invoiceDate = $array["resultObj"]["invoiceDate"];
$merchantCode = $array["resultObj"]["merchantCode"];
$terminalCode = $array["resultObj"]["terminalCode"];
$traceNumber = $array["resultObj"]["traceNumber"];
$referenceNumber = $array["resultObj"]["referenceNumber"];
$transactionDate = $array["resultObj"]["transactionDate"];
if ($state == "true" and $action == "1003" and $merchantCode == MODULE_PAYMENT_BPI_MERCHANT_CODE and $terminalCode == MODULE_PAYMENT_BPI_TERMINAL_CODE and $invoiceDate == $iDate and $invoiceNumber == $order) {
// here we update our order state
$this->_order_id = osC_Order::insert();
$comments = $osC_Language->get('payment_bpi_transaction_id') . '[' . $tref . ']' . $osC_Language->get('payment_bpi_reference_id') . '[' . $referenceNumber . ']';
osC_Order::process($this->_order_id, $this->order_status, $comments);
// here we save our database
$osC_Database->simpleQuery("insert into `" . DB_TABLE_PREFIX . "online_transactions`\n\t\t\t\t\t \t\t(orders_id,receipt_id,transaction_method,transaction_date,transaction_amount,transaction_id) values\n\t\t ('{$order}','{$referenceNumber}','bpi','{$transactionDate}','{$amount}','{$tref}')\n\t\t\t\t\t ");
//
$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', $order);
$Qtransaction->bindInt(':transaction_code', 1);
$Qtransaction->bindValue(':transaction_return_value', $referenceNumber);
$Qtransaction->bindInt(':transaction_return_status', 1);
$Qtransaction->execute();
} else {
osC_Order::remove($this->_order_id);
if ($state == "false" and $merchantCode == MODULE_PAYMENT_BPI_MERCHANT_CODE and $terminalCode == MODULE_PAYMENT_BPI_TERMINAL_CODE and $invoiceDate == $iDate and $invoiceNumber == $order) {
$messageStack->add_session('checkout', $osC_Language->get('payment_bpi_unsuccessful_payment'), 'error');
} elseif ($state == "false" and ($merchantCode != MODULE_PAYMENT_BPI_MERCHANT_CODE or $terminalCode != MODULE_PAYMENT_BPI_TERMINAL_CODE or $invoiceDate != $iDate or $invoiceNumber != $order)) {
$messageStack->add_session('checkout', $osC_Language->get('payment_bpi_contradictory_in_information'), 'error');
} else {
$messageStack->add_session('checkout', $osC_Language->get('payment_bpi_payment_not_confirmed'), 'error');
}
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
}
}
示例10: process
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'));
}
}
示例11: process
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('orderID' => $this->_order_id, 'PSPID' => MODULE_PAYMENT_OGONE_DIRECTLINK_CC_MERCHANT_ID, 'PSWD' => MODULE_PAYMENT_OGONE_DIRECTLINK_CC_PASSWORD, 'amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'currency' => $osC_Currencies->getCode(), 'CARDNO' => $osC_CreditCard->getNumber(), 'ED' => $osC_CreditCard->getExpiryMonth() . '/' . substr($osC_CreditCard->getExpiryYear(), -2), 'CVC' => $osC_CreditCard->getCVC(), 'CN' => $osC_CreditCard->getOwner(), 'EMAIL' => $osC_Customer->getEmailAddress(), 'Owneraddress' => $osC_ShoppingCart->getBillingAddress('street_address'), 'OwnerZip' => $osC_ShoppingCart->getBillingAddress('postcode'), 'Ecom_Payment_Card_Verification' => $osC_CreditCard->getCVC(), 'Operation' => 'RES', 'REMOTE_ADDR' => osc_get_ip_address(), 'COM' => 'Customer ID: ' . $osC_Customer->getID());
if (osc_empty(MODULE_PAYMENT_OGONE_DIRECTLINK_CC_USER_ID) === false) {
$params['USERID'] = MODULE_PAYMENT_OGONE_DIRECTLINK_CC_USER_ID;
}
if (osc_empty(MODULE_PAYMENT_OGONE_DIRECTLINK_CC_SHA1_SIGNATURE) === false) {
$params['SHASign'] = sha1($this->_order_id . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . $osC_Currencies->getCode() . $osC_CreditCard->getNumber() . MODULE_PAYMENT_OGONE_DIRECTLINK_CC_MERCHANT_ID . 'RES' . MODULE_PAYMENT_OGONE_DIRECTLINK_CC_SHA1_SIGNATURE);
}
$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($this->_gateway_url, $post_string);
if (empty($this->_transaction_response) === false) {
$osC_XML = new osC_XML($this->_transaction_response);
$result = $osC_XML->toArray();
} else {
$result = array('ncresponse attr' => array('STATUS' => ''));
}
switch ($result['ncresponse attr']['STATUS']) {
case '':
case '0':
case '2':
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout_payment', $osC_Language->get('payment_ogone_directlink_cc_error_general'), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&ogone_directlink_cc_owner=' . $osC_CreditCard->getOwner() . '&ogone_directlink_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&ogone_directlink_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_OGONE_DIRECTLINK_CC_VERIFY_WITH_CVC == '1' ? '&ogone_directlink_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL'));
break;
}
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();
}
示例12: process
function process()
{
global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $_POST, $_GET, $osC_Language, $messageStack;
require_once 'ext/lib/nusoap.php';
$ResNum = $_POST['ResNum'];
$RefNum = $_POST['RefNum'];
$State = $_POST['State'];
// get amount & order Id
if (MODULE_PAYMENT_ENBANK_CURRENCY == 'Selected Currency') {
$currency = $osC_Currencies->getCode();
} else {
$currency = MODULE_PAYMENT_ENBANK_CURRENCY;
}
$amount = round($osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $currency), 2);
//
if ($State != 'OK' and $RefNum == '') {
// here we update our database
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', check_enbank_state_error($State), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
} else {
$soapclient = new nusoap_client('https://pna.shaparak.ir/ref-payment/jax/merchantAuth?wsdl', 'wsdl');
// $soapclient->debug_flag=true;
$soapProxy = $soapclient->getProxy();
// if($err=$soapclient->getError())
// echo $err ;
// echo $soapclient->debug_str;
// $i = 5; //to garantee the connection and verify, this process should be repeat maximum 5 times
// do{
$res = $soapProxy->verifyTransaction($RefNum, MODULE_PAYMENT_ENBANK_MERCHANT_ID);
//reference number and sellerid
// $i -= 1;
// } while((!$res) and ($i>0));
$err = $soapProxy->getError();
if ($err) {
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', 'خطا در تایید تراکنش ، مبلغ تراکنش با موفقیت به حساب شما برگشت داده خواهد شد.', 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
die;
}
if ($res <= 0) {
// this is a unsucccessfull payment
// we update our DataBase
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', check_enbank_res_error($res), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
} else {
if ($res == $amount) {
// this is a succcessfull payment
// we update our DataBase
// insert ref id in database
$osC_Database->simpleQuery("insert into `" . DB_TABLE_PREFIX . "online_transactions`\n\t\t\t\t\t \t\t(orders_id,receipt_id,transaction_method,transaction_date,transaction_amount,transaction_id) values\n\t\t ('{$ResNum}','{$RefNum}','enbank','" . date("YmdHis") . "','{$amount}','{$RefNum}')\n\t\t\t\t\t ");
//
$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', $ResNum);
$Qtransaction->bindInt(':transaction_code', 1);
$Qtransaction->bindValue(':transaction_return_value', $RefNum);
$Qtransaction->bindInt(':transaction_return_status', 1);
$Qtransaction->execute();
//
$this->_order_id = osC_Order::insert();
$comments = $osC_Language->get('payment_enbank_method_authority') . '[' . $RefNum . ']';
osC_Order::process($this->_order_id, $this->order_status, $comments);
} else {
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', 'خطا در تاييد مبلغ تراکنش ، مبلغ تراکنش با موفقيت به حساب شما برگشت داده خواهد شد.', 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
}
}
}
}
示例13: process
//.........这里部分代码省略.........
die;
} else {
$resultStr = $result;
$status = $resultStr['status'];
if ($status == '0') {
//$status==0 --> $status==a2l2i for test
// this is a succcessfull payment
// we update our DataBase
// save transaction_id to database
$osC_Database->simpleQuery("update `" . DB_TABLE_PREFIX . "online_transactions` set transaction_id = '{$authority}',transaction_date = '" . date("YmdHis") . "' where 1 and ( receipt_id = '{$authority}' )");
//
$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', $order);
$Qtransaction->bindInt(':transaction_code', 1);
$Qtransaction->bindValue(':transaction_return_value', $authority);
$Qtransaction->bindInt(':transaction_return_status', 1);
$Qtransaction->execute();
//
$this->_order_id = osC_Order::insert();
$comments = $osC_Language->get('payment_pec_method_authority') . '[' . $authority . ']';
osC_Order::process($this->_order_id, $this->order_status, $comments);
} else {
$err = $client->getError();
if ($err) {
//$err --> $err='ali' for test
///////////////// REVERSAL REQUEST
$order = $this->_order_id;
// order id for reversal
$orderid = $order;
$reversaltoreversal = $order;
$reversalstatus = 1;
// default status
// Check for an error
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
die;
}
$parameters = array('pin' => MODULE_PAYMENT_PEC_PIN, 'orderId' => $orderid, 'orderToReversal' => $reversaltoreversal, 'status' => $reversalstatus);
// Call the SOAP method
$result = $client->call('PinReversal', $parameters);
// Check for a fault
if ($client->fault) {
echo '<h2>Fault3</h2><pre>';
print_r($result);
echo '</pre>';
die;
} else {
$resultStr = $result;
$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
die;
} else {
// Update Table, Save Reversal Status
// Note: Successful Reversal means that sale is reversed.
//echo "<script>alert('Reversal Response is : " . $resultStr . "');</script>";
// echo "Reversal Response is : " . $resultStr;
// delete receipt id from database
$osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )");
//
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', 'خطا در تایید تراکنش ، مبلغ تراکنش با موفقیت به حساب شما برگشت داده شد.', 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
//
}
// end Display the result
}
// end Check for errors
}
// delete receipt id from database
$osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )");
//
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', check_pec_state_error($status), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
//
}
}
} else {
// delete receipt id from database
$osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )");
//
// this is a UNsucccessfull payment
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', check_pec_state_error($status), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
}
} else {
// delete receipt id from database
$osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( orders_id = '{$order}' )");
//
// this is a UNsucccessfull payment
osC_Order::remove($this->_order_id);
$messageStack->add_session('checkout', check_pec_state_error($status), 'error');
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true));
}
}
示例14: process
function process()
{
global $osC_Currencies, $osC_ShoppingCart, $messageStack, $osC_Customer, $osC_Tax, $osC_CreditCard;
$this->_verifyData();
$orders_id = osC_Order::insert();
$params = array('x_login' => substr(MODULE_PAYMENT_AUTHORIZENET_CC_AIM_API_LOGIN_ID, 0, 20), 'x_tran_key' => substr(MODULE_PAYMENT_AUTHORIZENET_CC_AIM_API_TRANSACTION_KEY, 0, 16), 'x_version' => '3.1', 'x_delim_data' => 'TRUE', 'x_delim_char' => ',', 'x_encap_char' => '"', 'x_relay_response' => 'FALSE', 'x_first_name' => substr($osC_ShoppingCart->getBillingAddress('firstname'), 0, 50), 'x_last_name' => substr($osC_ShoppingCart->getBillingAddress('lastname'), 0, 50), 'x_company' => substr($osC_ShoppingCart->getBillingAddress('company'), 0, 50), 'x_address' => substr($osC_ShoppingCart->getBillingAddress('street_address'), 0, 60), 'x_city' => substr($osC_ShoppingCart->getBillingAddress('city'), 0, 40), 'x_state' => substr($osC_ShoppingCart->getBillingAddress('state'), 0, 40), 'x_zip' => substr($osC_ShoppingCart->getBillingAddress('postcode'), 0, 20), 'x_country' => substr($osC_ShoppingCart->getBillingAddress('country_iso_code_2'), 0, 60), 'x_cust_id' => substr($osC_Customer->getID(), 0, 20), 'x_customer_ip' => osc_get_ip_address(), 'x_invoice_num' => $order_id, 'x_email' => substr($osC_Customer->getEmailAddress(), 0, 255), 'x_description' => substr(STORE_NAME, 0, 255), 'x_amount' => substr($osC_Currencies->formatRaw($osC_ShoppingCart->getTotal()), 0, 15), 'x_currency_code' => substr($osC_Currencies->getCode(), 0, 3), 'x_method' => 'CC', 'x_type' => MODULE_PAYMENT_AUTHORIZENET_CC_AIM_TRANSACTION_METHOD == 'Capture' ? 'AUTH_CAPTURE' : 'AUTH_ONLY', 'x_card_num' => $osC_CreditCard->getNumber(), 'x_exp_date' => $osC_CreditCard->getExpiryMonth() . $osC_CreditCard->getExpiryYear());
if (ACCOUNT_TELEPHONE > -1) {
$params['x_phone'] = $osC_ShoppingCart->getBillingAddress('telephone_number');
}
if (MODULE_PAYMENT_AUTHORIZENET_CC_AIM_VERIFY_WITH_CVC == '1') {
$params['x_card_code'] = $osC_CreditCard->getCVC();
}
if ($osC_ShoppingCart->hasShippingAddress()) {
$params['x_ship_to_first_name'] = substr($osC_ShoppingCart->getShippingAddress('firstname'), 0, 50);
$params['x_ship_to_last_name'] = substr($osC_ShoppingCart->getShippingAddress('lastname'), 0, 50);
$params['x_ship_to_company'] = substr($osC_ShoppingCart->getShippingAddress('company'), 0, 50);
$params['x_ship_to_address'] = substr($osC_ShoppingCart->getShippingAddress('street_address'), 0, 60);
$params['x_ship_to_city'] = substr($osC_ShoppingCart->getShippingAddress('city'), 0, 40);
$params['x_ship_to_state'] = substr($osC_ShoppingCart->getShippingAddress('zone_code'), 0, 40);
$params['x_ship_to_zip'] = substr($osC_ShoppingCart->getShippingAddress('postcode'), 0, 20);
$params['x_ship_to_country'] = substr($osC_ShoppingCart->getShippingAddress('country_iso_code_2'), 0, 60);
}
if (MODULE_PAYMENT_AUTHORIZENET_CC_AIM_TRANSACTION_MODE == 'Test') {
$params['x_test_request'] = 'TRUE';
}
$shipping_tax = $osC_ShoppingCart->getShippingMethod('cost') * ($osC_Tax->getTaxRate($osC_ShoppingCart->getShippingMethod('tax_class_id'), $osC_ShoppingCart->getTaxingAddress('country_id'), $osC_ShoppingCart->getTaxingAddress('zone_id')) / 100);
$total_tax = $osC_ShoppingCart->getTax() - $shipping_tax;
if ($total_tax > 0) {
$params['x_tax'] = $osC_Currencies->formatRaw($total_tax);
}
$params['x_freight'] = $osC_Currencies->formatRaw($osC_ShoppingCart->getShippingMethod('cost'));
$post_string = '';
foreach ($params as $key => $value) {
$post_string .= $key . '=' . urlencode(trim($value)) . '&';
}
$post_string = substr($post_string, 0, -1);
if ($osC_ShoppingCart->hasContents()) {
$i = 1;
foreach ($osC_ShoppingCart->getProducts() as $product) {
$post_string .= '&x_line_item=' . urlencode($i) . '<|>' . urlencode(substr($product['name'], 0, 31)) . '<|>' . urlencode(substr($product['name'], 0, 255)) . '<|>' . urlencode($product['quantity']) . '<|>' . urlencode($osC_Currencies->formatRaw($product['final_price'])) . '<|>' . urlencode($product['tax_class_id'] > 0 ? 'YES' : 'NO');
$i++;
}
}
switch (MODULE_PAYMENT_AUTHORIZENET_CC_AIM_TRANSACTION_SERVER) {
case 'Live':
$gateway_url = 'https://secure.authorize.net/gateway/transact.dll';
break;
default:
$gateway_url = 'https://test.authorize.net/gateway/transact.dll';
break;
}
$transaction_response = $this->sendTransactionToGateway($gateway_url, $post_string);
if (!empty($transaction_response)) {
$regs = preg_split("/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/", $transaction_response);
foreach ($regs as $key => $value) {
$regs[$key] = substr($value, 1, -1);
// remove double quotes
}
} else {
$regs = array('-1', '-1', '-1');
}
$error = false;
if ($regs[0] == '1') {
if (!osc_empty(MODULE_PAYMENT_AUTHORIZENET_CC_AIM_MD5_HASH)) {
if (strtoupper($regs[37]) != strtoupper(md5(MODULE_PAYMENT_AUTHORIZENET_CC_AIM_MD5_HASH . MODULE_PAYMENT_AUTHORIZENET_CC_AIM_API_LOGIN_ID . $regs[6] . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal())))) {
$error = 'general';
}
}
} else {
switch ($regs[2]) {
case '7':
$error = 'invalid_expiration_date';
break;
case '8':
$error = 'expired';
break;
case '6':
case '17':
case '28':
$error = 'declined';
break;
case '78':
$error = 'cvc';
break;
default:
$error = 'general';
break;
}
}
if ($error != false) {
osC_Order::remove($orders_id);
osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&error=' . $error, 'SSL'));
} else {
osC_Order::process($orders_id, $this->_order_status, $transaction_response);
}
}
示例15: insert
function insert()
{
global $osC_Database, $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart, $osC_Tax;
if (isset($_SESSION['prepOrderID'])) {
$_prep = explode('-', $_SESSION['prepOrderID']);
if ($_prep[0] == $osC_ShoppingCart->getCartID()) {
return $_prep[1];
// order_id
} else {
if (osC_Order::getStatusID($_prep[1]) === 4) {
osC_Order::remove($_prep[1]);
}
}
}
$customer_address = osC_AddressBook::getEntry($osC_Customer->getDefaultAddressID())->toArray();
$Qorder = $osC_Database->query('insert into :table_orders (customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_state_code, customers_country, customers_country_iso2, customers_country_iso3, customers_telephone, customers_email_address, customers_address_format, customers_ip_address, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_state_code, delivery_country, delivery_country_iso2, delivery_country_iso3, delivery_address_format, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_state_code, billing_country, billing_country_iso2, billing_country_iso3, billing_address_format, payment_method, payment_module, date_purchased, orders_status, currency, currency_value) values (:customers_id, :customers_name, :customers_company, :customers_street_address, :customers_suburb, :customers_city, :customers_postcode, :customers_state, :customers_state_code, :customers_country, :customers_country_iso2, :customers_country_iso3, :customers_telephone, :customers_email_address, :customers_address_format, :customers_ip_address, :delivery_name, :delivery_company, :delivery_street_address, :delivery_suburb, :delivery_city, :delivery_postcode, :delivery_state, :delivery_state_code, :delivery_country, :delivery_country_iso2, :delivery_country_iso3, :delivery_address_format, :billing_name, :billing_company, :billing_street_address, :billing_suburb, :billing_city, :billing_postcode, :billing_state, :billing_state_code, :billing_country, :billing_country_iso2, :billing_country_iso3, :billing_address_format, :payment_method, :payment_module, now(), :orders_status, :currency, :currency_value)');
$Qorder->bindTable(':table_orders', TABLE_ORDERS);
$Qorder->bindInt(':customers_id', $osC_Customer->getID());
$Qorder->bindValue(':customers_name', $osC_Customer->getName());
$Qorder->bindValue(':customers_company', $customer_address['entry_company']);
$Qorder->bindValue(':customers_street_address', $customer_address['entry_street_address']);
$Qorder->bindValue(':customers_suburb', $customer_address['entry_suburb']);
$Qorder->bindValue(':customers_city', $customer_address['entry_city']);
$Qorder->bindValue(':customers_postcode', $customer_address['entry_postcode']);
$Qorder->bindValue(':customers_state', $customer_address['entry_state']);
$Qorder->bindValue(':customers_state_code', osC_Address::getZoneCode($customer_address['entry_zone_id']));
$Qorder->bindValue(':customers_country', osC_Address::getCountryName($customer_address['entry_country_id']));
$Qorder->bindValue(':customers_country_iso2', osC_Address::getCountryIsoCode2($customer_address['entry_country_id']));
$Qorder->bindValue(':customers_country_iso3', osC_Address::getCountryIsoCode3($customer_address['entry_country_id']));
$Qorder->bindValue(':customers_telephone', $customer_address['entry_telephone']);
$Qorder->bindValue(':customers_email_address', $osC_Customer->getEmailAddress());
$Qorder->bindValue(':customers_address_format', osC_Address::getFormat($customer_address['entry_country_id']));
$Qorder->bindValue(':customers_ip_address', osc_get_ip_address());
$Qorder->bindValue(':delivery_name', $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'));
$Qorder->bindValue(':delivery_company', $osC_ShoppingCart->getShippingAddress('company'));
$Qorder->bindValue(':delivery_street_address', $osC_ShoppingCart->getShippingAddress('street_address'));
$Qorder->bindValue(':delivery_suburb', $osC_ShoppingCart->getShippingAddress('suburb'));
$Qorder->bindValue(':delivery_city', $osC_ShoppingCart->getShippingAddress('city'));
$Qorder->bindValue(':delivery_postcode', $osC_ShoppingCart->getShippingAddress('postcode'));
$Qorder->bindValue(':delivery_state', $osC_ShoppingCart->getShippingAddress('state'));
$Qorder->bindValue(':delivery_state_code', $osC_ShoppingCart->getShippingAddress('zone_code'));
$Qorder->bindValue(':delivery_country', $osC_ShoppingCart->getShippingAddress('country_title'));
$Qorder->bindValue(':delivery_country_iso2', $osC_ShoppingCart->getShippingAddress('country_iso_code_2'));
$Qorder->bindValue(':delivery_country_iso3', $osC_ShoppingCart->getShippingAddress('country_iso_code_3'));
$Qorder->bindValue(':delivery_address_format', $osC_ShoppingCart->getShippingAddress('format'));
$Qorder->bindValue(':billing_name', $osC_ShoppingCart->getBillingAddress('firstname') . ' ' . $osC_ShoppingCart->getBillingAddress('lastname'));
$Qorder->bindValue(':billing_company', $osC_ShoppingCart->getBillingAddress('company'));
$Qorder->bindValue(':billing_street_address', $osC_ShoppingCart->getBillingAddress('street_address'));
$Qorder->bindValue(':billing_suburb', $osC_ShoppingCart->getBillingAddress('suburb'));
$Qorder->bindValue(':billing_city', $osC_ShoppingCart->getBillingAddress('city'));
$Qorder->bindValue(':billing_postcode', $osC_ShoppingCart->getBillingAddress('postcode'));
$Qorder->bindValue(':billing_state', $osC_ShoppingCart->getBillingAddress('state'));
$Qorder->bindValue(':billing_state_code', $osC_ShoppingCart->getBillingAddress('zone_code'));
$Qorder->bindValue(':billing_country', $osC_ShoppingCart->getBillingAddress('country_title'));
$Qorder->bindValue(':billing_country_iso2', $osC_ShoppingCart->getBillingAddress('country_iso_code_2'));
$Qorder->bindValue(':billing_country_iso3', $osC_ShoppingCart->getBillingAddress('country_iso_code_3'));
$Qorder->bindValue(':billing_address_format', $osC_ShoppingCart->getBillingAddress('format'));
$Qorder->bindValue(':payment_method', $osC_ShoppingCart->getBillingMethod('title'));
$Qorder->bindValue(':payment_module', $GLOBALS['osC_Payment_' . $osC_ShoppingCart->getBillingMethod('id')]->getCode());
$Qorder->bindInt(':orders_status', 4);
$Qorder->bindValue(':currency', $osC_Currencies->getCode());
$Qorder->bindValue(':currency_value', $osC_Currencies->value($osC_Currencies->getCode()));
$Qorder->execute();
$insert_id = $osC_Database->nextID();
foreach ($osC_ShoppingCart->getOrderTotals() as $module) {
$Qtotals = $osC_Database->query('insert into :table_orders_total (orders_id, title, text, value, class, sort_order) values (:orders_id, :title, :text, :value, :class, :sort_order)');
$Qtotals->bindTable(':table_orders_total', TABLE_ORDERS_TOTAL);
$Qtotals->bindInt(':orders_id', $insert_id);
$Qtotals->bindValue(':title', $module['title']);
$Qtotals->bindValue(':text', $module['text']);
$Qtotals->bindValue(':value', $module['value']);
$Qtotals->bindValue(':class', $module['code']);
$Qtotals->bindInt(':sort_order', $module['sort_order']);
$Qtotals->execute();
}
$Qstatus = $osC_Database->query('insert into :table_orders_status_history (orders_id, orders_status_id, date_added, customer_notified, comments) values (:orders_id, :orders_status_id, now(), :customer_notified, :comments)');
$Qstatus->bindTable(':table_orders_status_history', TABLE_ORDERS_STATUS_HISTORY);
$Qstatus->bindInt(':orders_id', $insert_id);
$Qstatus->bindInt(':orders_status_id', 4);
$Qstatus->bindInt(':customer_notified', '0');
$Qstatus->bindValue(':comments', isset($_SESSION['comments']) ? $_SESSION['comments'] : '');
$Qstatus->execute();
foreach ($osC_ShoppingCart->getProducts() as $products) {
$Qproducts = $osC_Database->query('insert into :table_orders_products (orders_id, products_id, products_model, products_name, products_price, products_tax, products_quantity) values (:orders_id, :products_id, :products_model, :products_name, :products_price, :products_tax, :products_quantity)');
$Qproducts->bindTable(':table_orders_products', TABLE_ORDERS_PRODUCTS);
$Qproducts->bindInt(':orders_id', $insert_id);
$Qproducts->bindInt(':products_id', osc_get_product_id($products['id']));
$Qproducts->bindValue(':products_model', $products['model']);
$Qproducts->bindValue(':products_name', $products['name']);
$Qproducts->bindValue(':products_price', $products['price']);
$Qproducts->bindValue(':products_tax', $osC_Tax->getTaxRate($products['tax_class_id']));
$Qproducts->bindInt(':products_quantity', $products['quantity']);
$Qproducts->execute();
$order_products_id = $osC_Database->nextID();
if ($osC_ShoppingCart->isVariant($products['item_id'])) {
foreach ($osC_ShoppingCart->getVariant($products['item_id']) as $variant) {
/* HPDL
if (DOWNLOAD_ENABLED == '1') {
$Qattributes = $osC_Database->query('select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount, pad.products_attributes_filename from :table_products_options popt, :table_products_options_values poval, :table_products_attributes pa left join :table_products_attributes_download pad on (pa.products_attributes_id = pad.products_attributes_id) where pa.products_id = :products_id and pa.options_id = :options_id and pa.options_id = popt.products_options_id and pa.options_values_id = :options_values_id and pa.options_values_id = poval.products_options_values_id and popt.language_id = :popt_language_id and poval.language_id = :poval_language_id');
$Qattributes->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
//.........这里部分代码省略.........