收藏
回答

下单账号与支付账号不一致?

微信JSAPI方式下单,传了openid给微信, 但是前端唤起支付报错“下单账号与支付账号不一致”,前端唤起支付并没有传openid参数,请问是跟哪个地方的账号比较不一致?

回答关注问题邀请回答
收藏

2 个回答

  • จุ๊บ
    จุ๊บ
    2021-07-07

    统一下单用的那个openid,实际支付的时候,就用这个openid 对应的微信支付

    2021-07-07
    有用
    回复 3
    • MJ
      MJ
      2021-07-07
      所以是和当前微信账号对应的这个公众号支付所对应的在openid做了一次检查?这个检查是不需要前端传输openid,而是微信自己拿到当前账号的openid和下单用的openid对比了?确定是这样吗?
      2021-07-07
      回复
    • จุ๊บ
      จุ๊บ
      2021-07-07回复MJ
      可以这样理解,比如你用A的openid进行统一下单,返回前端需要的参数,然后用B的微信和这些参数调用微信支付,此时就会提示下单账号与支付账号不一致
      2021-07-07
      回复
    • MJ
      MJ
      2021-07-07回复จุ๊บ
      了解了,微信还是会对比一下当前微信账号对应的openid和下单的openid是否一致,所以这个才是问题的根本原因,感谢解答
      2021-07-07
      回复
  • Memory (私信不回复)
    Memory (私信不回复)
    2021-07-07

    传入的 openid 需要实时获取,最直接的方式是获取下支付用户的 openid 和调起支付的 openid 对比下,看是否一样, 不一样则会在微信支付界面出现上面的错误提示。前端里面prepay_id 就是包含了下单用户信息的预支付交易会话标识

    2021-07-07
    有用
    回复 6
    • MJ
      MJ
      2021-07-07
      唤起支付的入参我看就没有openid这个参数啊
      2021-07-07
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2021-07-07回复MJ
      prepay_id 就是包含了下单用户信息的预支付交易会话标识
      2021-07-07
      回复
    • MJ
      MJ
      2021-07-07
      在生成prepay_id的时候,prepay_id就是传的用户的openid, 这个值是直接拿去前端唤起支付,还是那个问题,跟谁比较呢?用的也就是这个值
      2021-07-07
      回复
    • MJ
      MJ
      2021-07-07
      我理解全程传递openid参数的地方就只有一个,就是在下单的时候,下单返回的prepay_id 是前端直接拿过来用的 ,难道是和当前账号默认做了一次比较?
      2021-07-07
      回复
    • MJ
      MJ
      2021-07-07
      你好,确认下,你说的调起起支付的openid,是微信自己去拿的吗?因为api是没有这个入参的,是微信拿了当前微信账号对应的openid对吗?
      2021-07-07
      回复
    查看更多(1)
登录 后发表内容