我正在使用woocommerce实现集成。我想在确认钢坯付款或信用卡付款后,将用户的购买发送到其他系统。有人知道我在哪里可以得到这个付款的回报,我如何获得购买的交易ID?
我尝试了下面的代码,但函数似乎没有被调用;
add_action( 'woocommerce_payment_complete','send_payed_order_to_omie');
function send_payed_order_to_omie($order_id)
{
/*Código que envia a venda para o ERP*/
}
这是付款订单的正确钩子(不包括"bacs")(银行电汇)和支票付款时需要手工完成的付款)。
可以在源代码中看到WC_Order
payment_complete()
方法(所有支付方式使用),其中woocommerce_payment_complete
钩子所在,设置交易ID(当它被支付网关返回时)。
要获取事务ID,您可以使用WC_Order
get_transaction_id()
方法。
add_action( 'woocommerce_payment_complete','send_payed_order_to_omie');
function send_payed_order_to_omie( $order_id ) {
$order = wc_get_order( $order_id );
$transaction_id = $order->get_transaction_id();
// Your other code
}
代码放在活动子主题(或活动主题)的functions.php文件中。应该可以。