WooCommerce:确认订单后付款
Posted
技术标签:
【中文标题】WooCommerce:确认订单后付款【英文标题】:WooCommerce: Payment after confirming order 【发布时间】:2017-03-17 07:25:23 【问题描述】:我正在创建一个 Woocommerce 商店。客户希望使用支付插件“Mollie”来接受 iDeal 支付(荷兰语)。
当人们从网上商店订购商品时,他们应该能够在不付费的情况下订购他们想要的一切。之后,店主应该会收到一封电子邮件并检查订单。
店主通过检查订购产品的库存来查看订单。从这一点开始应该有场景的:
一切都有现货。称重包裹。添加运费。客户将收到一个付款链接。
没有库存。应向客户发送一条消息,其中包含缺货消息。
只有部分订单有货。应在 Woocommerce 订单面板中更改订单。剩余的订单被称重和包装。客户将收到一个付款链接。
订单被接受后,客户应该会收到一个带有正常付款方式(包括“Mollie”付款)的付款链接。
有没有办法做到这一点? 提前致谢!
【问题讨论】:
Mollie 允许您通过其 API 轻松创建付款和/或付款链接。订单完成后付款不包含在 Mollie Woocommerce 包中。所以:当然,但它确实需要一些自定义编码。 【参考方案1】:我知道这是一年后的事,但这可能对其他人有所帮助:-)。 我的客户想要一个类似的流程,在店主确认订单之前,商店客户将无法在线支付。
解决方案:
-
我们使用货到付款进行线下支付,重命名为“注册订单”。
我们使用 Stripe 进行在线支付的信用卡支付。
我们为 结帐 页面(结帐端点)展示了 货到付款,为 order-pay 页面展示了 Stripe (我的帐户端点),更多关于端点的信息在 woocommerce docs。
瞧。
我们使用此过滤器在 2 个端点之间切换支付网关。
function my_switch_gateways_by_context($available_gateways)
global $woocommerce;
$endpoint = $woocommerce->query->get_current_endpoint();
if ($endpoint == 'order-pay')
unset($available_gateways['cod']);
else
unset($available_gateways['stripe']);
return $available_gateways;
add_filter( 'woocommerce_available_payment_gateways', 'my_switch_gateways_by_context');
我希望这会有所帮助。
【讨论】:
好极了!如此简单,如此便宜;p【参考方案2】:据我所知,没有简单的方法可以做到这一点。正常的付款流程是让消费者在下订单时立即付款。如果某些产品缺货,您可以简单地创建(部分)退款。 Mollie's WooCommerce plugin 支持此功能。
【讨论】:
以上是关于WooCommerce:确认订单后付款的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce:所有新完成的订单暂停(特别是COD)并仅发送一个暂停电子邮件作为标准确认
在 WooCommerce 中自动处理已付款订单而不是自动完成