<xml>
<appid>wx33ad58a9f6b6e985</appid>
<body>华科洋电子城-aa苏苏</body>
<mch_id>1603037911</mch_id>
<nonce_str>ycoRtAabAwUsxaUKKXijSYMsRKiVOvwf</nonce_str>
<notify_url>https://www.whilebox.com/index1/payNotify</notify_url>
<openid>okdoq4yGkWm65YMs29VZIPgnqzRA</openid>
<out_trade_no>1603769765541</out_trade_no>
<spbill_create_ip>113.88.45.107</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
<sign>63BEABE9CF6E61333A5F8D42C1635B4F</sign>
</xml>
1:统一下单请求编码UTF8,
2:商户API密钥改了半小时
3:签名效验通过
4:下单参数顺序一样
5:redirec_url:这里url的字母L 是L的小写 还是i的大写
1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误
2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)
3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
4、确认参数的大小写,参数名与接口文档一致
5、签名原串的参数值使用原始值,不需要encode
6、接口需要使用UTF-8编码
7、调用“小程序支付API”中appid没有按照文档要求的格式
8、调用“小程序支付API”中signType类型与“统一下单接口”不一致
后台=>C#语言
1 code参数来源=> wx.login ({ success: res => { console.log ("获取登录code 成功")}})
2 openid参数来源=>String.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", j["appid"], j["secret"], code)
3 appid参数来源=>小程序平台appid
4 mch_id参数来源=>小程序绑定的商户平台mch_id
5 nonce_str参数来源=>32个大小写字母随机组成
6 body参数来源=>小程序首页标题 与 商品概述的组合 例如: “华科洋电子城” + “-” + “aa苏苏”
7 device_info参数来源=>WEB
8 trade_type参数来源=>JSAPI
9 total_fee参数来源=>1
10 spbill_create_ip参数来源=>
wx.request({// **************************************************************获取客户端IP地址
//注册账号网站:https://tianqiapi.com/user/index,通过注册获取以下URL所需的 appid 与 appsecret
url: 'https://tianqiapi.com/ip/?appid=67254623&appsecret=GdiLiAz4',
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
success: function (res) {
console.log(res.data.ip);
wx.setStorageSync("spbill_create_ip", res.data.ip);
}
});
11 notify_url参数来源=>https://www.whilebox.com/index1/payNotify