如果用户在执行 woocommerce_ payment_complete 操作之前关闭浏览器会怎样?

问题描述 投票:0回答:1

我创建了一个在用户付款完成后执行的操作,并且运行良好。但如果我的客户在付款后立即退出浏览器,则不会执行此操作。这是一个问题,因为该操作会创建一个带有酒店预订的 API 调用。即使用户付款后立即关闭浏览器,如何确保操作可靠执行?

我正在考虑创建一个简单的基于服务器的应用程序,它向 WooCommerce API 发送调用以获取新订单,但我想有一种更简单的方法。

woocommerce woocommerce-rest-api
1个回答
0
投票

创建一个基于服务器的应用程序可能可行,但对于这个问题来说可能有点矫枉过正。相反,请考虑使用 WooCommerce Webhooks,它对于您的用例来说更可靠。您可以设置一个 Webhook 来触发

order.completed
事件,该事件将向您指定的 URL 发送 POST 请求,其中包含所有订单详细信息。这样,即使用户关闭浏览器,webhook 仍然会被触发。

或者,您可以使用 WordPress cron 功能,这是另一个更简单的解决方案。这是一个指导您正确方向的示例:

add_action('init', 'setup_schedule');
function setup_schedule() {
if (!wp_next_scheduled('my_custom_hook')) {
wp_schedule_event(time(), 'hourly', 'my_custom_hook');
}
}

add_action('my_custom_hook', 'do_this_hourly');
function do_this_hourly() {
//your logic to check for completed orders and trigger the action
}

我希望这能让您朝着正确的方向完成工作。

© www.soinside.com 2019 - 2024. All rights reserved.