美文网首页
APP 支付宝支付 预下单 缓存参数

APP 支付宝支付 预下单 缓存参数

作者: 归隐小赵 | 来源:发表于2020-07-14 10:57 被阅读0次

    接入app支付,使用postman或者浏览器等工具测试接口,是没问题的,每次都是新订单 order
    请求方式:get
    安卓库:okhttp
    使用APP是异常,一直是一个返回值
    排查:
    1.PHP后端bug,使用postman同步请求20次,返回值每次不一样
    2.安卓连续请求20次,返回值均一致

    3.PHP后端增加时间戳字段,APP请求20次,时间戳全部一致

    初步定位缓存问题,但APP否认有缓存

    4.清除APP数据,重新预下单,首次返回值不一致,再次调用一致

    5.考虑可能为类似浏览器的get缓存机制,增加单位随机数参数

    结果:20次,有4个不一样的结果,看随机数,为1位时间戳

    更新:更改为6位时间戳

    结果:20次结果每次都不一样,问题解决。
    定位问题:okhttp默认为get缓存,post或https不缓存:

    默认情况下,一般认为使用GET通过HTTP访问的请求可以缓存,也应当缓存。使用HTTPS或POST访问的请求不应当缓存。OKHttp也是这样设计的,OKHttp默认不支持Post缓存。
    所以,问题出在这里

    参考文章:
    https://www.jianshu.com/p/cc6a36df774a
    https://www.cnblogs.com/hehe520/p/6329977.html

    相关文章

      网友评论

          本文标题:APP 支付宝支付 预下单 缓存参数

          本文链接:https://www.haomeiwen.com/subject/prsxhktx.html