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