Charge 对于相同订单号的生成规则

更新于:2020年07月07日 15:19:51

一、非微信类渠道:

①、首次请求 Ping++ 返回的 Charge 对象,在接下来的 1 分钟内如果请求上来还是相同的订单信息( 6 要素:order_no、channel、amount、subject、body、appid 不变),那么 Ping++ 还是返回首次请求的 Charge ;

注:如果在 1 分钟之内,使用支付宝渠道花呗分期时,更换了 extra 的 hb_fq_num 和 hb_fq_seller_percent 参数或者其中之一,则会返回全新的 Charge 。

②、如果超过 1 分钟,再次请求 Ping++ 则返回全新的 Charge 。

③、线下扫码通道:isv_qr / isv_scan 渠道,超过 1 分钟后,不可用相同的订单信息发起创建请求 ;isv_wap 渠道在打开链接后,再超过 1 分钟后,不可用相同的订单信息发起创建请求,若未打开链接,则参考 ①、② 步骤说明。


二、微信类渠道:

对于微信相同的订单号请求,除微信 H5支付(wx_wap)、付款码支付(wx_pub_scan/cb_wx_pub_scan) 渠道外,Ping++ 做了 2 小时的缓存处理,也就是说在 2 小时内,只要是相同信息的订单请求,Ping++ 返回给您的是我们缓存你第一次请求拿到的 Charge 的信息(注意:2 小时内是要相同的订单信息, 6 要素:order_no、channel、amount、subject、body、appid 不变);

超过 2 小时的话,若使用相同的订单信息,Ping++ 是直接去请求微信的,那么微信这里就会报错,因为微信不允许相同订单号的请求。

注:

1、wx_wap 渠道 Ping++ 的缓存时间为 5 分钟,超过 5 分钟,则不可使用相同订单信息发起创建请求。

2、wx_pub_scan/cb_wx_pub_scan 渠道 Ping++ 缓存时间为 1 分钟,如果超过 1 分钟,再次请求 Ping++ 则返回全新的 Charge 。

3、order_no 在微信同一个商户号下必须唯一;如:微信公众号和微信公众号扫码渠道是属于同一个商户号下的,则不可使用相同的 order_no 创建支付请求。

    您需要登录后才可以回复