微信支付遇到的坑们

1、报调用jsapi缺少参数key0
是因为我调用的xml转换方法里面,会莫名其妙的把名称里面的nonce_str下划线换成nonce__str这样。这个xml方法为

     /**
     * 扩展xstream使其支持CDATA
     */
    private static XStream xstream = new XStream(new XppDriver() {
        public HierarchicalStreamWriter createWriter(Writer out) {
            return new PrettyPrintWriter(out) {
                // 增加CDATA标记
                boolean cdata = false;

                @SuppressWarnings("rawtypes")
                public void startNode(String name, Class clazz) {
                    super.startNode(name, clazz);
                }

                protected void writeText(QuickWriter writer, String text) {
                    if (cdata) {
                        writer.write("<![CDATA[");
                        writer.write(text);
                        writer.write("]]>");
                    } else {
                        writer.write(text);
                    }
                }
            };
        }
    });
    调用方式为
    xstream.alias("xml", 某个类实体类如User.getClass());
    String  = xstream.toXML(某个类实体类如User);

2、统一下单接口成功后,调用getBrandWCPayRequest 这个前台接口,报 “签名验证失败”,这里要注意传入参数的大小写、以及生成签名的时候,传入参数的顺序。

原文地址:https://www.cnblogs.com/tongdengquan/p/6090492.html