【发布时间】:2018-03-20 13:35:43
【问题描述】:
我正在创建一个网站,它使用 wp simple pay 插件处理来自 Stripe 的支付。
我创建了一个 webhook,可以让我知道付款是否成功。如果成功,我将创建一个包含数据的订单,但邮递员总是返回 500 内部服务器错误,我无法从中看到错误。
如果我删除 wc_create_order() 并返回 $address,它会完美运行。我怀疑我的代码做错了什么。
这是我创建的代码
add_action('woocommerce_checkout_process', 'pinion_add_order');
function pinion_add_order($m, $a) {
global $woocommerce;
$address = array(
'first_name' => 'Project Paid ',
'last_name' => $m
);
$order = wc_create_order();
$order->add_product(($a == '100000' ? get_product('2858') : get_product('2859')), 1);
$order->set_address($address, 'billing');
$order->set_address($address, 'shipping');
// $order->set_total($amount);
$order->calculate_totals();
$order->update_status("Completed", 'Imported order', TRUE);
return $order;
}
任何帮助将不胜感激。谢谢
【问题讨论】:
-
您不应该在
WC_Checkout钩子中以这种方式将 wp simple pay 插件与 woocommerce 一起使用……这永远不会以干净的方式工作。您应该更好地使用 Woocommerce Stripe 插件或在 stackOverFlow 中搜索以编程方式创建订单(因为这已经得到了很多回答)...WC_Checkout方法和钩子可以与 Woocommerce 集成支付方式或/和网关一起使用...
标签: wordpress woocommerce webhooks