小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我就想问问调起支付接口的参数到底是哪个?
appid、partnerid、package这三个参数是固定的,prepayid这个参数是拿的微信返回的数据。
那noncestr这个参数,我是拿微信返回的数据,还是我第一次生成预订单的数据,还是我重新生成呢?
timestamp这个参数,我是用第一次生成预订单的数据,还是根据当前时间生成?
二次签名sign,这个签名生成的参数有没有顺序要求?顺序是怎么样的?
烦请大佬以及官方解答!十万火急!
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
private SortedDictionary<string, object> m_values = new SortedDictionary<string, object>();
二次签名就不需要再排序了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
返回-1按照以下几点进行排查即可
首先按文档中业务流程和开发步骤接入,按照文档流程排查;如果还有问题,需要按以下环节排查:
1、统一下单返回是否正常(后面步骤都用到了这个接口的appid,mchid,prepayid,看参数是否匹配
2、第二次签名过程是否正确(此步骤商户一定要严格按文档的参数列表来做签名,用签名工具做校验)
2.1、此处涉及一个细节:该接口没有sign_type参数,如果统一下单用的HMAC-SHA256签名,本步骤也必须按HMAC-SHA256
2.2、本次签名的参数列表要跟文档完全匹配:大小写要一致,参数值要与统一下单接口的保持一致,特别注意参数名:partnerid,取值为mchid(开平SDK历史原因,无法改名)
2.3、本步骤生成的sign与统一下单的不是同一个,经常有商户直接传同统一下单接口的sign过来
3、检查客户端调用sendReq(PayReq)对象赋值的正确性(必要时让商户提供数据),有一种情况是商户会通过异步获取到后台数据,比如data对象是通过异步请求得到的对象:request.appId = data.appid; 实际appid属性值为空,
4、 检查配置
4.1、 Android要求在开放平台后台配置正确的应用签名和包名,可以引导商户提供配置截图
4.2、 IOS则不需要在开平配置,而是要求商户在开发环境红配置正确的URLSchemes为对应APPID
没人的吗?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
private SortedDictionary<string, object> m_values = new SortedDictionary<string, object>();
二次签名就不需要再排序了
返回-1按照以下几点进行排查即可
首先按文档中业务流程和开发步骤接入,按照文档流程排查;如果还有问题,需要按以下环节排查:
1、统一下单返回是否正常(后面步骤都用到了这个接口的appid,mchid,prepayid,看参数是否匹配
2、第二次签名过程是否正确(此步骤商户一定要严格按文档的参数列表来做签名,用签名工具做校验)
2.1、此处涉及一个细节:该接口没有sign_type参数,如果统一下单用的HMAC-SHA256签名,本步骤也必须按HMAC-SHA256
2.2、本次签名的参数列表要跟文档完全匹配:大小写要一致,参数值要与统一下单接口的保持一致,特别注意参数名:partnerid,取值为mchid(开平SDK历史原因,无法改名)
2.3、本步骤生成的sign与统一下单的不是同一个,经常有商户直接传同统一下单接口的sign过来
3、检查客户端调用sendReq(PayReq)对象赋值的正确性(必要时让商户提供数据),有一种情况是商户会通过异步获取到后台数据,比如data对象是通过异步请求得到的对象:request.appId = data.appid; 实际appid属性值为空,
4、 检查配置
4.1、 Android要求在开放平台后台配置正确的应用签名和包名,可以引导商户提供配置截图
4.2、 IOS则不需要在开平配置,而是要求商户在开发环境红配置正确的URLSchemes为对应APPID
没人的吗?