当前位置: 首页>>代码示例>>PHP>>正文


PHP WC_Order::get_cancel_order_url方法代码示例

本文整理汇总了PHP中WC_Order::get_cancel_order_url方法的典型用法代码示例。如果您正苦于以下问题:PHP WC_Order::get_cancel_order_url方法的具体用法?PHP WC_Order::get_cancel_order_url怎么用?PHP WC_Order::get_cancel_order_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WC_Order的用法示例。


在下文中一共展示了WC_Order::get_cancel_order_url方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generate_form

 public function generate_form($order_id)
 {
     $order = new WC_Order($order_id);
     $order_name = __('Order No. ') . $order_id;
     $args = array('receiver' => $this->wallet_number, 'formcomment' => $this->formcomment, 'short-dest' => $order_name, 'quickpay-form' => 'shop', 'targets' => $order_name, 'sum' => $order->order_total, 'paymentType' => 'AC', 'label' => $order_id);
     $paypal_args = apply_filters('woocommerce_robokassa_args', $args);
     $args_array = array();
     foreach ($args as $key => $value) {
         $args_array[] = '<input type="hidden" name="' . esc_attr($key) . '" value="' . esc_attr($value) . '" />';
     }
     return '<form action="' . esc_url($this->url) . '" method="POST" class="order_actions">' . "\n" . implode("\n", $args_array) . '<input type="submit" class="button alt" value="' . __('Pay') . '" /> <a class="button cancel" href="' . $order->get_cancel_order_url() . '">' . __('Cancel Order') . '</a>' . "\n" . '</form>';
 }
开发者ID:maximzasorin,项目名称:woocommerce-yandex-money-gateway,代码行数:12,代码来源:woocommerce-yandex-money.php

示例2: generate_form

 public function generate_form($order_id)
 {
     $order = new WC_Order($order_id);
     $action_adr = $this->liveurl;
     $result_url = str_replace('https:', 'http:', add_query_arg('wc-api', 'wc_privat24', get_permalink(woocommerce_get_page_id('thanks'))));
     $args = array('amt' => $order->order_total, 'ccy' => get_woocommerce_currency(), 'merchant' => $this->merchant_id, 'order' => $order_id, 'details' => "Оплата за заказ - {$order_id}", 'ext_details' => "Оплата за заказ - {$order_id}", 'pay_way' => 'privat24', 'return_url' => $result_url, 'server_url' => '');
     $args_array = array();
     foreach ($args as $key => $value) {
         $args_array[] = '<input type="hidden" name="' . esc_attr($key) . '" value="' . esc_attr($value) . '" />';
     }
     return '<form action="' . esc_url($action_adr) . '" method="POST" id="privat24_payment_form">' . '<input type="submit" class="button alt" id="submit_privat24_button" value="' . __('Оплатить', 'woocommerce') . '" /> <a class="button cancel" href="' . $order->get_cancel_order_url() . '">' . __('Отказаться от оплаты & вернуться в корзину', 'woocommerce') . '</a>' . "\n" . implode("\n", $args_array) . '</form>';
 }
开发者ID:kindaemail,项目名称:privat24,代码行数:12,代码来源:privavat24.php

示例3: get_cancel_url

 public function get_cancel_url()
 {
     $url = $this->order->get_cancel_order_url();
     /*
      * The WooCommerce developers changed the `get_cancel_order_url` function in version 2.1.0.
      * In version 2.1.0 the WooCommerce plugin uses the `wp_nonce_url` function. This WordPress
      * function uses the WordPress `esc_html` function. The `esc_html` function converts specials
      * characters like `&` to HTML entities (`&amp;`). This is causing redirecting issues, so we
      * decode these back with the `wp_specialchars_decode` function.
      *
      * @see https://github.com/WordPress/WordPress/blob/4.1/wp-includes/functions.php#L1325-L1338
      * @see https://github.com/WordPress/WordPress/blob/4.1/wp-includes/formatting.php#L3144-L3167
      * @see https://github.com/WordPress/WordPress/blob/4.1/wp-includes/formatting.php#L568-L647
      * @see https://github.com/woothemes/woocommerce/blob/v2.1.0/includes/class-wc-order.php#L1112
      *
      * @see https://github.com/woothemes/woocommerce/blob/v2.0.20/classes/class-wc-order.php#L1115
      * @see https://github.com/woothemes/woocommerce/blob/v2.0.0/woocommerce.php#L1693-L1703
      *
      * @see https://github.com/woothemes/woocommerce/blob/v1.6.6/classes/class-wc-order.php#L1013
      * @see https://github.com/woothemes/woocommerce/blob/v1.6.6/woocommerce.php#L1630
      */
     $url = wp_specialchars_decode($url);
     return $url;
 }
开发者ID:daanbakker1995,项目名称:vanteun,代码行数:24,代码来源:PaymentData.php

示例4: do_transaction_cancelled

 /**
  * Handle a cancelled transaction response.
  *
  * @since 4.3.0
  * @param \WC_Order $order the order object
  * @param \SV_WC_Payment_Gateway_API_Payment_Notification_Response $response the response object
  */
 protected function do_transaction_cancelled(WC_Order $order, $response)
 {
     if ($response->is_ipn()) {
         status_header(200);
         die;
     } else {
         wp_redirect($order->get_cancel_order_url());
         exit;
     }
 }
开发者ID:DustinHartzler,项目名称:TheCLEFT,代码行数:17,代码来源:class-sv-wc-payment-gateway-hosted.php

示例5: round

        function generate_webpayplus_form($order_id)
        {
            global $webpay_comun_folder;
            $SUFIJO = "[WEBPAY - FORM]";
            $order = new WC_Order($order_id);
            $redirect_url = $this->notify_url;
            $order_key = $order->order_key;
            if (strpos($redirect_url, "?")) {
                $failureLink = $redirect_url . "&status=failure&order={$order_id}&key={$order_key}";
                $successLink = $redirect_url . "&status=success&order={$order_id}&key={$order_key}";
            } else {
                $failureLink = $redirect_url . "?status=failure&order={$order_id}&key={$order_key}";
                $successLink = $redirect_url . "?status=success&order={$order_id}&key={$order_key}";
            }
            log_me("REDIRECT_URL " . $redirect_url, $SUFIJO);
            $TBK_MONTO = round($order->order_total);
            $TBK_ORDEN_COMPRA = $order_id;
            $TBK_ID_SESION = date("Ymdhis");
            $filename = __FILE__;
            $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . "dato{$TBK_ID_SESION}.log";
            log_me("Se utilizará {$myPath} para guardar los datos", $SUFIJO);
            /*             * **************** FIN CONFIGURACION **************** */
            //formato Moneda
            $partesMonto = explode(",", $TBK_MONTO);
            $TBK_MONTO = $partesMonto[0] . "00";
            //Grabado de datos en archivo de transaccion
            $fic = fopen($myPath, "w+");
            $linea = "{$TBK_MONTO};{$TBK_ORDEN_COMPRA}";
            log_me("Preparando para escribir {$linea} en {$myPath}", $SUFIJO);
            fwrite($fic, $linea);
            fclose($fic);
            log_me("ARCHIVO CERRADO", $SUFIJO);
            log_me("Argumentos", $SUFIJO);
            $webpayplus_args = array('TBK_TIPO_TRANSACCION' => "TR_NORMAL", 'TBK_MONTO' => $TBK_MONTO, 'TBK_ORDEN_COMPRA' => $TBK_ORDEN_COMPRA, 'TBK_ID_SESION' => $TBK_ID_SESION, 'TBK_URL_EXITO' => $successLink, 'TBK_URL_FRACASO' => $failureLink);
            log_me($webpayplus_args);
            foreach ($webpayplus_args as $key => $value) {
                $webpayplus_args_array[] = '<input type="hidden" name="' . esc_attr($key) . '" value="' . esc_attr($value) . '" />';
            }
            /*
             * Esto hace que sea enviada automáticamente el formulario.
             */
            wc_enqueue_js('
			$.blockUI({
					message: "' . esc_js(__('Gracias por tu orden. Estamos redireccionando a Transbank')) . '",
					baseZ: 99999,
					overlayCSS:
					{
						background: "#fff",
						opacity: 0.6
					},
					css: {
						padding:        "20px",
						zindex:         "9999999",
						textAlign:      "center",
						color:          "#555",
						border:         "3px solid #aaa",
						backgroundColor:"#fff",
						cursor:         "wait",
						lineHeight:		"24px",
					}
				});
			jQuery("#submit_webpayplus_payment_form").click();
		');
            /*
             * La variable resultado tiene el formulario que es enviado a transbank. ( Todo el <FORM> )
             */
            $resultado = '<form action="' . esc_url($this->liveurl) . '" method="post" id="webpayplus_payment_form" target="_top">';
            $resultado .= implode('', $webpayplus_args_array);
            $resultado .= '<!-- Button Fallback -->
				<div class="payment_buttons">
					<input type="submit" class="button alt" id="submit_webpayplus_payment_form" value="' . __('Pago via WebpayPlus') . '" /> <a class="button cancel" href="' . esc_url($order->get_cancel_order_url()) . '">' . __('Cancel order &amp; restore cart', 'woocommerce') . '</a>
				</div>
                                <script type="text/javascript">
					jQuery(".payment_buttons").hide();
				</script>

			</form>';
            return $resultado;
        }
开发者ID:alphacityco,项目名称:webpay-wordpress-woocomerce,代码行数:79,代码来源:WebPayPlus.php

示例6: get_checkout

 /**
  * @param WC_Order $order
  * @param string   $checkout_url
  * @param int      $redirect_id
  * @param WP_User  $user
  *
  * @return array
  */
 public static function get_checkout($order, $checkout_url, $redirect_id, $user)
 {
     $serializer = array('toc' => true, 'merchant' => array('confirmation_url' => add_query_arg('action', 'confirm', get_permalink($redirect_id)), 'cancel_url' => html_entity_decode($order->get_cancel_order_url()), 'checkout_url' => html_entity_decode($checkout_url), 'success_url' => html_entity_decode($order->get_checkout_order_received_url())), 'customer' => $user->ID ? self::get_user($user) : self::get_customer($order->billing_email), 'order' => self::get_order($order), 'billing' => self::get_address($order, 'billing'), 'meta' => static::get_meta());
     $shipping_method = $order->get_shipping_method();
     if (!empty($shipping_method)) {
         $serializer['shipping'] = self::get_shipping_info($order);
     }
     return $serializer;
 }
开发者ID:aplazame,项目名称:woocommerce,代码行数:17,代码来源:Serializers.php

示例7: generate_ipg_form

        public function generate_ipg_form($order_id)
        {
            global $wpdb;
            global $woocommerce;
            $order = new WC_Order($order_id);
            $productinfo = "Order {$order_id}";
            $curr_symbole = get_woocommerce_currency();
            $table_name = $wpdb->prefix . 'tpayway_ipg';
            $check_oder = $wpdb->get_var("SELECT COUNT(*) FROM {$table_name} WHERE transaction_id = '" . $order_id . "'");
            if ($check_oder > 0) {
                $wpdb->update($table_name, array('response_code' => '', 'response_code_desc' => '', 'reason_code' => '', 'amount' => $order->order_total, 'or_date' => date('Y-m-d'), 'status' => ''), array('transaction_id' => $order_id));
            } else {
                $wpdb->insert($table_name, array('transaction_id' => $order_id, 'response_code' => '', 'response_code_desc' => '', 'reason_code' => '', 'amount' => $order->order_total, 'or_date' => date('Y-m-d'), 'status' => ''), array('%s', '%d'));
            }
            if ((bool) stristr($_SERVER["REQUEST_URI"], "en_US")) {
                if (is_null($this->CurrencyEn)) {
                    $order->order_total = $order->order_total;
                } else {
                    $order->order_total = $order->order_total * $this->CurrencyEn;
                }
            }
            $order_format_value = str_pad($order->order_total * 100, 12, '0', STR_PAD_LEFT);
            //$enc = base64_encode(pack('H*', sha1($pass)));
            $totalAmount = number_format($order->order_total, 2, '', '');
            // http://docs.woothemes.com/wc-apidocs/class-WC_Customer.html
            $method = 'authorize-form';
            // method type
            $pgwInstallments = '1';
            // broj rata
            $pgw_card_type_id = '1';
            // tip kartice
            $secret_key = $this->AcqID;
            // Secret key
            $pgw_authorization_type = '0';
            $pgw_language = '';
            $pgw_shop_id = $this->ShopID;
            $pgw_order_id = $order_id;
            $pgw_amount = $totalAmount;
            $pgw_success_url = $this->responce_url_sucess;
            $pgw_failure_url = $this->responce_url_fail;
            $order = new WC_Order($order_id);
            // Customs data
            $pgw_first_name = $order->billing_first_name;
            $pgw_last_name = $order->billing_last_name;
            $pgw_street = $woocommerce->customer->address;
            $pgw_city = $woocommerce->customer->city;
            $pgw_post_code = $woocommerce->customer->postcode;
            $pgw_country = $woocommerce->customer->country;
            $pgw_telephone = $order->billing_phone;
            $pgw_email = $order->billing_email;
            $pgw_signature = hash('sha512', $method . $secret_key . $pgw_shop_id . $secret_key . $pgw_order_id . $secret_key . $pgw_amount . $secret_key . $pgw_authorization_type . $secret_key . $pgw_language . $secret_key . $pgw_success_url . $secret_key . $pgw_failure_url . $secret_key . $pgw_first_name . $secret_key . $pgw_last_name . $secret_key . $pgw_street . $secret_key . $pgw_city . $secret_key . $pgw_post_code . $secret_key . $pgw_country . $secret_key . $pgw_telephone . $secret_key . $pgw_email . $secret_key);
            $form_args = array('Version' => $this->Version, 'pgw_shop_id' => $pgw_shop_id, 'pgw_order_id' => $pgw_order_id, 'pgw_amount' => $pgw_amount, 'pgw_authorization_type' => $pgw_authorization_type, 'pgw_success_url' => $this->responce_url_sucess, 'pgw_failure_url' => $this->responce_url_fail, 'pgw_language' => $pgw_language, 'pgw_signature' => $pgw_signature, 'pgw_first_name' => $pgw_first_name, 'pgw_last_name' => $pgw_last_name, 'pgw_street' => $pgw_street, 'pgw_city' => $pgw_city, 'pgw_post_code' => $pgw_post_code, 'pgw_country' => $pgw_country, 'pgw_telephone' => $pgw_telephone, 'pgw_email' => $pgw_email, 'AcqID' => $this > AcqID, 'PurchaseAmt' => $order_format_value);
            $form_args_array = array();
            $form_args_joins = null;
            foreach ($form_args as $key => $value) {
                $form_args_array[] = "<input type='hidden' name='{$key}' value='{$value}'/>";
                $form_args_joins = $key . '=' . $value . '&';
            }
            return '<p>' . $percentage_msg . '</p>
		<p>Total amount will be <b>' . number_format($order->order_total) . ' ' . $curr_symbole . '</b></p>
		<form action="' . $this->pg_domain . '" method="post" name="payway-authorize-form" id="payway-authorize-form" type="application/x-www-form-urlencoded">
            ' . implode('', $form_args_array) . '
            <input type="submit" class="button-alt" id="submit_ipg_payment_form" value="' . __('Pay via PayWay', 'ognro') . '" />
			<a class="button cancel" href="' . $order->get_cancel_order_url() . '">' . __('Cancel order &amp; restore cart', 'ognro') . '</a>
            </form>
            <!-- autoform submit -->
            <script type="text/javascript">
				jQuery("#submit_ipg_payment_form").trigger("click");
            </script>
            ';
        }
开发者ID:fritexvz,项目名称:woocommerce-tcom-payway,代码行数:71,代码来源:tcom-payway-woocommerce.php

示例8:

 /**
  * Test: get_cancel_order_url
  */
 function test_get_cancel_order_url()
 {
     $object = new WC_Order();
     $this->assertInternalType('string', $object->get_cancel_order_url());
 }
开发者ID:woocommerce,项目名称:woocommerce,代码行数:8,代码来源:crud.php

示例9: WC

 function check_paydunya_response($mtoken)
 {
     global $woocommerce;
     if ($mtoken != "") {
         $wc_order_id = WC()->session->get('paydunya_wc_oder_id');
         $hash = WC()->session->get('paydunya_wc_hash_key');
         $order = new WC_Order($wc_order_id);
         try {
             $ch = curl_init();
             $master_key = $this->live_master_key;
             $private_key = "";
             $url = $this->geturl . $mtoken;
             $token = "";
             if ($this->settings['sandbox'] == "yes") {
                 $private_key = $this->test_private_key;
                 $token = $this->test_token;
             } else {
                 $private_key = $this->live_private_key;
                 $token = $this->live_token;
             }
             curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_NOBODY => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_HTTPHEADER => array("PAYDUNYA-MASTER-KEY: {$master_key}", "PAYDUNYA-PRIVATE-KEY: {$private_key}", "PAYDUNYA-TOKEN: {$token}")));
             $response = curl_exec($ch);
             $response_decoded = json_decode($response);
             $respond_code = $response_decoded->response_code;
             if ($respond_code == "00") {
                 //payment found
                 $status = $response_decoded->status;
                 $custom_data = $response_decoded->custom_data;
                 $order_id = $custom_data->order_id;
                 if ($wc_order_id != $order_id) {
                     $message = "Votre session de transaction a expiré. Votre numéro de commande est: {$order_id}";
                     $message_type = "notice";
                     $order->add_order_note($message);
                     $redirect_url = $order->get_cancel_order_url();
                 }
                 if ($status == "completed") {
                     //payment was completely processed
                     $total_amount = strip_tags($woocommerce->cart->get_cart_total());
                     $message = "Merci pour votre achat. La transaction a été un succès, le paiement a été reçu. Votre commande est en cours de traitement. Votre numéro de commande est {$order_id}";
                     $message_type = "success";
                     $order->payment_complete();
                     $order->update_status('completed');
                     $order->add_order_note('Paiement PAYDUNYA effectué avec succès<br/>ID unique reçu de PAYDUNYA: ' . $mtoken);
                     $order->add_order_note($this->msg['message']);
                     $woocommerce->cart->empty_cart();
                     $redirect_url = $this->get_return_url($order);
                     $customer = trim($order->billing_last_name . " " . $order->billing_first_name);
                     if ($this->sms == "yes") {
                         $phone_no = get_user_meta(get_current_user_id(), 'billing_phone', true);
                         $sms = $this->sms_message;
                         $sms = str_replace("{ORDER-ID}", $order_id, $sms);
                         $sms = str_replace("{AMOUNT}", $total_amount, $sms);
                         $sms = str_replace("{CUSTOMER}", $customer, $sms);
                         $this->sendsms($phone_no, $sms);
                     }
                 } else {
                     //payment is still pending, or user cancelled request
                     $message = "La transaction n'a pu être complétée.";
                     $message_type = "error";
                     $order->add_order_note("La transaction a échoué ou l'utilisateur a eu à faire demande d'annulation de paiement");
                     $redirect_url = $order->get_cancel_order_url();
                 }
             } else {
                 //payment not found
                 $message = "Merci de nous avoir choisi. Malheureusement, la transaction a été refusée.";
                 $message_type = "error";
                 $redirect_url = $order->get_cancel_order_url();
             }
             $notification_message = array('message' => $message, 'message_type' => $message_type);
             if (version_compare(WOOCOMMERCE_VERSION, "2.2") >= 0) {
                 add_post_meta($wc_order_id, '_paydunya_hash', $hash, true);
             }
             update_post_meta($wc_order_id, '_paydunya_wc_message', $notification_message);
             WC()->session->__unset('paydunya_wc_hash_key');
             WC()->session->__unset('paydunya_wc_order_id');
             wp_redirect($redirect_url);
             exit;
         } catch (Exception $e) {
             $order->add_order_note('Erreur: ' . $e->getMessage());
             $redirect_url = $order->get_cancel_order_url();
             wp_redirect($redirect_url);
             exit;
         }
     }
 }
开发者ID:paydunya,项目名称:paydunya-wordpress,代码行数:85,代码来源:paydunya-woocommerce-gateway.php

示例10: get_skrill_args

 /**
  * Get arguments to pass to Skrill.
  *
  * @param WC_Order order An order object.
  * @return array
  */
 protected function get_skrill_args(WC_Order $order)
 {
     $this->log(sprintf(__('Skrill - Generating payment form for order #%s.'), $order->id), true);
     $currency = get_woocommerce_currency();
     $order_cancel_url = $order->get_cancel_order_url();
     $order_total = number_format($order->order_total, 2, '.', '');
     $skrill_args = array('pay_to_email' => $this->email, 'language' => $this->get_gateway_language(), 'currency' => $currency, 'return_url' => $this->get_return_url($order), 'cancel_url' => $order_cancel_url, 'status_url' => $this->status_url, 'merchant_fields' => 'order_key', 'order_key' => $order->order_key, 'transaction_id' => $order->id, 'amount' => $order_total, 'amount2' => $order_total, 'amount2_description' => sprintf(__('Order #%s', $this->text_domain), $order->id), 'comments' => $order->customer_note);
     // Add billing details
     $skrill_args = array_merge($skrill_args, $this->get_billing_fields($order));
     $skrill_args = apply_filters('wc_gateway_skrill_form_fields', $skrill_args);
     $this->log(sprintf(__('Skrill arguments (JSON): ', $this->text_domain), json_encode($skrill_args)), true);
     return $skrill_args;
 }
开发者ID:vanminh0910,项目名称:shangri-la,代码行数:19,代码来源:class-wc-gateway-skrill.php

示例11:

 /**
  * Check Response
  **/
 function check_ipn_response()
 {
     global $woocommerce;
     if (isset($_GET['robokassa']) and $_GET['robokassa'] == 'result') {
         @ob_clean();
         $_POST = stripslashes_deep($_POST);
         if ($this->check_ipn_request_is_valid($_POST)) {
             do_action('valid-robokassa-standard-ipn-reques', $_POST);
         } else {
             wp_die('IPN Request Failure');
         }
     } else {
         if (isset($_GET['robokassa']) and $_GET['robokassa'] == 'success') {
             $inv_id = $_POST['InvId'];
             $order = new WC_Order($inv_id);
             $order->update_status('on-hold', __('Платеж успешно оплачен', 'woocommerce'));
             $woocommerce->cart->empty_cart();
             wp_redirect(add_query_arg('key', $order->order_key, add_query_arg('order', $inv_id, get_permalink(get_option('woocommerce_thanks_page_id')))));
             exit;
         } else {
             if (isset($_GET['robokassa']) and $_GET['robokassa'] == 'fail') {
                 $inv_id = $_POST['InvId'];
                 $order = new WC_Order($inv_id);
                 $order->update_status('failed', __('Платеж не оплачен', 'woocommerce'));
                 wp_redirect($order->get_cancel_order_url());
                 exit;
             }
         }
     }
 }
开发者ID:kristinakarnitskaya,项目名称:larkyonline,代码行数:33,代码来源:wc-robokassa.php

示例12: array

 /**
  * Check Response
  **/
 function check_ipn_response($post)
 {
     global $woocommerce;
     //var_dump($post);
     if (isset($post['respcode']) && $post['respcode'] == '00' && isset($post['orderID']) && ctype_digit($post['orderID'])) {
         //echo 11 . ' ';
         $post = stripslashes_deep($post);
         $orderId = $post['orderID'];
         $order = new WC_Order($orderId);
         if ($order && $order->status == 'pending') {
             //echo 12 . ' ';
             $postdata = array();
             $postdata['hostID'] = $this->arca_hostid;
             $postdata['orderID'] = $orderId;
             $amount = number_format($order->order_total, 2, '.', '');
             $postdata['amount'] = $amount;
             $postdata['currency'] = $this->arca_currency;
             $postdata['mid'] = $this->arca_mid;
             $postdata['tid'] = $this->arca_tid;
             $postdata['mtpass'] = $this->arca_mtpass;
             $postdata['trxnDetails'] = "Order placed";
             $res = $this->call_arca_rpc("merchant_check", $postdata);
             if ('yes' == $this->debug) {
                 $this->log->add('arca', "ARCA :: MERCHANTCHECK REQUEST  = " . serialize($postdata));
                 $this->log->add('arca', "ARCA :: MERCHANTCHECK RESPONCE = " . serialize($res));
             }
             //var_dump($res);
             //var_dump($postdata);
             if (isset($res['respcode']) && $res['respcode'] == "00") {
                 if ($res['orderID'] == $orderId && $res['amount'] == $amount) {
                     $this->data = $res;
                     $res['mid'] = $this->arca_mid;
                     $res['tid'] = $this->arca_tid;
                     //echo 13 . ' ';
                     $comment = "=== ARCA Transaction Details ===\r\n";
                     $comment .= "Date/Time: " . $res['datetime'] . "\r\n";
                     $comment .= "STAN: " . $res['stan'] . "\r\n";
                     $comment .= "Auth Code: " . $res['authcode'] . "\r\n";
                     $comment .= "RRN:\t" . $res['rrn'] . "\r\n";
                     $postdata['trxnDetails'] = "Order confirmed";
                     $res = $this->call_arca_rpc("confirmation", $postdata);
                     //$order->update_status('on-hold', __('Order successfuly payed', 'arca'));
                     $woocommerce->cart->empty_cart();
                     // Payment completed
                     $order->add_order_note(__('Order successfuly payed via Arca IPN', 'arca'));
                     $order->payment_complete();
                     wp_redirect(add_query_arg('key', $order->order_key, add_query_arg('order', $orderId, get_permalink(get_option('woocommerce_thanks_page_id')))));
                     return;
                 } else {
                     $postdata['trxnDetails'] = "Order refused";
                     $res = $this->call_arca_rpc("refuse", $postdata);
                     $order->update_status('failed', __('Payment via Arca has been refused', 'arca'));
                     wp_redirect($order->get_cancel_order_url());
                     return;
                 }
             } elseif (isset($res['error'])) {
                 echo $res['error'];
                 return;
             }
         }
     } elseif (isset($post['cancel']) && $post['cancel'] == 'CANCEL') {
         wp_redirect(home_url());
         return;
     }
     //wp_redirect(home_url());
     //wp_redirect(add_query_arg('key', 123, add_query_arg('order', 123, get_permalink(get_option('woocommerce_thanks_page_id')))));
 }
开发者ID:panin87,项目名称:monay-max,代码行数:70,代码来源:wc-arca.php

示例13: intval

        /**
         * Generate the  Piraeus Payment button link
         * */
        function generate_piraeusbank_form($order_id)
        {
            global $woocommerce;
            global $wpdb;
            $order = new WC_Order($order_id);
            //echo $this->pb_authorize;
            if ($this->pb_authorize == "yes") {
                $requestType = '00';
                $ExpirePreauth = '30';
            } else {
                $requestType = '02';
                $ExpirePreauth = '0';
            }
            $installments = 1;
            if ($this->pb_installments > 1) {
                $installments = intval($order->get_total() / 30);
                $installments = min($installments, $this->pb_installments);
            }
            try {
                $soap = new SoapClient("https://paycenter.piraeusbank.gr/services/tickets/issuer.asmx?WSDL");
                $ticketRequest = array('Username' => $this->pb_Username, 'Password' => hash('md5', $this->pb_Password), 'MerchantId' => $this->pb_PayMerchantId, 'PosId' => $this->pb_PosId, 'AcquirerId' => $this->pb_AcquirerId, 'MerchantReference' => $order_id, 'RequestType' => $requestType, 'ExpirePreauth' => $ExpirePreauth, 'Amount' => $order->get_total(), 'CurrencyCode' => '978', 'Installments' => $installments, 'Bnpl' => '0', 'Parameters' => '');
                $xml = array('Request' => $ticketRequest);
                $oResult = $soap->IssueNewTicket($xml);
                if ($oResult->IssueNewTicketResult->ResultCode == 0) {
                    //  store TranTicket in table
                    $wpdb->insert($wpdb->prefix . 'piraeusbank_transactions', array('trans_ticket' => $oResult->IssueNewTicketResult->TranTicket, 'merch_ref' => $order_id, 'timestamp' => current_time('mysql', 1)));
                    //redirect to payment
                    wc_enqueue_js('
				$.blockUI({
						message: "' . esc_js(__('Thank you for your order. We are now redirecting you to Piraeus Bank to make payment.', 'woocommerce-piraeusbank-payment-gateway')) . '",
						baseZ: 99999,
						overlayCSS:
						{
							background: "#fff",
							opacity: 0.6
						},
						css: {
							padding:        "20px",
							zindex:         "9999999",
							textAlign:      "center",
							color:          "#555",
							border:         "3px solid #aaa",
							backgroundColor:"#fff",
							cursor:         "wait",
							lineHeight:		"24px",
						}
					});
				jQuery("#submit_pb_payment_form").click();
			');
                    $LanCode = "el-GR";
                    /*
                     Other available Language codes
                     en-US: English
                     ru-RU: Russian
                     de-DE: German
                    */
                    return '<form action="' . esc_url("https://paycenter.piraeusbank.gr/redirection/pay.aspx") . '" method="post" id="pb_payment_form" target="_top">				
				
						<input type="hidden" id="AcquirerId" name="AcquirerId" value="' . esc_attr($this->pb_AcquirerId) . '"/>
						<input type="hidden" id="MerchantId" name="MerchantId" value="' . esc_attr($this->pb_PayMerchantId) . '"/>
						<input type="hidden" id="PosID" name="PosID" value="' . esc_attr($this->pb_PosId) . '"/>
						<input type="hidden" id="User" name="User" value="' . esc_attr($this->pb_Username) . '"/>
						<input type="hidden" id="LanguageCode"  name="LanguageCode" value="' . $LanCode . '"/>
						<input type="hidden" id="MerchantReference" name="MerchantReference"  value="' . esc_attr($order_id) . '"/>
					<!-- Button Fallback -->
					<div class="payment_buttons">
						<input type="submit" class="button alt" id="submit_pb_payment_form" value="' . __('Pay via Pireaus Bank', 'woocommerce-piraeusbank-payment-gateway') . '" /> <a class="button cancel" href="' . esc_url($order->get_cancel_order_url()) . '">' . __('Cancel order &amp; restore cart', 'woocommerce-piraeusbank-payment-gateway') . '</a>
						
					</div>
					<script type="text/javascript">
					jQuery(".payment_buttons").hide();
					</script>
				</form>';
                } else {
                    echo __('An error occured, please contact the Administrator', 'woocommerce-piraeusbank-payment-gateway');
                }
            } catch (SoapFault $fault) {
                $order->add_order_note(__('Error' . $fault, ''));
            }
        }
开发者ID:fovoc,项目名称:Woocommerce-Payment-Gateways-Greek-Banks,代码行数:83,代码来源:woocommerce-piraeusbank-payment-gateway.php

示例14: array

 function receipt_page($order_id)
 {
     global $woocommerce;
     $order = new WC_Order($order_id);
     $order_received_url = add_query_arg('wc-api', 'WC_Nom_EPDQ', $order->get_checkout_order_received_url());
     $fields = array('PSPID' => $this->access_key, 'ORDERID' => $order_id, 'AMOUNT' => $order->order_total * 100, 'CURRENCY' => get_woocommerce_currency(), 'LANGUAGE' => get_bloginfo('language'), 'CN' => $order->billing_first_name . ' ' . $order->billing_last_name, 'EMAIL' => $order->billing_email, 'OWNERZIP' => $order->billing_postcode, 'OWNERADDRESS' => $order->billing_address_1, 'OWNERADDRESS2' => $order->billing_address_2, 'OWNERCTY' => $woocommerce->countries->countries[$order->billing_country], 'OWNERTOWN' => $order->billing_city, 'OWNERTELNO' => $order->billing_phone, 'ACCEPTURL' => $order_received_url, 'DECLINEURL' => $order_received_url, 'EXCEPTIONURL' => $order_received_url, 'CANCELURL' => $order_received_url, 'BACKURL' => get_permalink($this->back_url), 'HOMEURL' => get_permalink($this->home_url), 'CATALOGURL' => get_permalink($this->cat_url));
     if ($this->pp_format == 'yes') {
         $fields['TITLE'] = $this->TITLE;
         $fields['BGCOLOR'] = $this->BGCOLOR;
         $fields['TXTCOLOR'] = $this->TXTCOLOR;
         $fields['TBLBGCOLOR'] = $this->TBLBGCOLOR;
         $fields['TBLTXTCOLOR'] = $this->TBLTXTCOLOR;
         $fields['BUTTONBGCOLOR'] = $this->BUTTONBGCOLOR;
         $fields['BUTTONTXTCOLOR'] = $this->BUTTONTXTCOLOR;
         $fields['FONTTYPE'] = $this->FONTTYPE;
         $fields['LOGO'] = $this->LOGO;
     }
     $shasign = '';
     $shasign_arg = array();
     ksort($fields);
     foreach ($fields as $key => $value) {
         if ($value == '') {
             continue;
         }
         $shasign_arg[] = $key . '=' . $value;
     }
     if ($this->sha_method == 0) {
         $shasign = sha1(implode($this->sha_in, $shasign_arg) . $this->sha_in);
     } elseif ($this->sha_method == 1) {
         $shasign = hash('sha256', implode($this->sha_in, $shasign_arg) . $this->sha_in);
     } elseif ($this->sha_method == 2) {
         $shasign = hash('sha512', implode($this->sha_in, $shasign_arg) . $this->sha_in);
     } else {
     }
     $epdq_args = array();
     foreach ($fields as $key => $value) {
         if ($value == '') {
             continue;
         }
         $epdq_args[] = "<input type='hidden' name='{$key}' value='{$value}'/>";
     }
     if (isset($this->status) and ($this->status == 'test' or $this->status == 'live')) {
         if ($this->status == 'test') {
             $url = $this->test_url;
         }
         if ($this->status == 'live') {
             $url = $this->live_url;
         }
         echo '<p>' . __('Thank you for your order, please click the button below to pay securely', 'woocommerce') . '</p>';
         echo '<form action="' . $url . '" method="post" id="epdq_payment_form">';
         echo implode('', $epdq_args);
         echo '<input type="hidden" name="SHASIGN" value="' . $shasign . '"/>';
         echo '<input type="submit" class="button alt" id="submit_epdq_payment_form" value="' . __('Pay securely', 'woocommerce') . '" />';
         echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
         echo '<a class="button cancel" href="' . $order->get_cancel_order_url() . '">' . __('Cancel order &amp; restore cart', 'woocommerce') . '</a></form>';
     } else {
         echo '<p class="error">' . $this->error_notice . '</p>';
     }
 }
开发者ID:catchtheweb,项目名称:woocommerce-epdq-payment-gateway,代码行数:59,代码来源:class.epdq.php

示例15: explode

 /**
  * PayU Error response
  *
  * @access public
  * @param $_GET
  * @return void
  */
 function payu_error()
 {
     $posted = stripslashes_deep($_GET);
     $order_ref = explode("-", $posted['order_ref']);
     $order_id = $order_ref[0];
     $order = new WC_Order($order_id);
     $order->cancel_order(__('Cancelled payment.', 'wc-payu'));
     wc_add_notice(__('You rejected the payment or the transaction has expired.', 'wc-payu'), 'error');
     if ($this->debug == 'yes') {
         $this->log->add('payu', sprintf(__('Cancelled payment. ID: %s', 'wc-payu'), $order_id));
     }
     $url = $order->get_cancel_order_url();
     wp_redirect($url);
 }
开发者ID:donpapa26,项目名称:bakancslistad,代码行数:21,代码来源:gateway-payu.php


注:本文中的WC_Order::get_cancel_order_url方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。