对hash签名失败_微信现金红包签名失败问题

这两天做微信现金红包,返回数据总是提示签名错误,我自己生成的签名和微信提供的签名验证接口生产的一模一样 ,API密钥也没有错,就是不知道什么问题,网上查了一圈,发现是微信文档有点坑,参数一定要按照下面的顺序生产签名才可以,对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)

act_name

client_ip

mch_billno

mch_id

nonce_str

re_openid

remark

send_name

total_amount

total_num

wishing

wxappid

sign

下面是部分代码

Map map = new LinkedHashMap();

//生成签名

map.put("act_name", sendRedPack.getAct_name());

map.put("client_ip", sendRedPack.getClient_ip());

map.put("mch_billno", sendRedPack.getMch_billno());

map.put("mch_id", sendRedPack.getMch_id());

map.put("nonce_str", sendRedPack.getNonce_str());

map.put("re_openid", sendRedPack.getRe_openid());

map.put("remark", sendRedPack.getRemark());

map.put("send_name", sendRedPack.getSend_name());

map.put("total_amount", sendRedPack.getTotal_amount());

map.put("total_num", sendRedPack.getTotal_num());

map.put("wishing", sendRedPack.getWishing());

map.put("wxappid", sendRedPack.getWxappid());

String sign = WXPayUtil.generateSignature(map, key); //采用Md5签名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值