php WooCommerce -启用异步回调URL

q8l4jmvw  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(185)

环境

标准的WordPress/WooCommerce(WP/WC)部署与自定义支付插件。在点击“下订单”按钮时,结账页面被阻止等待客户交互。一旦通过外部服务器回调接收到结账过程可以继续或被取消。

目标

启用WP/WC回调URL以接收来自外部服务器的异步响应,从而可以相应地更新结账页面和流程。

申请

WC_API – The WooCommerce API Callback似乎是要走的路,但我无法让它工作,需要一步一步的指导或指针的描述如何做到这一点。

z4bn682m

z4bn682m1#

如果你已经读过woocommerce的WC_API文档,那么我将用一个例子来解释它。文档一开始可能有点微妙(我去过那里)。
1.首先,让我们给回调函数命名,我们叫它callback_handler
1.第二件事,你需要命名你的API路径端点。让我们称之为callback_path
1.现在我们有了一个handler函数和一个指向你的API的API路径。让我们把这两者连接起来。这意味着当使用该API路径进行调用时,它会被定向到handler函数。要创建它,你需要创建一个如下所示的钩子。
add_action('woocommerce_API_callback_path','callback_handler');
请记住,回调路径需要以woocommerce_api为前缀。
1.让我们调用您的域名example.com。现在,当向http://example.com/wc-api/callback_path发出请求时,您将能够看到从callback_handler函数发送的内容。如果请求是表单数据,您可以使用php全局变量(如$_GET或$_POST)来检索请求。如果请求是JSON或纯文本,您可以使用file_get_contents('php://input');来检索请求。
附加说明:如果你在php类中挂接,你需要像下面这样挂接你的函数

add_action('woocommerce_api_callback_path', array($this, 'callback_handler'));

字符串

相关问题