用户在结算的时候如果选择使用支付宝支付,按了这个按钮以后会把订单状态更新成 on-hold .. 按了支付以后,不应该把订单状态修改成 on-hold .. 因为把订单状态设置成 on-hold 会减少商品库存 ..
使用支付宝支付的时候可以通过两种方式得到支付的结果,一种是同步返回,另一种是异步通知 .. on-hold 这种状态适合用在不能立即知道支付结果的支付方式上 ..
订单默认的状态应该是 pending ,就是待付款 .. 收到了支付成功的通知以后,可以把订单状态修改成 processing .. 表示已经收到了付款 .. 正在处理订单 ..
打开支付宝支付插件的这个类 .. 处理支付用的是它的 process_payment 方法 .. 这里去掉修改订单状态的代码 .. 还有这几行输出日志用的代码 ..
然后再打开 woocommerce-alipay 这个 php 文件 .. 在这里还有两个地方,我们检查了一下订单的状态 .. 这个状态的名字可以修改成 pending ... 意思就是如果订单当前状态是待付款的时候 .. 收到支付结果通知再去把订单状态修改成 processing ..
再去提交一个订单,支付方法使用支付宝 ..
没支付之前这个订单的状态会是待付款 .. 再回到支付宝支付页面,确认一下支付 ..
支付成功以后 .. 订单状态会变成正在处理 ...