本文整理匯總了PHP中WPSC_Purchase_Log::set方法的典型用法代碼示例。如果您正苦於以下問題:PHP WPSC_Purchase_Log::set方法的具體用法?PHP WPSC_Purchase_Log::set怎麽用?PHP WPSC_Purchase_Log::set使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類WPSC_Purchase_Log
的用法示例。
在下文中一共展示了WPSC_Purchase_Log::set方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: decrypt_dps_response
function decrypt_dps_response()
{
$PxAccess_Url = get_option('access_url');
$PxAccess_Userid = get_option('access_userid');
$PxAccess_Key = get_option('access_key');
$Mac_Key = get_option('mac_key');
$pxaccess = new PxAccess($PxAccess_Url, $PxAccess_Userid, $PxAccess_Key, $Mac_Key);
$curgateway = get_option('payment_gateway');
$_GET = array();
$params = explode('&', $_SERVER['QUERY_STRING']);
foreach ($params as $pair) {
list($key, $value) = explode('=', $pair);
$_GET[urldecode($key)] = urldecode($value);
}
$enc_hex = $_GET['result'];
if ($enc_hex != null) {
$rsp = $pxaccess->getResponse($enc_hex);
$siteurl = get_option('siteurl');
$total_weight = 0;
if ($rsp->getResponseText() == 'APPROVED') {
$sessionid = $rsp->getMerchantReference();
$purchase_log = new WPSC_Purchase_Log($sessionid, 'sessionid');
if (!$purchase_log->is_transaction_completed()) {
$purchase_log->set('processed', WPSC_Purchase_Log::ACCEPTED_PAYMENT);
$purchase_log->save();
}
}
}
return $sessionid;
}
示例2: callback_shortcut_process
/**
* ExpressCheckout Shortcut Callback
*
* @return int
*/
public function callback_shortcut_process()
{
if (!isset($_GET['payment_gateway'])) {
return;
}
$payment_gateway = $_GET['payment_gateway'];
global $wpsc_cart;
// Create a new PurchaseLog Object
$purchase_log = new WPSC_Purchase_Log();
// Create a Sessionid
$sessionid = mt_rand(100, 999) . time();
wpsc_update_customer_meta('checkout_session_id', $sessionid);
$purchase_log->set(array('user_ID' => get_current_user_id(), 'date' => time(), 'plugin_version' => WPSC_VERSION, 'statusno' => '0', 'sessionid' => $sessionid));
if (wpsc_is_tax_included()) {
$tax = $wpsc_cart->calculate_total_tax();
$tax_percentage = $wpsc_cart->tax_percentage;
} else {
$tax = 0;
$tax_percentage = 0;
}
$purchase_log->set(array('wpec_taxes_total' => $tax, 'wpec_taxes_rate' => $tax_percentage));
// Save the purchase_log object to generate it's id
$purchase_log->save();
$purchase_log_id = $purchase_log->get('id');
$wpsc_cart->log_id = $purchase_log_id;
wpsc_update_customer_meta('current_purchase_log_id', $purchase_log_id);
$purchase_log->set(array('gateway' => $payment_gateway, 'base_shipping' => $wpsc_cart->calculate_base_shipping(), 'totalprice' => $wpsc_cart->calculate_total_price()));
$purchase_log->save();
$wpsc_cart->empty_db($purchase_log_id);
$wpsc_cart->save_to_db($purchase_log_id);
$wpsc_cart->submit_stock_claims($purchase_log_id);
// Save an empty Form
$form = WPSC_Checkout_Form::get();
$fields = $form->get_fields();
WPSC_Checkout_Form_Data::save_form($purchase_log, $fields);
// Return Customer to Review Order Page if there is Shipping
add_filter('wpsc_paypal_express_checkout_transact_url', array(&$this, 'review_order_url'));
add_filter('wpsc_paypal_express_checkout_return_url', array(&$this, 'review_order_callback'));
// Set a Temporary Option for EC Shortcut
wpsc_update_customer_meta('esc-' . $sessionid, true);
// Apply Checkout Actions
do_action('wpsc_submit_checkout', array('purchase_log_id' => $purchase_log_id, 'our_user_id' => get_current_user_id()));
do_action('wpsc_submit_checkout_gateway', $payment_gateway, $purchase_log);
return $sessionid;
}
示例3: submit_payment_method
private function submit_payment_method()
{
global $wpsc_cart;
if (!$this->verify_nonce('wpsc-checkout-form-payment-method')) {
return;
}
if (empty($_POST['wpsc_payment_method']) && !wpsc_is_free_cart()) {
$this->message_collection->add(__('Please select a payment method', 'wp-e-commerce'), 'validation');
}
$valid = apply_filters('_wpsc_merchant_v2_validate_payment_method', true, $this);
if (!$valid) {
return;
}
$purchase_log_id = wpsc_get_customer_meta('current_purchase_log_id');
$purchase_log = new WPSC_Purchase_Log($purchase_log_id);
$submitted_gateway = $_POST['wpsc_payment_method'];
$purchase_log->set(array('gateway' => $submitted_gateway, 'base_shipping' => $wpsc_cart->calculate_base_shipping(), 'totalprice' => $wpsc_cart->calculate_total_price()));
if ($this->maybe_add_guest_account() && isset($_POST['wpsc_create_account'])) {
$email = wpsc_get_customer_meta('billingemail');
$user_id = wpsc_register_customer($email, $email, false);
$purchase_log->set('user_ID', $user_id);
wpsc_update_customer_meta('checkout_details', wpsc_get_customer_meta('checkout_details'), $user_id);
update_user_meta($user_id, '_wpsc_visitor_id', wpsc_get_current_customer_id());
}
$purchase_log->save();
$wpsc_cart->empty_db($purchase_log_id);
$wpsc_cart->save_to_db($purchase_log_id);
$wpsc_cart->submit_stock_claims($purchase_log_id);
$wpsc_cart->log_id = $purchase_log_id;
$this->wizard->completed_step('payment');
do_action('wpsc_submit_checkout', array('purchase_log_id' => $purchase_log_id, 'our_user_id' => isset($user_id) ? $user_id : get_current_user_id()));
do_action('wpsc_submit_checkout_gateway', $submitted_gateway, $purchase_log);
}
示例4: submit_payment_method
private function submit_payment_method()
{
global $wpsc_cart;
if (!$this->verify_nonce('wpsc-checkout-form-payment-method')) {
return;
}
if (empty($_POST['wpsc_payment_method']) && !wpsc_is_free_cart()) {
$this->message_collection->add(__('Please select a payment method', 'wpsc'), 'validation');
}
$valid = apply_filters('_wpsc_merchant_v2_validate_payment_method', true, $this);
if (!$valid) {
return;
}
$submitted_gateway = $_POST['wpsc_payment_method'];
$purchase_log_id = wpsc_get_customer_meta('current_purchase_log_id');
$purchase_log = new WPSC_Purchase_Log($purchase_log_id);
$purchase_log->set('gateway', $submitted_gateway);
$purchase_log->set(array('gateway' => $submitted_gateway, 'base_shipping' => $wpsc_cart->calculate_base_shipping(), 'totalprice' => $wpsc_cart->calculate_total_price()));
$purchase_log->save();
$wpsc_cart->empty_db($purchase_log_id);
$wpsc_cart->save_to_db($purchase_log_id);
$wpsc_cart->submit_stock_claims($purchase_log_id);
$wpsc_cart->log_id = $purchase_log_id;
$this->wizard->completed_step('payment');
do_action('wpsc_submit_checkout', array("purchase_log_id" => $purchase_log_id, "our_user_id" => get_current_user_id()));
do_action('wpsc_submit_checkout_gateway', $submitted_gateway, $purchase_log);
}
示例5: wpsc_submit_checkout
/**
* submit checkout function, used through ajax and in normal page loading.
* No parameters, returns nothing
*/
function wpsc_submit_checkout($collected_data = true)
{
global $wpdb, $wpsc_cart, $user_ID, $nzshpcrt_gateways, $wpsc_shipping_modules, $wpsc_gateways;
$num_items = 0;
$use_shipping = 0;
$disregard_shipping = 0;
do_action('wpsc_before_submit_checkout');
$error_messages = wpsc_get_customer_meta('checkout_misc_error_messages');
if (!is_array($error_messages)) {
$error_messages = array();
}
$wpsc_checkout = new wpsc_checkout();
$selected_gateways = get_option('custom_gateway_options');
$submitted_gateway = isset($_POST['custom_gateway']) ? $_POST['custom_gateway'] : '';
$options = get_option('custom_shipping_options');
if ($collected_data) {
$form_validity = $wpsc_checkout->validate_forms();
extract($form_validity);
// extracts $is_valid and $error_messages
if (wpsc_has_tnc() && (!isset($_POST['agree']) || $_POST['agree'] != 'yes')) {
$error_messages[] = __('Please agree to the terms and conditions, otherwise we cannot process your order.', 'wpsc');
$is_valid = false;
}
} else {
$is_valid = true;
$error_messages = array();
}
$selectedCountry = $wpdb->get_results($wpdb->prepare("SELECT id, country FROM `" . WPSC_TABLE_CURRENCY_LIST . "` WHERE isocode = '%s' ", wpsc_get_customer_meta('shipping_country')), ARRAY_A);
foreach ($wpsc_cart->cart_items as $cartitem) {
if (!empty($cartitem->meta[0]['no_shipping'])) {
continue;
}
$categoriesIDs = $cartitem->category_id_list;
foreach ((array) $categoriesIDs as $catid) {
if (is_array($catid)) {
$countries = wpsc_get_meta($catid[0], 'target_market', 'wpsc_category');
} else {
$countries = wpsc_get_meta($catid, 'target_market', 'wpsc_category');
}
if (!empty($countries) && !in_array($selectedCountry[0]['id'], (array) $countries)) {
$errormessage = sprintf(__('%s cannot be shipped to %s. To continue with your transaction please remove this product from the list below.', 'wpsc'), $cartitem->get_title(), $selectedCountry[0]['country']);
wpsc_update_customer_meta('category_shipping_conflict', $errormessage);
$is_valid = false;
}
}
//count number of items, and number of items using shipping
$num_items++;
if ($cartitem->uses_shipping != 1) {
$disregard_shipping++;
} else {
$use_shipping++;
}
}
if (array_search($submitted_gateway, $selected_gateways) !== false) {
wpsc_update_customer_meta('selected_gateway', $submitted_gateway);
} else {
$is_valid = false;
}
if ($collected_data) {
if (get_option('do_not_use_shipping') == 0 && ($wpsc_cart->selected_shipping_method == null || $wpsc_cart->selected_shipping_option == null) && $num_items != $disregard_shipping) {
$error_messages[] = __('You must select a shipping method, otherwise we cannot process your order.', 'wpsc');
$is_valid = false;
}
if (get_option('do_not_use_shipping') != 1 && in_array('ups', (array) $options) && !wpsc_get_customer_meta('shipping_zip') && $num_items != $disregard_shipping) {
wpsc_update_customer_meta('category_shipping_conflict', __('Please enter a Zipcode and click calculate to proceed', 'wpsc'));
$is_valid = false;
}
}
wpsc_update_customer_meta('checkout_misc_error_messages', $error_messages);
if ($is_valid == true) {
wpsc_delete_customer_meta('category_shipping_conflict');
// check that the submitted gateway is in the list of selected ones
$sessionid = mt_rand(100, 999) . time();
wpsc_update_customer_meta('checkout_session_id', $sessionid);
$subtotal = $wpsc_cart->calculate_subtotal();
if ($wpsc_cart->has_total_shipping_discount() == false) {
$base_shipping = $wpsc_cart->calculate_base_shipping();
} else {
$base_shipping = 0;
}
$delivery_country = $wpsc_cart->delivery_country;
$delivery_region = $wpsc_cart->delivery_region;
if (wpsc_uses_shipping()) {
$shipping_method = $wpsc_cart->selected_shipping_method;
$shipping_option = $wpsc_cart->selected_shipping_option;
} else {
$shipping_method = '';
$shipping_option = '';
}
if (isset($_POST['how_find_us'])) {
$find_us = $_POST['how_find_us'];
} else {
$find_us = '';
}
//keep track of tax if taxes are exclusive
$wpec_taxes_controller = new wpec_taxes_controller();
//.........這裏部分代碼省略.........
示例6: submit
function submit()
{
require_once 'eWay/lib.php';
//Send card data
$this->credit_card_details = array('card_number' => $_POST['eway_card_number'], 'expiry_month' => $_POST['eway_expiry_month'], 'expiry_year' => $_POST['eway_expiry_year'], 'card_code' => $_POST['eway_card_code']);
$request = new eWAY\CreateDirectPaymentRequest();
//Send vars to eWay
$request->Customer->FirstName = $this->cart_data['billing_address']['first_name'];
$request->Customer->LastName = $this->cart_data['billing_address']['last_name'];
$request->Customer->Reference = $this->cart_data['session_id'];
$request->Customer->City = $this->cart_data['billing_address']['city'];
$request->Customer->State = $this->cart_data['billing_address']['state'];
$request->Customer->PostalCode = $this->cart_data['billing_address']['post_code'];
$request->Customer->Email = $this->cart_data['email_address'];
//Card info
$request->Customer->CardDetails->Name = $request->Customer->FirstName . ' ' . $request->Customer->LastName;
$request->Customer->CardDetails->Number = $this->credit_card_details['card_number'];
$request->Customer->CardDetails->ExpiryMonth = $this->credit_card_details['expiry_month'];
$request->Customer->CardDetails->ExpiryYear = $this->credit_card_details['expiry_year'];
$request->Customer->CardDetails->CVN = $this->credit_card_details['card_code'];
//Populate values for LineItems
$i = 0;
foreach ($this->cart_items as $cart_row) {
$item[$i] = new eWAY\LineItem();
$item[$i]->Description = $cart_row['name'];
$item[$i]->Quantity = $cart_row['quantity'];
$item[$i]->UnitCost = $cart_row['price'] * 100;
$item[$i]->Total = $cart_row['price'] * 100 * $cart_row['quantity'];
$request->Items->LineItem[$i] = $item[$i];
$i++;
}
//Options
$opt = new eWAY\Option();
$opt->Value = $this->cart_data['session_id'];
$request->Options->Option[0] = $opt;
//Populate values for Payment Object
$request->Payment->TotalAmount = number_format($this->cart_data['total_price'], 2, '.', '') * 100;
$request->Payment->CurrencyCode = $this->cart_data['store_currency'];
$request->Payment->InvoiceReference = $this->cart_data['session_id'];
//Misc data
$request->Method = 'ProcessPayment';
$request->TransactionType = 'Purchase';
$eway_params = array();
if (get_option('eway_testmode') == 'test') {
$eway_params['sandbox'] = true;
}
$service = new eWAY\RapidAPI(get_option('eway_apikey'), get_option('eway_apipassword'), $eway_params);
$result = $service->DirectPayment($request);
if (isset($result->Errors)) {
// Get Error Messages from Error Code. Error Code Mappings are in the Config.ini file
$ErrorArray = explode(",", $result->Errors);
$lblError = "";
foreach ($ErrorArray as $error) {
$error = $service->getMessage($error);
$lblError .= $error . "<br />\n";
}
}
if (isset($lblError)) {
$error_messages = wpsc_get_customer_meta('checkout_misc_error_messages');
if (!is_array($error_messages)) {
$error_messages = array();
}
$error_messages[] = '<strong style="color:red">' . $lblError . ' </strong>';
wpsc_update_customer_meta('checkout_misc_error_messages', $error_messages);
$this->return_to_checkout();
exit;
}
if (isset($result->TransactionStatus) && $result->TransactionStatus && (is_bool($result->TransactionStatus) || $result->TransactionStatus != "false")) {
$sessionid = $result->Payment->InvoiceReference;
$purchase_log = new WPSC_Purchase_Log($sessionid, 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::ACCEPTED_PAYMENT, 'transactid' => $result->TransactionID, 'notes' => 'eWay Auth Code : "' . $result->AuthorisationCode . '"'));
$purchase_log->save();
$this->go_to_transaction_results($this->cart_data['session_id']);
exit;
} else {
$error_messages = wpsc_get_customer_meta('checkout_misc_error_messages');
if (!is_array($error_messages)) {
$error_messages = array();
}
$error_messages[] = '<strong style="color:red">' . parse_error_message_eway($result->ResponseMessage) . ' </strong>';
wpsc_update_customer_meta('checkout_misc_error_messages', $error_messages);
$checkout_page_url = get_option('shopping_cart_url');
if ($checkout_page_url) {
header('Location: ' . $checkout_page_url);
exit;
}
}
}
示例7:
/**
* set_authcode, generaly speaking a payment gateway gives you an authcode to be able to refer back to the transaction
* if an authcode already exsits, you can either append another (2931932839|29391839482) or replace depending on the $append flag
* @param string $authcode
* @param bool $append
* @return bool result
*/
function set_authcode($authcode, $append = false)
{
$log = new WPSC_Purchase_Log($this->purchase_id);
$current_authcode = $log->get('authcode');
if ($append && !empty($current_authcode)) {
$authcode = $current_authcode . '|' . $authcode;
}
return $log->set('authcode', $authcode)->save();
}
示例8: _wpsc_buy_now_transaction_results
function _wpsc_buy_now_transaction_results()
{
if (!isset($_REQUEST['sessionid'])) {
return;
}
$purchase_log = new WPSC_Purchase_Log($_REQUEST['sessionid'], 'sessionid');
if (!$purchase_log->exists() || $purchase_log->is_transaction_completed()) {
return;
}
$purchase_log->set('processed', WPSC_Purchase_Log::ORDER_RECEIVED);
$purchase_log->save();
}
示例9: dibspayment_paywin_process
/**
* Handle Response from DIBS server
*
*
*
*/
function dibspayment_paywin_process()
{
global $wpdb;
if (isset($_GET['dibspw_result']) && isset($_POST['s_pid'])) {
array_walk($_POST, create_function('&$val', '$val = stripslashes($val);'));
$hamc_key = get_option('dibspw_hmac');
$order_id = $_POST['orderid'];
switch ($_GET['dibspw_result']) {
case 'callback':
if ($hamc_key && !isset($_POST['MAC'])) {
die("HMAC error!");
}
if (isset($_POST['MAC']) && $_POST['MAC'] != dibspayment_paywin_calc_mac($_POST, $hamc_key, $bUrlDecode = FALSE)) {
die("Mac is incorrect, fraud attempt!!");
}
$dibsInvoiceFields = array("acquirerLastName", "acquirerFirstName", "acquirerDeliveryAddress", "acquirerDeliveryPostalCode", "acquirerDeliveryPostalPlace");
$dibsInvoiceFieldsString = "";
foreach ($_POST as $key => $value) {
if (in_array($key, $dibsInvoiceFields)) {
$dibsInvoiceFieldsString .= "{$key}={$value}\n";
}
}
// Email is not send automatically on a success transactio page
// from version '3.8.9 so we send email on callback from this version
if (version_compare(get_option('wpsc_version'), '3.8.9', '>=')) {
if ($_POST['status'] == "ACCEPTED") {
$purchaselog = new WPSC_Purchase_Log($order_id);
$purchaselog->set('processed', get_option('dibspw_status'));
$purchaselog->set('notes', $dibsInvoiceFieldsString);
$purchaselog->save();
$wpscmerch = new wpsc_merchant($order_id, false);
$wpscmerch->set_purchase_processed_by_purchid(get_option('dibspw_status'));
}
} else {
if ($_POST['status'] == "ACCEPTED") {
$purchase_log = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $_POST['s_pid'] . " LIMIT 1", ARRAY_A);
$wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed` = '" . get_option('dibspw_status') . "', `notes`='" . $dibsInvoiceFieldsString . "' WHERE `id` = '" . $purchase_log[0]['id'] . "' LIMIT 1;");
// If it is the second callback with status ACCEPTED
// we want to send an email to customer.
if ($purchase_log[0]['authcode'] == "PENDING") {
transaction_results($_POST['s_pid'], false);
}
} else {
// we save not successed statuses it can be PENDING status..
$wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed` = '1' , `authcode` = '" . $_POST['status'] . "' WHERE `id` = '" . $purchase_log[0]['id'] . "' LIMIT 1;");
}
}
break;
case 'success':
if (!isset($_GET['page_id']) || get_permalink($_GET['page_id']) != get_option('transact_url')) {
$location = add_query_arg('sessionid', $_POST['s_pid'], get_option('transact_url'));
if ($_POST['status'] == "ACCEPTED") {
if ($hamc_key && !isset($_POST['MAC'])) {
die("HMAC error!");
}
if (isset($_POST['MAC']) && $_POST['MAC'] != dibspayment_paywin_calc_mac($_POST, $hamc_key, $bUrlDecode = FALSE)) {
die("HMAC is incorrect, fraud attempt!");
}
} else {
// Declined or PENDING
$purchase_log = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $_POST['s_pid'] . " LIMIT 1", ARRAY_A);
$wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed` = '1' , `authcode` = '" . $_POST['status'] . "' WHERE `id` = '" . $purchase_log[0]['id'] . "' LIMIT 1;");
}
wp_redirect($location);
exit;
}
break;
case 'cancel':
if (isset($_POST['orderid'])) {
$purchase_log = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`= " . $_POST['s_pid'] . " LIMIT 1", ARRAY_A);
$wpdb->query("UPDATE `" . WPSC_TABLE_PURCHASE_LOGS . "` SET `processed` = '" . get_option('dibspw_statusc') . "' WHERE `id` = '" . $purchase_log[0]['id'] . "' LIMIT 1;");
wp_redirect(get_option('shopping_cart_url'));
exit;
}
break;
}
}
}
示例10: wpec_vmerchant_return
function wpec_vmerchant_return()
{
global $sessionid, $wpdb;
$sessionid = $_GET['ssl_invoice_number'];
if ($_GET['ssl_result_message'] == 'APPROVED' || $_GET['ssl_result_message'] == 'APPROVAL') {
// success
$purchase_log = new WPSC_Purchase_Log($sessionid, 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::ACCEPTED_PAYMENT, 'transactid' => $_GET['ssl_txn_id'], 'notes' => 'Virtual Merchant time : "' . $_GET['ssl_txn_time'] . '"'));
$purchase_log->save();
// set this global, wonder if this is ok
transaction_results($sessionid, true);
} else {
// success
$purchase_log = new WPSC_Purchase_Log($sessionid, 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::INCOMPLETE_SALE, 'transactid' => $_GET['ssl_txn_id'], 'notes' => 'Virtual Merchant time : "' . $_GET['ssl_txn_time'] . '"'));
$purchase_log->save();
$error_messages = wpsc_get_customer_meta('checkout_misc_error_messages');
if (!is_array($error_messages)) {
$error_messages = array();
}
$error_messages[] = '<strong style="color:red">' . urldecode($_GET['ssl_result_message']) . ' </strong>';
wpsc_update_customer_meta('checkout_misc_error_messages', $error_messages);
$checkout_page_url = get_option('shopping_cart_url');
if ($checkout_page_url) {
header('Location: ' . $checkout_page_url);
exit;
}
}
}
示例11: response_handler
function response_handler($nvpArray, $fraud, $sessionid, $data = null, $recurring = null)
{
global $wpdb;
$result_code = $nvpArray['RESULT'];
//$RespMsg = 'General Error. Please contact Customer Support.';
// echo ($result_code);
if ($result_code == 1 || $result_code == 26) {
wpsc_update_customer_meta('payflow_message', __('Account configuration issue. Please verify your login credentials.', 'wpsc_gold_cart'));
} else {
if ($result_code == '0') {
$purchase_log = new WPSC_Purchase_Log($sessionid, 'sessionid');
$purchase_log->set('processed', WPSC_Purchase_Log::ACCEPTED_PAYMENT);
$purchase_log->save();
$log_id = $purchase_log->get('id');
if (isset($nvpArray['CVV2MATCH'])) {
if ($nvpArray['CVV2MATCH'] != "Y") {
$RespMsg = __('Your billing (cvv2) information does not match. Please re-enter.', 'wpsc_gold_cart');
}
}
} else {
if ($result_code == 12) {
$log_id = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`='{$sessionid}' LIMIT 1");
$delete_log_form_sql = "SELECT * FROM `" . $wpdb->prefix . "cart_contents` WHERE `purchaseid`='{$log_id}'";
$cart_content = $wpdb->get_results($delete_log_form_sql, ARRAY_A);
/*
foreach((array)$cart_content as $cart_item) {
$cart_item_variations = $wpdb->query("DELETE FROM `".$wpdb->prefix."cart_item_variations` WHERE `cart_id` = '".$cart_item['id']."'", ARRAY_A);
}
*/
$wpdb->query("DELETE FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_SUBMITED_FORM_DATA . "` WHERE `log_id` IN ('{$log_id}')");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `id`='{$log_id}' LIMIT 1");
wpsc_update_customer_meta('payflow_message', __('Your credit card has been declined. You may press the back button in your browser and check that you\'ve entered your card information correctly, otherwise please contact your credit card issuer.', 'wpsc_gold_cart'));
header("Location:" . get_option('transact_url') . $seperator . "payflow=1&message=1");
} else {
if ($result_code == 13) {
$log_id = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`='{$sessionid}' LIMIT 1");
$delete_log_form_sql = "SELECT * FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'";
$cart_content = $wpdb->get_results($delete_log_form_sql, ARRAY_A);
/*
foreach((array)$cart_content as $cart_item) {
$cart_item_variations = $wpdb->query("DELETE FROM `".WPSC_TABLE_CART_ITEM_VARIATIONS."` WHERE `cart_id` = '".$cart_item['id']."'", ARRAY_A);
}
*/
$RespMsg = __('Invalid credit card information. Please use the back button in your browser and re-enter if you feel that you have received this message in error', 'wpsc_gold_cart');
wp_die($RespMsg);
//die before deleting cart information
$wpdb->query("DELETE FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_SUBMITED_FORM_DATA . "` WHERE `log_id` IN ('{$log_id}')");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `id`='{$log_id}' LIMIT 1");
} else {
if ($result_code == 23 || $result_code == 24) {
$log_id = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`='{$sessionid}' LIMIT 1");
$delete_log_form_sql = "SELECT * FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'";
$cart_content = $wpdb->get_results($delete_log_form_sql, ARRAY_A);
/*
foreach((array)$cart_content as $cart_item) {
$cart_item_variations = $wpdb->query("DELETE FROM `".$wpdb->prefix."cart_item_variations` WHERE `cart_id` = '".$cart_item['id']."'", ARRAY_A);
}
*/
$RespMsg = __('Invalid credit card information. Please use the back button in your browser and re-enter if you feel that you have received this message in error', 'wpsc_gold_cart');
wp_die($RespMsg);
//die before deleting cart information
$wpdb->query("DELETE FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_SUBMITED_FORM_DATA . "` WHERE `log_id` IN ('{$log_id}')");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `id`='{$log_id}' LIMIT 1");
$RespMsg = __('Invalid credit card information. Please use the back button in your browser and re-enter. If you feel that you received this message in error.', 'wpsc_gold_cart');
} else {
$log_id = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`='{$sessionid}' LIMIT 1");
$delete_log_form_sql = "SELECT * FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'";
$cart_content = $wpdb->get_results($delete_log_form_sql, ARRAY_A);
/*
foreach((array)$cart_content as $cart_item) {
$cart_item_variations = $wpdb->query("DELETE FROM `".$wpdb->prefix."cart_item_variations` WHERE `cart_id` = '".$cart_item['id']."'", ARRAY_A);
}
*/
$wpdb->query("DELETE FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_SUBMITED_FORM_DATA . "` WHERE `log_id` IN ('{$log_id}')");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `id`='{$log_id}' LIMIT 1");
$RespMsg = __('Invalid credit card information. Please use the back button in your browser and re-enter. If you feel that you received this message in error.', 'wpsc_gold_cart');
}
}
}
}
}
if ($fraud == 'YES') {
if ($result_code == 125) {
$log_id = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `sessionid`='{$sessionid}' LIMIT 1");
$delete_log_form_sql = "SELECT * FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'";
$cart_content = $wpdb->get_results($delete_log_form_sql, ARRAY_A);
/*
foreach((array)$cart_content as $cart_item) {
$cart_item_variations = $wpdb->query("DELETE FROM `".$wpdb->prefix."cart_item_variations` WHERE `cart_id` = '".$cart_item['id']."'", ARRAY_A);
}
*/
$wpdb->query("DELETE FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`='{$log_id}'");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_SUBMITED_FORM_DATA . "` WHERE `log_id` IN ('{$log_id}')");
$wpdb->query("DELETE FROM `" . WPSC_TABLE_PURCHASE_LOGS . "` WHERE `id`='{$log_id}' LIMIT 1");
} else {
if ($result_code == 126) {
//.........這裏部分代碼省略.........
示例12: sagepay_process_gateway_info
function sagepay_process_gateway_info()
{
global $sessionid;
if (get_option('permalink_structure') != '') {
$separator = "?";
} else {
$separator = "&";
}
// first set up all the vars that we are going to need later
$sagepay_options = get_option('wpec_sagepay');
$crypt = filter_input(INPUT_GET, 'crypt');
$uncrypt = Sagepay_merchant::decryptAes($crypt, $sagepay_options['encrypt_key']);
$decryptArr = Sagepay_merchant::queryStringToArray($uncrypt);
if (!$uncrypt || empty($decryptArr)) {
return;
}
parse_str($uncrypt, $unencrypted_values);
$success = '';
switch ($unencrypted_values['Status']) {
case 'NOTAUTHED':
case 'REJECTED':
$success = 'Failed';
break;
case 'MALFORMED':
case 'INVALID':
$success = 'Failed';
break;
case 'ERROR':
$success = 'Failed';
break;
case 'ABORT':
$success = 'Failed';
break;
case 'AUTHENTICATED':
// Only returned if TxType is AUTHENTICATE
if (isset($sagepay_options['payment_type']) && 'AUTHENTICATE' == $sagepay_options['payment_type']) {
$success = 'Authenticated';
} else {
$success = 'Pending';
}
break;
case 'REGISTERED':
// Only returned if TxType is AUTHENTICATE
$success = 'Failed';
break;
case 'OK':
$success = 'Completed';
break;
default:
break;
}
switch ($success) {
case 'Completed':
$purchase_log = new WPSC_Purchase_Log($unencrypted_values['VendorTxCode'], 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::ACCEPTED_PAYMENT, 'transactid' => $unencrypted_values['VPSTxId']));
$purchase_log->save();
// set this global, wonder if this is ok
$sessionid = $unencrypted_values['VendorTxCode'];
header("Location: " . get_option('transact_url') . $separator . "sessionid=" . $sessionid);
exit;
break;
case 'Failed':
// if it fails...
switch ($unencrypted_values['Status']) {
case 'NOTAUTHED':
case 'REJECTED':
case 'MALFORMED':
case 'INVALID':
case 'ABORT':
case 'ERROR':
$purchase_log = new WPSC_Purchase_Log($unencrypted_values['VendorTxCode'], 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::INCOMPLETE_SALE, 'notes' => 'SagePay Status: ' . $unencrypted_values['Status']));
$purchase_log->save();
// if it fails redirect to the shopping cart page with the error
// redirect to checkout page with an error
$error_messages = wpsc_get_customer_meta('checkout_misc_error_messages');
if (!is_array($error_messages)) {
$error_messages = array();
}
$error_messages[] = '<strong style="color:red">' . $unencrypted_values['StatusDetail'] . ' </strong>';
wpsc_update_customer_meta('checkout_misc_error_messages', $error_messages);
$checkout_page_url = get_option('shopping_cart_url');
if ($checkout_page_url) {
header('Location: ' . $checkout_page_url);
exit;
}
break;
}
break;
case 'Authenticated':
// Like "Completed" but only flag as order received
$purchase_log = new WPSC_Purchase_Log($unencrypted_values['VendorTxCode'], 'sessionid');
$purchase_log->set(array('processed' => WPSC_Purchase_Log::ORDER_RECEIVED, 'transactid' => $unencrypted_values['VPSTxId'], 'date' => time(), 'notes' => 'SagePay Status: ' . $unencrypted_values['Status']));
$purchase_log->save();
// Redirect to reponse page
$sessionid = $unencrypted_values['VendorTxCode'];
header("Location: " . get_option('transact_url') . $separator . "sessionid=" . $sessionid);
exit;
break;
case 'Pending':
//.........這裏部分代碼省略.........
示例13: _wpsc_oklink_return
function _wpsc_oklink_return()
{
if (!isset($_REQUEST['wpsc_oklink_return'])) {
return;
}
// oklink order param interferes with wordpress
unset($_REQUEST['order']);
unset($_GET['order']);
if (!isset($_REQUEST['sessionid'])) {
return;
}
global $sessionid;
$purchase_log = new WPSC_Purchase_Log($_REQUEST['sessionid'], 'sessionid');
if (!$purchase_log->exists() || $purchase_log->is_transaction_completed()) {
return;
}
$status = 1;
if (isset($_REQUEST['cancelled'])) {
# Unsetting sessionid to show error
do_action('wpsc_payment_failed');
$sessionid = false;
unset($_REQUEST['sessionid']);
unset($_GET['sessionid']);
} else {
$status = WPSC_Purchase_Log::ORDER_RECEIVED;
$purchase_log->set('processed', $status);
$purchase_log->save();
wpsc_empty_cart();
}
}
示例14: submit
public function submit()
{
$this->credit_card_details = array('card_number' => $_POST['card_number'], 'expiry_month' => $_POST['expiry_month'], 'expiry_year' => $_POST['expiry_year'], 'card_code' => $_POST['card_code']);
$x_Login = urlencode(get_option('bluepay_login'));
// Replace LOGIN with your login
$x_Password = urlencode(get_option("bluepay_password"));
// Replace PASS with your password
$x_Delim_Data = urlencode("TRUE");
$x_Delim_Char = urlencode(",");
$x_Encap_Char = urlencode("");
$x_Type = urlencode("AUTH_CAPTURE");
$x_ADC_Relay_Response = urlencode("FALSE");
if (get_option('bluepay_testmode') == 1) {
$x_Test_Request = urlencode("TRUE");
// Remove this line of code when you are ready to go live
}
#
# Customer Information
#
$x_Method = urlencode("CC");
$x_Amount = urlencode(nzshpcrt_overall_total_price(wpsc_get_customer_meta('shipping_country')));
//exit($x_Amount);
$x_First_Name = urlencode($this->cart_data['billing_address']['first_name']);
$x_Last_Name = urlencode($this->cart_data['billing_address']['last_name']);
$x_Card_Num = urlencode($this->credit_card_details['card_number']);
$x_Exp_Date = urlencode($this->credit_card_details['expiry_month'] . $this->credit_card_details['expiry_year']);
$x_Address = urlencode($this->cart_data['billing_address']['address']);
$x_City = urlencode($this->cart_data['billing_address']['city']);
$x_State = urlencode($this->cart_data['billing_address']['state']);
//gets the state from the input box not the usa ddl
//if (empty($State)){ // check if the state is there from the input box if not get it from the ddl
//$State_id= $_POST['collected_data'][get_option('bluepay_form_country')][1];
//$x_State = urlencode(wpsc_get_state_by_id($State_id, 'name'));
//}else{
//$x_State = $State;
//}
$x_description = '';
foreach ($this->cart_items as $cart_row) {
$x_description .= $cart_row['name'] . ' / ';
}
$x_Zip = urlencode($this->cart_data['billing_address']['post_code']);
$x_Email = urlencode($this->cart_data['email_address']);
$x_Email_Customer = urlencode("TRUE");
$x_Merchant_Email = urlencode(get_option('purch_log_email'));
// Replace MERCHANT_EMAIL with the merchant email address
$x_Card_Code = urlencode($this->credit_card_details['card_code']);
#
# Build fields string to post
#
$fields = "x_Version=3.1&x_Login={$x_Login}&x_Delim_Data={$x_Delim_Data}&x_Delim_Char={$x_Delim_Char}&x_Encap_Char={$x_Encap_Char}";
$fields .= "&x_Type={$x_Type}&x_Test_Request={$x_Test_Request}&x_Method={$x_Method}&x_Amount={$x_Amount}&x_First_Name={$x_First_Name}";
$fields .= "&x_Last_Name={$x_Last_Name}&x_Card_Num={$x_Card_Num}&x_Exp_Date={$x_Exp_Date}&x_Card_Code={$x_Card_Code}&x_Address={$x_Address}&x_City={$x_City}&x_State={$x_State}&x_Zip={$x_Zip}&x_Email={$x_Email}&x_Email_Customer={$x_Email_Customer}&x_Merchant_Email={$x_Merchant_Email}&x_ADC_Relay_Response={$x_ADC_Relay_Response}&x_description={$x_description}";
if ($x_Password != '') {
$fields .= "&x_Password={$x_Password}";
}
//exit($fields);
#
# Start CURL session
#
$agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
$ref = get_option('transact_url');
// Replace this URL with the URL of this script
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://secure.bluepay.com/interfaces/a.net");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_NOPROGRESS, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$buffer = curl_exec($ch);
curl_close($ch);
// This section of the code is the change from Version 1.
// This allows this script to process all information provided by Authorize.net...
// and not just whether if the transaction was successful or not
// Provided in the true spirit of giving by Chuck Carpenter (Chuck@MLSphotos.com)
// Be sure to email him and tell him how much you appreciate his efforts for PHP coders everywhere
$return = preg_split("/[,]+/", "{$buffer}");
// Splits out the buffer return into an array so . . .
$details = $return[0];
// This can grab the Transaction ID at position 1 in the array
// echo "Location: ".$transact_url.$seperator."sessionid=".$sessionid;
// exit("<pre>".print_r($return,true)."</pre>");
// Change the number to grab additional information. Consult the AIM guidelines to see what information is provided in each position.
// For instance, to get the Transaction ID from the returned information (in position 7)..
// Simply add the following:
// $x_trans_id = $return[6];
// You may then use the switch statement (or other process) to process the information provided
// Example below is to see if the transaction was charged successfully
if (get_option('permalink_structure') != '') {
$seperator = "?";
} else {
$seperator = "&";
}
//exit("<pre>".print_r($return,true)."</pre>");
switch ($details) {
//.........這裏部分代碼省略.........
示例15: wpsc_purchlogs_update_notes
/**
* Update Purchase Log Notes
*
* @param int $purchlog_id Purchase log ID.
* @param string $purchlog_notes Notes.
*/
function wpsc_purchlogs_update_notes($purchlog_id = 0, $purchlog_notes = '')
{
if (isset($_POST['wpsc_purchlogs_update_notes_nonce']) && wp_verify_nonce($_POST['wpsc_purchlogs_update_notes_nonce'], 'wpsc_purchlogs_update_notes')) {
if (0 == $purchlog_id && isset($_POST['purchlog_id']) && '' == $purchlog_notes) {
$purchlog_id = absint($_POST['purchlog_id']);
$purchlog_notes = stripslashes($_POST['purchlog_notes']);
}
if ($purchlog_id > 0) {
$purchase_log = new WPSC_Purchase_Log($purchlog_id);
$purchase_log->set('notes', $purchlog_notes);
$purchase_log->save();
}
}
}