微信免密支付:签名参数构造错误请联系商户处理 【终极解决方案】

先上文档,免密支付文档官方没有开放出来百度搜索不到。
1.普通商户模式:https://pay.weixin.qq.com/wiki/doc/api/pap.php?chapter=18_14&index=2
2.服务商模式:https://pay.weixin.qq.com/wiki/doc/api/pap_sl.php?chapter=18_14&index=2

如果这边Blog还不能解决你的问题,请在微信开发社区提问
3.社区地址:https://developers.weixin.qq.com/community/pay

4.贴上一篇官方的解答
https://developers.weixin.qq.com/community/develop/doc/00062ef81dcef0e05738e1eb551800?highLine=%E7%AD%BE%E5%90%8D%E5%8F%82%E6%95%B0%E6%9E%84%E6%88%90%E9%94%99%E8%AF%AF


排查方式
  1. 确认代扣权限是否开通成功,登陆商户平台——产品中心核实
  2. 商户号与APPID是否有绑定的关系
  3. 代扣模板id(plan_id)是否审批通过直连:登陆商户平台——交易中心——委托代扣模板管理查看;服务务商:登陆商户平台——产品中心——特约商户授权产品——服务商委托代扣——管理签约模板查看。模板id是否与商户号对应,直连的不能使用服务商的,服务商的不能使用直连的
  4. 公众号唤起签约中notify_url参数是否有按照文档的填写,参与sign生成是notify_url不需要转义,跳转url需要转义,不能有特殊字符,像“!”;也不能使用localhost,notify_urlcontract_display_account都不需要ENCODE
  5. APP唤起签约中notify_url不同的操作系统转义的次数都不同,安卓的只需一次,ios的需要两次
  6. 请求接口是否有误,如直连商户请求成服务商模式的接口
  7. 查看参数名是否正确填写,是否参杂多余参数进行签名,是否有多余的空格
  8. 商户号是否填写错误
  9. SIGN生成有误,请通过签名校验工具中自定义参数进行校验(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1),如校验通过但实际请求错误,请确认秘钥是否有误
  10. request_serial第一位最好不要为0
  11. extraData类型为object,不是字符串
  12. 签约链接是否有换行
  13. contract_display_account参数值不支持UTF8非3字节编码的字符,如+
  14. 服务商模式签名的key用服务商的,普通商户模式用普通商户的【如果商户号,模板等都没有错误,那么就是key不正确】,注意:商户api密钥设置,最多32位,只能是字母英文数字组合,之前把base64_encode 后的编码作为api 密钥 ,就出现过问题。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值