收藏
回答

使用通联支付,微信支付调起收银台失败,如何解决?

在通联支付注册了支付通道。在小程序中先发送报文给通联,通联接口收到支付请求,返回报文正常,在通联后台确认订单已经建立。将通联返回的报文按照JSAPI 通过 wx.requestPayment 发起请求,微信接口返回验证签名失败。

开发环境:uniapp,hbuilderX3.4.18,微信开发者工具Stable 1.05.2204250

向通联发起请求返回报文:

appId: "wxef277996acc166c3"

nonceStr: "7c9d6df92fac4f70848cb57591b1f40d"

package: "prepay_id=wx211115179336730beb323af8a6d1b80000"

paySign: "nE6+J9r86C5UNL5puTNvSg2ZuBTWQD+gVXfh63nxiA6j+2wjZQvLPzilukhc3NPDhpZkMe3HE/NvnyiS0+YYSAlqiKQQ6+JUcH/TYja86KgTl8UduNvlRHYdM4q1Z5QRqW4SPGeEr6CcGTG9zAzZ6UDj1EivKcnzRmb4HqPdd+mD ************中间省略了******** ADA=="

signType: "RSA"

在编辑器中使用wx.requestPayment发送

wx.requestPayment({

  appId: data.appid,

  nonceStr: data.nonce_str,

  package: data.package,

  paySign: data.sign,

  signType: "RSA", //改成MD5也试过,没有用

  timeStamp: data.timestamp,

  success (res) { console.log(res)},

  fail (res) { console.log(res)}

});

最终结果:

用wx.requestPayment ,在微信开发者工具中可以调起支付二维码,开发者本人微信扫码后,报“支付验证签名失败”

用uni.requestPayment ,加上了必备的参数"provider": "wxpay", :报:errMsg:requestPayment:fail parameter error: parameter.timeStamp should be String instead of Undefined; parameter.package should be String instead of Undefined; ....... 就是所有传入参数都有问题

请问这种情况该怎么处理??????????

  1. timeStamp: "1658373317"



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

2 个回答

  • 刘杰
    刘杰
    2022-12-24

    你好目前我也是遇到了相同的问题,目前解决了吗

    2022-12-24
    有用
    回复
  • 尘灰
    尘灰
    2022-07-28

    机构返回的信息payinfo信息,原样替换到wx.requestPayment中,唤起收银台。

    1、请求机构下单,sub_appid(小程序应用appid)需要上送

    2、paySign字段较长,注意是否截断

    2022-07-28
    有用
    回复
登录 后发表内容