https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3 现金发红包接口
已按照https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1 手动填入参数
#2.连接商户key:
act_name=3333321ss&client_ip=118.89.65.223&mch_billno=a0000000000000000001&mch_id=1529243621&nonce_str=905Qh0J59d69JjDtD7QkyRAm576kh5hU&re_openid=oiW0l03-60UfHJfo0olLt3wOLb0E&remark=111&remark=222dddd&send_name=111&sign_type=HMAC-SHA256&total_amount=100&total_num=1&wishing=2222&wxappid=wx7be0736b916a50f1&key=aVumz6nk2w9JE2HXwl5fwCV0711J5M9Q
sign=72BA838444C5CEF4225371AF0352BFE3EF59039C83A328D7B0E3FB5A23724CFD
得到最终XML结构
<xml>
<act_name><![CDATA[3333321ss]]></act_name>
<client_ip><![CDATA[118.89.65.223]]></client_ip>
<mch_billno><![CDATA[a0000000000000000001]]></mch_billno>
<mch_id><![CDATA[1529243621]]></mch_id>
<nonce_str><![CDATA[905Qh0J59d69JjDtD7QkyRAm576kh5hU]]></nonce_str>
<re_openid><![CDATA[oiW0l03-60UfHJfo0olLt3wOLb0E]]></re_openid>
<remark><![CDATA[111]]></remark>
<remark><![CDATA[222dddd]]></remark>
<send_name><![CDATA[111]]></send_name>
<sign_type><![CDATA[HMAC-SHA256]]></sign_type>
<total_amount><![CDATA[100]]></total_amount>
<total_num><![CDATA[1]]></total_num>
<wishing><![CDATA[2222]]></wishing>
<wxappid><![CDATA[wx7be0736b916a50f1]]></wxappid>
<sign>72BA838444C5CEF4225371AF0352BFE3EF59039C83A328D7B0E3FB5A23724CFD</sign>
</xml>
但是把该XML发送至接口提示签名错误.
已使用utf-8编码..测试MD5签名方式已成功.HMAC-SHA256失败
微信文档没有写清楚, 这里需要将API秘钥作为HMAC-SHA256的key来进行计算.
HMAC-SHA256 接收Key和Data
您好,应该是以下问题导致的:
1、没有使用商户平台设置的商户API密钥进行加密(有可能之前设置过密钥,后来被修改了,没有使用新的密钥进行加密)
2、加密前没有按照文档进行参数排序(可参考文档)
3、把值为空的参数也进行了签名。可到(http://mch.weixin.qq.com/wiki/tools/signverify/ )验证。
4、如果以上3步都没有问题,把请求串中(post的数据)里面中文都去掉,换成英文,试下,看看是否是编码问题。(post的数据要求是utf8)
请按照以下的几点进行排查:
1、到商户平台重新设置新的密钥后重试
2、检查请求参数把空格去掉重试
3、 中文不需要进行encode,使用CDATA
4、 按文档要求生成签名后再重试
在线签名验证工具:http://mch.weixin.qq.com/wiki/tools/signverify/
2.排序正确
3.无空参
4.无中文
5.http://mch.weixin.qq.com/wiki/tools/signverify/ 只能使用MD5签名.
2. 检查请求参数把空格去掉重试
3. 中文不需要进行encode,使用CDATA
4. 按文档要求生成签名后再重试
在线签名验证工具:http://mch.weixin.qq.com/wiki/tools/signverify/
MD5和HMAC-SHA256都是支持的。
2.参数无空格.
3.无中文.
4.http://mch.weixin.qq.com/wiki/tools/signverify/ 第三步只显示MD5 ,已添加参数sign_type=HMAC-SHA256
5.https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1 使用该工具生成XML 提示签名错误
-请求的具体API接口(提供文档地址和请求的URL):
- 问题发生时间【必填】:
- 商户号【 必填】:
- 商户订单号【 必填】:
- 相关报错信息文案【 必填】:
- 问题截图或视频【 必填】:
-完整的请求和返回参数以及单号【 必填】: