posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

 

一、 微信支付申请


第一步:注册公众号(类型须为:服务号)

请根据营业执照类型选择以下主体注册:个体工商户| 企业/公司| 政府 | 媒体 | 其他类型

第二步:认证公众号

公众号认证后才可申请微信支付。

第三步:提交资料申请微信支付

登录公众平台,点击左侧菜单【微信支付】,开始填写资料等待审核,审核时间为1-5个工作日内。

第四步:开户成功,登录商户平台进行验证

资料审核通过后,请登录联系人邮箱查收商户号和密码,并登录商户平台填写财付通备付金打的小额资金数额,完成账户验证。

第五步:在线签署协议

本协议为线上电子协议,签署后方可进行交易及资金结算,签署完立即生效。

完成上述步骤,你可以得到调用API用到的账号和密钥:

appid:微信公众账号或开放平台APP的唯一标识 wx8397f8696b538317
mch_id:商户号 1473426802
key:商户密钥 T6m9iK73b0kn9g5v426MKfHQH7X8rKwb

微信支付文档:https://pay.weixin.qq.com/doc/v3/merchant/4012791874

微信SDK:https://pay.weixin.qq.com/doc/v3/merchant/4012076498

二、 微信支付开发文档与SDK


在线微信支付开发文档:

https://pay.weixin.qq.com/wiki/doc/api/index.html

微信支付接口调用的整体思路:

  按API要求组装参数,以XML方式发送(POST)给微信支付接口(URL),微信支付接口也是以XML方式给予响应。程序根据返回的结果(其中包括支付URL)生成二维码或判断订单状态。

  我们解压从官网下载的sdk ,安装到本地仓库

  com.github.wxpay.sdk.WXPay类下提供了对应的方法:

方法名 说明
microPay  刷卡支付
unifiedOrder  统一下单
orderQuery  查询订单
reverse  撤销订单
closeOrder  关闭订单
refund  申请退款
refundQuery  查询退款
downloadBill  下载对账单
report  交易保障
shortUrl  转换短链接
authCodeToOpenid  授权码查询openid

 

三、 统一下单API


  统一下单:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1

  步骤1:新建工程,引入微信支付Api

复制代码
 <dependency>
    <groupId>com.github.wxpay</groupId>
    <artifactId>wxpay-sdk</artifactId>
    <version>3.0.9</version>
</dependency>
  <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.3</version>
    </dependency><dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.24</version>
    </dependency>
复制代码

 

 

步骤2:创建com.github.wxpay.sdk包,包下创建MyConfig类 ,继承自抽象类WXPayConfig

 

复制代码
public class MyConfig extends WXPayConfig {
    String getAppID() {
        return "wx8397f8696b538317";
    }
​
    String getMchID() {
        return "1473426802";
    }
​
    String getKey() {
        return "T6m9iK73b0kn9g5v426MKfHQH7X8rKwb";
    }
​
    InputStream getCertStream() {
        return null;
    }
​
    IWXPayDomain getWXPayDomain() {
        return new IWXPayDomain() {
            public void report(String domain, long elapsedTimeMillis, Exception ex) {
​
            }
            public DomainInfo getDomain(WXPayConfig config) {
                return new DomainInfo("api.mch.weixin.qq.com",true);
            }
        };
    }
}
复制代码

 

步骤3:创建测试类,编写代码

复制代码
MyConfig config=new MyConfig();
WXPay wxPay=new WXPay( config );
​
Map<String,String> map=new HashMap();
map.put("body","商城");//商品描述
map.put("out_trade_no","55555211");//订单号
map.put("total_fee","1");//金额
map.put("spbill_create_ip","127.0.0.1");//终端IP
map.put("notify_url","http://www.baidu.com");//回调地址
map.put("trade_type","NATIVE");//交易类型
​
Map<String, String> result = wxPay.unifiedOrder( map );
System.out.println(result);
复制代码

 


执行后返回结果

{nonce_str=fvMGIlLauUPNCtws, code_url=weixin://wxpay/bizpayurl?pr=I5sd2rc, appid=wx8397f8696b538317, 
sign=48B2938F70EDADC9CC235249BC085FD1D83456F67C46601FFD23B5AFBDA502D0, 
trade_type=NATIVE, return_msg=OK, result_code=SUCCESS, mch_id=1473426802, return_code=SUCCESS, 
prepay_id=wx17193859685440d561c4cef01259098400}

 


其中的code_url就是我们的支付URl ,我们可以根据这个URl 生成支付二维码

 

四、 生成支付二维码


二维码JS插件- QRcode.js:
  QRCode.js 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库。支持该库的浏览器有:IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile, 等

  我们看一下静态原型wxpay.html中的代码,显示二维码的地方放置,然后编写脚本

<script src="js/plugins/qrcode.min.js" ></script>
<script type="text/javascript">
let qrcode = new QRCode(document.getElementById("qrcode"), {
    width : 200,
    height : 200
});
qrcode.makeCode("weixin://wxpay/bizpayurl?pr=Y3hDTZy");
</script>

 

posted on   努力--坚持  阅读(5)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示