wordpress - 付款 IPN 失败时防止 Woocommerce 订单自动完成
问题描述
即使支付网关的 IPN 响应失败,Woocommerce 订单状态也会变为“已完成”。我正在尝试添加一个全局规则来检查订单元以及 IPN 响应是否设置为失败。将订单标记为待付款(即使标记为已完成,也需要检查所有订单)。抱歉,我是 woocommerce 编码的新手。这就是我正在尝试的方式
add_action( 'woocommerce_thankyou', 'check_ipn_response' );
function check_ipn_response( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
$order_ipn = $order->get_meta('pt_paytriot_ipn_resonse');
if( strpos( $order_ipn, 'fail' ) !== false ) {
$order->update_status( 'pending payment' );
}
}
解决方案
推荐阅读
- typescript - 关于 import * as x from vs import x from 的说明
- spring - 使用 Spring Feign 将 GET 转换为 POST
- wpf - 将画笔定义为从另一个资源获取颜色的资源
- r - 如何正确地将我的函数作为用户输入参数传递?
- jenkins - 需要来自 Jenkins 的正确外观的电子邮件通知:包括自上次构建以来所做的 SVN 更改以及构建期间的错误(如果有)
- vbscript - VBS 快速循环线路
- python - 两点云之间的 3D 插值
- ruby-on-rails - 是否可以保留在 CircleCI 上运行的测试生成的 VCR 磁带
- delphi - 将 SysUtils.WrapText() 与包含单引号的字符串一起使用
- c# - GZipStream -- 解压后的文件缺少数据