我正在为woocommerce创建一个插件。这是一个自定义支付网关。
问题: 当从我的网站返回到woocommerce时,我将结果传递为返回URL中的已完成或失败(例如:http://woocommercetestwebsite.com/checkout/order-received/771/?key=wc_order_5955555324&message=completed)。
如何在“已接收订单”页面上解析上述URL,以便我可以在woocommerce中将订单标记为已完成或失败?
我尝试在我的插件中添加:add_action( 'woocommerce_api_' . strtolower( get_class( $this ) ), array( $this, 'check_ipn_response' ));
。但它不起作用。这是错误的方式吗?
public function check_ipn_response(){
try{
global $woocommerce;
$order = new WC_Order($order_id);
$order_status = $_GET['message'];
if ($order_status == 'completed') {
$order->payment_complete();
$order->update_status('completed');
} else if ($order_status == 'failed') {
$order->update_status('failed');
}
$woocommerce->cart->empty_cart();
}
}