微信H5支付及JSAPI支付 同一订单号调用统一下单接口后未支付 再到另一个支付方式支付 报:201 重复下单 错误

移动端web网页支付

分为微信内部浏览器支付 和 微信外部浏览器支付

微信内使用(JSAPI支付)

微信外使用(H5支付)

问题:

当在微信外(H5支付)支付订单时 未支付退出后 再到微信内(JSAPI支付)支付同一订单 会支付不成功 报错:201 请勿重复下单(反之一样)

解决:

在调用统一下单接口给$out_trade_no形参时 给它加上区别字符

如 : (H5支付) $out_trade_no = 'MWEB'.$out_trade_no;

      (JSAPI支付) $out_trade_no = 'WWEB'.$out_trade_no;

这样就不会报错了

注意 : 在支付成功回调逻辑处理的时候 别忘记把 $out_trade_no 的前4位去掉

       $out_trade_no = mb_substr($out_trade_no,4);

你可能感兴趣的:(支付,php,微信支付)