收藏
回答

微信退款,退款原因出现中文会提示签名错误!

if(StringUtils.isNotEmpty(refundOrder.getReason())){
    byte[] bs = refundOrder.getReason().getBytes();
    try{
        requestInfoBean.setRefundDesc(new String(bs, "UTF-8"));
    }catch (UnsupportedEncodingException e){
        e.printStackTrace();
    }
}

已经UTF-8处理过了还是不行,我的IDEA全局编码设置也是UTF-8,请问有其他解决方式吗?

回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-02-28

    如果确认是中文引起的。建议仔细核对编码即可。但不一定是编码引起的,因为签名错误,也可能是你的参数有不符合文档的地方。先用验证工具验证一下签名参数。

    2020-02-28
    有用
    回复
  • null
    null
    2020-02-27

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    <xml>

    <appid>*******</appid>

    <mch_id>*******</mch_id>

    <nonce_str>AkaRqtCY3e4aCgFY</nonce_str>

    <sign>28DE1F4BE5F83FD0483D825AB21BB188</sign>

    <sign_type>MD5</sign_type>

    <transaction_id>4200000521202002273978729580</transaction_id>

    <out_refund_no>1000001382357603</out_refund_no>

    <total_fee>1</total_fee>

    <refund_fee>1</refund_fee>

    <refund_fee_type>CNY</refund_fee_type>

    <refund_desc>商品故障</refund_desc>

    </xml>

    这是生成的参数

    2020-02-27
    有用
    回复 2
登录 后发表内容
问题标签