第一步:注册公众号,认证公众号,提交资料申请微信支付,在微信支付后台获取下面的内容(仅供参考有什么不对的地方大佬们可以留言提醒我改正)

appid:微信公众账号或开放平台APP的唯一标识

mch_id:商户号

key:商户密钥

第二步:到微信支付官网下载:SDK与DEMO下载

weixing.PNG

第三步:

1.解压导入项目
weixing.PNG
2.在com.github.wxpay.sdk里面新新建一个MyConfig的配置类

package com.github.wxpay.sdk;

import java.io.InputStream;
public class MyConfig extends WXPayConfig {
    @Override
    String getAppID() {
        return "**********";  // app的唯一表示
    }

    @Override
    String getMchID() {
        return "*********";  // 商户号
    }

    @Override
    String getKey() {
        return "********";  // 商户秘钥
    }

    @Override
    InputStream getCertStream() {
        return null;
    }

    @Override
    IWXPayDomain getWXPayDomain() {
        return new IWXPayDomain() {
            @Override
            public void report(String s, long l, Exception e) {

            }

            @Override
            public DomainInfo getDomain(WXPayConfig wxPayConfig) {

                // 微信支付接口 URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
                return new DomainInfo("api.mch.weixin.qq.com", true);
            }
        };
    }
}

3.测试类

public class test {
    public static void main(String[] args) throws Exception {

        // 1.1 创建配置类
        MyConfig myConfig=new MyConfig();
        // 1. 创建一个微信客户端
        WXPay wxPay=new WXPay(myConfig);


        // 根据官方文档 必填值封装数据
        // 文档地址  https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
        Map<String,String> map = new HashMap<String,String>();
        map.put("body", "测试");   // 商品描述
        map.put("out_trade_no", "176803499399"); // 商户订单ID
        map.put("total_fee", "1");          //标价金额 单位是分,代表1分钱。 (学习中不要设置别的值,毕竟都是钱)
        map.put("spbill_create_ip", "127.0.0.1");  //公网IP 学习中没有就写本地
        map.put("notify_url", "https://xinhuabbs.cn");  // 通知地址 回调地址
        map.put("trade_type", "NATIVE");  // 交易类型(详情见官方文档)

        // URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
        // 2. 进行支付
        Map<String, String> resultMap = wxPay.unifiedOrder(map);
        // 3. 返回结果
        // code_url=weixin://wxpay/bizpayurl?pr=f21q7E6 返回结果里用这个code_url的值 生成二维码就可以了。
        System.out.println(resultMap);
    }
}

返回结果:
返回结果
我把 :code_url=weixin://wxpay/bizpayurl?pr=f9MYKYF 取出来
放到任意一个二维码生成器生成二维码 就可以扫描支付了
(注意只需要weixin://wxpay/bizpayurl?pr=f9MYKYF)

效果

weixing.PNG

支付效果:

111.jpg
CC6368CA3808F6357A6B9108108849A0.png

如果喜欢就给楼主来一杯卡布奇洛吧!!