Tom*_*las 6 php wordpress payment-gateway woocommerce
我正在为WooCommerce构建支付网关,其中付款在非现场URL中进行.我需要该页面能够回复给WooCommerce插件,并且"回调"URL实际上是我所需要的.
WooCommerce似乎有这个,但我无法让它工作.你应该能够ping:
http://yoursite/wc-api/WC_your_gateway
Run Code Online (Sandbox Code Playgroud)
然后你应该添加add_action('woocommerce_api_callback','callback_handler'); 然后它应该触发像这个公共函数callback_handler(){}这样的函数
但是当我访问该URL时,我看到的只是我页面上的1 - 我的处理程序应该重定向到另一个页面(这就是我设置它以使其显而易见).我喜欢的是,如果有人有这个工作的例子.我已经尝试将add_action和处理函数放在很多地方,没有运气.
我遇到了同样的问题,所以,这对我有用:
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');
Run Code Online (Sandbox Code Playgroud)
确保您没有遗漏任何这些细节,否则它将无法工作。您也可以使用http://example.com/?wc-api=wc_mygateway或http://example.com/wc-api/wc_mygateway来调用它
希望这对遇到这个问题的每个人都有效!