Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 回调处理程序赢得';不要炒作商业_Php_Wordpress_Woocommerce_Payment Gateway - Fatal编程技术网

Php 回调处理程序赢得';不要炒作商业

Php 回调处理程序赢得';不要炒作商业,php,wordpress,woocommerce,payment-gateway,Php,Wordpress,Woocommerce,Payment Gateway,我正在为WooCommerce构建一个支付网关,在该网关中,支付在一个非现场URL中进行。我需要那个页面能够向WooCommerce插件发送消息,而“回调”URL就是我真正需要的 WooCommerce似乎有这个,但我无法让它工作。您应该能够ping: http://yoursite/wc-api/WC_your_gateway 然后你应该加上 添加_操作('woocommerce_api_callback','callback_handler'); 然后它应该触发这样的函数 公共函数回调函数

我正在为WooCommerce构建一个支付网关,在该网关中,支付在一个非现场URL中进行。我需要那个页面能够向WooCommerce插件发送消息,而“回调”URL就是我真正需要的

WooCommerce似乎有这个,但我无法让它工作。您应该能够ping:

http://yoursite/wc-api/WC_your_gateway
然后你应该加上 添加_操作('woocommerce_api_callback','callback_handler'); 然后它应该触发这样的函数 公共函数回调函数处理程序(){}


但当我转到那个URL时,我在页面上看到的只是一个1——我的处理程序应该重定向到另一个页面(这就是我设置它的目的,以使其变得明显)。我喜欢的是,如果有人能举一个这样的例子。我尝试过将add_操作和处理函数放在很多地方,但运气不好。

我也遇到了同样的问题,因此,这对我来说很有效:

class WC_mygateway extends WC_Payment_Gateway {
  public function __construct() {
    //'woocommerce_api_'.strtolower(get_class($this)) will result in 'woocommerce_api_wc_mygateway'
    add_action('woocommerce_api_'.strtolower(get_class($this)), array(&$this, 'handle_callback'));
  }
  function handle_callback() {
    //Handle the thing here!
  }
}

function woocommerce_mygateway_add_gateway( $methods ) {
  $methods[] = 'WC_mygateway';
  return $methods
}
add_filter( 'woocommerce_payment_gateways', 'woocommerce_mygateway_add_gateway');
确保你没有遗漏任何细节,否则它不会起作用。你也可以用或来称呼它


希望这项工作为每个人都陷入这个问题

我也有同样的问题。尝试添加出口;或wp_die();在回调函数的末尾

这对我很有用。

您是否尝试过使用(在末尾添加斜杠)


另外,add_操作应该是“woocommerce_api{class_name}”,而不是“woocommerce_api_callback”。因此,对于您的示例,它应该是“woocommerce\u api\u wc\u your\u gateway”。

此外,您必须使用函数名“handle\u callback”,不能重命名它。浪费我大约五个小时。。。