【问题标题】:WooCommerce Subscriptions Extension - Cancel on gateway before cancelling in WooCommerceWooCommerce 订阅扩展 - 在 WooCommerce 中取消之前在网关上取消
【发布时间】:2017-09-07 13:38:44
【问题描述】:

在 WooCommerce 管理员中,有取消订阅选项。 当订阅被取消时,我可以使用它来捕获。 但是,我希望在 WooCommerce 中取消订阅之前检查网关并取消网关上的订阅。

应该是

  1. 用户/管理员选择“取消订阅”
  2. API 请求进入网关以给出成功/失败响应。
  3. 成功后,WooCommerce 取消订阅。

在当前的设置中,订阅被取消后挂钩,API 调用可能会失败。在网关处向用户显示订阅已取消,它可能会继续处理付款。

我发现发布状态挂钩更改将在订阅更改之前触发,但如果没有 die(),我无法停止进一步处理失败。

有人知道处理这种情况的最佳方法吗?

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    您应该编写一个在网关调用之后出现的函数,如果它失败了,那么它应该重新激活订阅,然后告诉用户再试一次,而不是试图重新安排事情的完成顺序。当然,它也应该被记录下来并向您发送通知。

    我建议使用这种方法的原因是它不太可能在 WooCommerce 更新中被破坏。

    【讨论】:

    • 好建议。重新激活订阅有什么问题吗?如,重新激活后是否会触发任何其他事件?是简单的WC_Subscriptions_Manager::activate_subscriptions_for_order() 还是$order->update_status( 'completed' );
    • 不,我不这么认为,但当然总是需要测试。激活函数应该处理所有依赖项。确保也对该重新激活进行尝试/捕捉。如果你喜欢我的回答,请给我点赞。我正在努力提高我的声誉点数。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多