Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WooCommerce订阅扩展-在WooCommerce中取消之前在网关上取消_Php_Wordpress_Woocommerce - Fatal编程技术网

Php WooCommerce订阅扩展-在WooCommerce中取消之前在网关上取消

Php WooCommerce订阅扩展-在WooCommerce中取消之前在网关上取消,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,在WooCommerce管理中,有取消订阅选项。 当订阅被取消时,我可以挂入这个陷阱。 但是,我希望在WooCommerce中取消订阅之前检查网关并取消网关上的订阅 这是必须的 用户/管理员选择“取消订阅” API请求转到网关以给出成功/失败响应 成功后,WooCommerce将取消订阅 在当前设置中,如果取消订阅后挂接,则可能会导致API调用失败。在网关上,用户可以继续处理付款时,订阅被取消 我发现post状态挂钩更改将在订阅更改之前触发,但如果没有die(),则无法停止进一步的处理 有人知道

在WooCommerce管理中,有取消订阅选项。 当订阅被取消时,我可以挂入这个陷阱。 但是,我希望在WooCommerce中取消订阅之前检查网关并取消网关上的订阅

这是必须的

  • 用户/管理员选择“取消订阅”
  • API请求转到网关以给出成功/失败响应
  • 成功后,WooCommerce将取消订阅
  • 在当前设置中,如果取消订阅后挂接,则可能会导致API调用失败。在网关上,用户可以继续处理付款时,订阅被取消

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


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

    与其尝试重新安排操作顺序,不如编写网关调用后的函数,如果失败,则应重新激活订阅,然后告诉用户重试。当然,它应该被记录下来,并向您发送通知


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

    好建议。但是,重新激活订阅是否有任何问题?与中一样,在重新激活后是否会触发任何其他事件?它是一个简单的
    WC\u订阅管理器::激活订单的订阅()
    还是一个
    $order->更新订单状态('completed')?不,我不这么认为,但当然测试总是需要的。激活函数应该处理所有依赖项。一定要尝试/捕捉那个重新激活。如果你喜欢我的答案,请投我一票。我正在努力提高我的声誉