您的位置:首页 > 移动开发 > 微信开发

微信支付——支付签名验证失败的坑

2018-01-11 00:25 260 查看

只讲几个微信支付开发中的签名问题!(JAVA版的公众号支付)

在调起支付页面时,就会要你自己生成2个sign(建议全部用MD5):
第一个是获取订单数据时生成,然后通过这些数据生成预支付订单(通过 统一下单 方法取得),微信官方返回一串xml数据,告诉你是否成功。
第二个是需要把数据传给前端调起支付页面的,(此处注意看文档的字段,key值也要和他的一直,sign是取得签名后再赋给map做paySign)——我是在此处犯错
如果你是用官方的demo,就去修改WXPay.java ,注意如果是正式环境也用md5

public WXPay(final WXPayConfig config, final String notifyUrl, final boolean autoReport, final boolean useSandbox) throws Exception {
        this.config = config;
        this.notifyUrl = notifyUrl;
        this.autoReport = autoReport;
        this.useSandbox = useSandbox;
        if (useSandbox) {
            this.signType = SignType.MD5; // 沙箱环境
        }
        else {
            this.signType = SignType.MD5;//!!!此处原来不是MD5
        }
        this.wxPayRequest = new WXPayRequest(config);
    },

解决方法的地址:http://bbs.csdn.net/wap/topics/391882172?from=singlemessage&isappinstalled=0   的17楼评论
还有域名最好是经过备案的,还有一个证书要验证,在这里我要吐槽一下:官方的三大语言版本的Demo,PHP版的改一下几个参数就可以了,JAVA版的只有十几个类文件是什么意思??????开发者密匙也不在configIpm里声明,获取来者IP方法也没有!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐