添加自定义WooCommerce支付网关连接

时间:2018-04-14 17:24:34

标签: wordpress woocommerce

我们的支付网关和CRM默认不支持WooCommerce作为插件,因此我需要添加自定义代码,以便在客户下订单时将数据发送到我们的CRM和支付网关,然后拒绝或接受订单,具体取决于支付网关API响应。

我应该在Woo代码中何处以及如何拦截订单提交?

1 个答案:

答案 0 :(得分:0)

您应该尝试woocommerce_checkout_process操作挂钩,其中结算提供商的API响应应返回错误通知以拒绝并停止结帐流程...

此挂钩位于WC_Checkout process_checkout() method,它位于订单创建之前。可以通过$_POST$posted_data = WC()->checkout->get_posted_data(); WC_Checkout方法访问数据。

woocommerce_checkout_order_processed动作挂钩,其中已创建订单(意味着订单数据可通过3个参数访问:$order_id$posted_data$order)但付款前 ...要停止此流程,结算提供商的API响应应为:throw new Exception() ...

  

所以无论如何,解决方案是WC_Checkout可用钩子之一......