微信支付。开通了红包功能。使用API进行发送。接口的参数 和在线的校验网页计算的SIGN是一模一样。
仍然提示签名错误。必须连续交易达30天才可以接口发送红包吗?
发送之前拼接好的参数 包含SIGN
<xml> <sign>432DCD7DB8059B651065025C849A9E96</sign> <mch_billno>1373020202201943285174618062</mch_billno> <mch_id>1373020202</mch_id> <wxappid>wx9b14c544624ae5ca</wxappid> <send_name>红包</send_name> <re_openid>oO9mBwW1gpUZlj5JHuTq2J2bZS0s</re_openid> <total_amount>100</total_amount> <total_num>1</total_num> <wishing>红包</wishing> <client_ip>127.0.0.1</client_ip> <act_name>红包</act_name> <remark>红包</remark> <nonce_str>xua0nht4y1suqcsd1t46x9xj</nonce_str> </xml> |
在线网页校验工具
#1.对参数按照key=value的格式,并按照参数名ASCII字典序排序生成字符串: act_name=红包&client_ip=127.0.0.1&mch_billno=1373020202201943285174618062&mch_id=1373020202&nonce_str=xua0nht4y1suqcsd1t46x9xj&re_openid=oO9mBwW1gpUZlj5JHuTq2J2bZS0s&remark=红包&send_name=红包&total_amount=100&total_num=1&wishing=红包&wxappid=wx9b14c544624ae5ca #2.连接商户key: act_name=红包&client_ip=127.0.0.1&mch_billno=1373020202201943285174618062&mch_id=1373020202&nonce_str=xua0nht4y1suqcsd1t46x9xj&re_openid=oO9mBwW1gpUZlj5JHuTq2J2bZS0s&remark=红包&send_name=红包&total_amount=100&total_num=1&wishing=红包&wxappid=wx9b14c544624ae5ca&key=apikey就不显示了 #3.生成sign并转成大写: sign=432DCD7DB8059B651065025C849A9E96 #4.校验结果: 原sign值:432DCD7DB8059B651065025C849A9E96 新sign值:432DCD7DB8059B651065025C849A9E96 校验通过 |
接口返回
< xml > < return_code > <![CDATA[SUCCESS]]> </ return_code > < return_msg > <![CDATA[签名错误]]> </ return_msg > < result_code > <![CDATA[FAIL]]> </ result_code > < err_code > <![CDATA[SIGN_ERROR]]> </ err_code > < err_code_des > <![CDATA[签名错误]]> </ err_code_des > < mch_billno > <![CDATA[1373020202201943285174618062]]> </ mch_billno > < mch_id > <![CDATA[1373020202]]> </ mch_id > < wxappid > <![CDATA[wx9b14c544624ae5ca]]> </ wxappid > < re_openid > <![CDATA[oO9mBwW1gpUZlj5JHuTq2J2bZS0s]]> </ re_openid > < total_amount >100</ total_amount > </ xml > |
请问一下,微信发红包接口有个人对个人的吗
连续交易达30天这个是必须条件吗?你是技术吗?
您好, 根据监管要求,新申请商户号使用现金红包需要满足两个条件:1、入驻时间超过90天 2、连续正常交易30天。 是必须条件。
您的权限是开通过的。
您好,可能存在的原因:
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/
必填参数。计算方式都是按文档来的。计算的SIGN和网页计算也是一模一样的。
API密钥 是没错的。支付都是没问题的。
建议官方人员看仔细点再回复。
您好,请提供一下您的支付key。