本文整理汇总了PHP中WC_Order::update_status方法的典型用法代码示例。如果您正苦于以下问题:PHP WC_Order::update_status方法的具体用法?PHP WC_Order::update_status怎么用?PHP WC_Order::update_status使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WC_Order
的用法示例。
在下文中一共展示了WC_Order::update_status方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: intval
/**
* Update a order status
*
* @return void
*/
function change_order_status()
{
check_ajax_referer('dokan_change_status');
$order_id = intval($_POST['order_id']);
$order_status = $_POST['order_status'];
$order = new WC_Order($order_id);
$order->update_status($order_status);
$statuses = wc_get_order_statuses();
$status_label = isset($statuses[$order_status]) ? $statuses[$order_status] : $order_status;
$status_class = dokan_get_order_status_class($order_status);
echo '<label class="dokan-label dokan-label-' . $status_class . '">' . $status_label . '</label>';
exit;
}
示例2: update_order_detail
public function update_order_detail($order_id, $data)
{
global $wpdb, $woocommerce, $pwa;
$non_received = $wpdb->get_results("select * from {$wpdb->postmeta} where meta_key = '_non_received' and post_id = {$order_id} ");
if (empty($non_received)) {
$pwacheckkout = new Pwacheckout();
if ($pwacheckkout->get_option('iopn_dump') == 'yes') {
$dir = $pwacheckkout->get_option('iopn_dump_url');
if (!file_exists($dir) && !is_dir($dir)) {
mkdir($dir, 0777);
}
$filename = $dir . $order_id . '_iopn_non';
$myfile = fopen($filename, "w");
fwrite($myfile, $data);
fclose($myfile);
}
add_post_meta($order_id, '_non_received', '1');
if (UPDATE_ODER_FROM == 'xmlcart') {
$this->update_cart_by_xml($order_id, $data);
} else {
$this->update_cart_by_woocart($order_id, $data);
}
}
$order = new WC_Order($order_id);
$order->update_status('cancelled');
// Acknowledge the order in seller central using MWS FEED API
$pwa->pwa_cancel_feed($order_id);
header('HTTP/1.1 200 OK');
exit;
}
示例3: custom_woocommerce_auto_complete_order
function custom_woocommerce_auto_complete_order( $order_id ) {
global $woocommerce;
if ( !$order_id )
return;
$order = new WC_Order( $order_id );
$order->update_status( 'completed' );
}
示例4: jabulani
public function jabulani($order_id)
{
$order = new WC_Order($order_id);
$j = get_post_meta($order_id, '_payment_method');
if ($j[0] == 'pagseguro') {
if ($order->status == 'pending') {
$order->update_status('on-hold');
}
}
}
开发者ID:TiagoSilvestre,项目名称:PluginParaBaixarEstoqueNoPedido,代码行数:10,代码来源:woocommerce-reduces-inventory-in-order.php
示例5: process_payment
public function process_payment($order_id)
{
global $woocommerce;
$order = new WC_Order($order_id);
$order->update_status('pending');
// Reduce stock levels
$order->reduce_order_stock();
// Remove cart
$woocommerce->cart->empty_cart();
return array('result' => 'success', 'redirect' => add_query_arg('order', $order->id, add_query_arg('key', $order->order_key, get_permalink(get_option('woocommerce_pay_page_id')))));
}
示例6: completeOrder
/**
* Complete a WooCommerce order
*/
public function completeOrder(WC_Order $order, $payment_hash)
{
$status = PayPro_WC_Plugin::$settings->paymentCompleteStatus();
if (empty($status)) {
$status = 'wc-processing';
}
$order->update_status($status, sprintf(__('PayPro payment succeeded (%s)', 'paypro-gateways-woocommerce'), $payment_hash));
$order->reduce_order_stock();
$order->payment_complete();
$this->removeOrderPaymentHashes($order->id);
}
示例7: process_payment
/**
* Process the payment and return the result
*
* @param int $order_id
* @return array
*/
public function process_payment($order_id)
{
$order = new WC_Order($order_id);
// Mark as on-hold (we're awaiting the cheque)
$order->update_status('on-hold', __('Awaiting cheque payment', 'woocommerce'));
// Reduce stock levels
$order->reduce_order_stock();
// Remove cart
WC()->cart->empty_cart();
// Return thankyou redirect
return array('result' => 'success', 'redirect' => $this->get_return_url($order));
}
示例8: handle_request
public function handle_request($url, $args, $parameters, $order_id, $item_id)
{
// multipart request
try {
$args = $this->create_multipart_request($parameters, $args);
$links = $this->do_request($url, $args);
$this->add_downloadlinks($links, $item_id);
} catch (Exception $e) {
$order = new WC_Order($order_id);
$order->update_status('wc-booxtream-error', $e->getMessage());
}
}
示例9: updateStatus
public function updateStatus($to, $desc)
{
// $order = new \WC_Order( $this->_actual_model_id );
// $order->update_status( $to );
// Right now, we don't want the overhead of the WooCom
// events that are triggered with a status update.
Helpers::debug("Order::updateStatus to " . var_export($to, true));
$order = new \WC_Order($this->_actual_model_id);
Helpers::debug("Using WOOCOM to update status");
$order->update_status($to);
//$this->updateTerm('status','shop_order_status',$to);
}
示例10: wpuw_custom_woocommerce_auto_complete_order
function wpuw_custom_woocommerce_auto_complete_order($order_id)
{
if (!$order_id) {
return;
}
$order = new WC_Order($order_id);
if (count($order->get_items()) > 0) {
foreach ($order->get_items() as $item) {
if (has_term('credit', 'product_cat', $item['product_id'])) {
$order->update_status('completed');
}
}
}
}
示例11: unset
/**
* Process the payment and return the result
*
* @access public
* @param int $order_id
* @return array
*/
function process_payment($order_id)
{
global $woocommerce;
$order = new WC_Order($order_id);
// Mark as on-hold (we're awaiting the cheque)
$order->update_status('on-hold', __('Payment to be made upon delivery.', 'woocommerce'));
// Reduce stock levels
$order->reduce_order_stock();
// Remove cart
$woocommerce->cart->empty_cart();
// Empty awaiting payment session
unset($_SESSION['order_awaiting_payment']);
// Return thankyou redirect
return array('result' => 'success', 'redirect' => add_query_arg('key', $order->order_key, add_query_arg('order', $order_id, get_permalink(woocommerce_get_page_id('thanks')))));
}
示例12: explode
function successful_request($posted)
{
//print_r($posted);
global $woocommerce;
$order_id_key = $posted['customerReference'];
$order_id_key = explode("-", $order_id_key);
$order_id = $order_id_key[0];
$order_key = $order_id_key[1];
$responseCode = $posted['responseCode'];
$responseText = $posted['responseText'];
$txnreference = $posted['txnreference'];
$order = new WC_Order($order_id);
if ($order->order_key !== $order_key) {
echo 'Error: Order Key does not match invoice.';
exit;
}
if ($order->get_total() != $posted['amount']) {
echo 'Error: Amount not match.';
$order->update_status('on-hold', sprintf(__('Validation error: BrainTree amounts do not match (%s).', 'woocommerce'), $posted['amount']));
exit;
}
// if TXN is approved
if ($responseCode == "00" || $responseCode == "08" || $responseCode == "77") {
// Payment completed
$order->add_order_note(__('payment completed', 'woocommerce'));
// Mark order complete
$order->payment_complete();
// Empty cart and clear session
$woocommerce->cart->empty_cart();
// Redirect to thank you URL
wp_redirect($this->get_return_url($order));
exit;
} else {
// Change the status to pending / unpaid
$order->update_status('pending', __('Payment declined', 'woothemes'));
// Add a note with the IPG details on it
$order->add_order_note(__('Braintree payment Failed - TransactionReference: ' . $txnreference . " - ResponseCode: " . $responseCode, 'woocommerce'));
// FAILURE NOTE
// Add error for the customer when we return back to the cart
$woocommerce->add_error(__('TRANSACTION DECLINED: ', 'woothemes') . $posted['responseText'] . "<br/>Reference: " . $txnreference);
// Redirect back to the last step in the checkout process
wp_redirect($woocommerce->cart->get_checkout_url());
exit;
}
}
示例13: confirm_url_callback
public function confirm_url_callback()
{
$transaction_id = $_GET['transactionId'];
$results = get_posts(array('post_type' => 'shop_order', 'meta_query' => array(array('key' => '_hpd_linepay_transactionId', 'value' => $transaction_id))));
if (!$results) {
http_response_code(404);
exit;
}
$order_data = $results[0];
$order_id = $order_data->ID;
$order = new WC_Order($order_id);
$response_data = $this->client->confirm($transaction_id, $order->get_total(), get_woocommerce_currency());
if ($response_data->returnCode != '0000') {
$order->update_status('failed', sprintf(__('Error return code: %1$s, message: %2$s', 'wc-payment-gateway-line-pay'), $response_data->returnCode, $response_data->returnMessage));
} else {
$order->payment_complete();
}
wp_redirect($order->get_checkout_order_received_url());
exit;
}
示例14: explode
function check_ipn_response()
{
global $woocommerce;
$posted = $_POST['payment'];
$hash = sha1(md5($posted . $this->merchant_password));
if (isset($_POST['payment']) && $hash === $_POST['signature']) {
$items = explode("&", $_POST['payment']);
$ar = array();
foreach ($items as $it) {
$key = "";
$value = "";
list($key, $value) = explode("=", $it, 2);
$payment_items[$key] = $value;
}
$order = new WC_Order($payment_items['order']);
$order->update_status('processing', __('Платеж успешно оплачен', 'woocommerce'));
$order->add_order_note(__('Клиент успешно оплатил заказ', 'woocommerce'));
$woocommerce->cart->empty_cart();
} else {
wp_die('IPN Request Failure');
}
}
示例15: process_payment
public function process_payment($order_id)
{
global $woocommerce;
$customer_order = new WC_Order($order_id);
$environment = $this->environment == "yes" ? 'TRUE' : 'FALSE';
$environment_url = "FALSE" == $environment ? 'https://secure.authorize.net/gateway/transact.dll' : 'https://test.authorize.net/gateway/transact.dll';
$payload = array("x_tran_key" => $this->trans_key, "x_login" => $this->api_login, "x_version" => "3.1", "x_amount" => $customer_order->order_total, "x_card_num" => str_replace(array(' ', '-'), '', $_POST['GP_authorize_gateway-card-number']), "x_card_code" => isset($_POST['GP_authorize_gateway-card-cvc']) ? $_POST['GP_authorize_gateway-card-cvc'] : '', "x_exp_date" => str_replace(array('/', ' '), '', $_POST['GP_authorize_gateway-card-expiry']), "x_type" => 'AUTH_CAPTURE', "x_invoice_num" => str_replace("#", "", $customer_order->get_order_number()), "x_test_request" => $environment, "x_delim_char" => '|', "x_encap_char" => '', "x_delim_data" => "TRUE", "x_relay_response" => "FALSE", "x_method" => "CC", "x_first_name" => $customer_order->billing_first_name, "x_last_name" => $customer_order->billing_last_name, "x_address" => $customer_order->billing_address_1, "x_city" => $customer_order->billing_city, "x_state" => $customer_order->billing_state, "x_zip" => $customer_order->billing_postcode, "x_country" => $customer_order->billing_country, "x_phone" => $customer_order->billing_phone, "x_email" => $customer_order->billing_email, "x_ship_to_first_name" => $customer_order->shipping_first_name, "x_ship_to_last_name" => $customer_order->shipping_last_name, "x_ship_to_company" => $customer_order->shipping_company, "x_ship_to_address" => $customer_order->shipping_address_1, "x_ship_to_city" => $customer_order->shipping_city, "x_ship_to_country" => $customer_order->shipping_country, "x_ship_to_state" => $customer_order->shipping_state, "x_ship_to_zip" => $customer_order->shipping_postcode, "x_cust_id" => $customer_order->user_id, "x_customer_ip" => $_SERVER['REMOTE_ADDR']);
$response = wp_remote_post($environment_url, array('method' => 'POST', 'body' => http_build_query($payload), 'timeout' => 90, 'sslverify' => false));
if (is_wp_error($response)) {
do_action('gp_order_online_completed_failed', $response);
}
if (empty($response['body'])) {
do_action('gp_order_online_completed_failed', $response);
}
$response_body = wp_remote_retrieve_body($response);
// Parse the response into something we can read
foreach (preg_split("/\r?\n/", $response_body) as $line) {
$resp = explode("|", $line);
}
// Get the values we need
$r['response_code'] = $resp[0];
$r['response_sub_code'] = $resp[1];
$r['response_reason_code'] = $resp[2];
$r['response_reason_text'] = $resp[3];
if ($r['response_code'] == 1 || $r['response_code'] == 4) {
$customer_order->add_order_note(__('Authorize.net payment completed.', 'GP_authorize_gateway'));
if ($this->mark_order == 'yes') {
$woocommerce->cart->empty_cart();
$customer_order->payment_complete();
$customer_order->update_status('completed');
}
do_action('gp_order_online_completed_successfully', $response);
return array('result' => 'success', 'redirect' => $this->get_return_url($customer_order));
} else {
do_action('gp_error_occurred', $r['response_reason_text']);
}
}