先去maven 搜索wxpay 依赖

网址:https://mvnrepository.com/search?q=mybatis-plus

(因为是国外网址,有时候进入很慢甚至进不去)

进去的话 搜索wxpay 第一个 就是 选择最新的0 0 3 就是下面这个 添加到pom文件

<dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version>
</dependency>

这样微信支付的依赖 就导入进来了。

正文(最下面全部代码)

(解释都在代码块里)

第一步 new WXPay

WXPay wxPay = new WXPay();

第二步 调用WXPay里的unifiedOrder 需要往unifiedOrder方法里参数

//向微信平台发送数据
wxPay.unifiedOrder();

第三步 new 个 hashMap 为了给unifiedOrder 制造参数

HashMap<String, String> date = new HashMap<>();date.put("body","薯片" );date.put("out_trade_no",noid );date.put("fee_type","CNY" );date.put("total_fee","9999" );date.put("trade_type","NATIVE" );date.put("notify_url","/wxpay/success" );

调用方法 穿参返回值也是hashmap

 Map<String, String> resp = wxPay.unifiedOrder(date);

接着   需要实现wxpay的接口 WXPayConfig

实现后  只改前三个return 改成你的appid 账户号 秘钥

public class MyPayConfig implements WXPayConfig {@Overridepublic String getAppID() {//输入你申请的appidreturn "appid";}@Overridepublic String getMchID() {return "MchID";}@Overridepublic String getKey() {return "秘钥";}@Overridepublic InputStream getCertStream() {return null;}@Overridepublic int getHttpConnectTimeoutMs() {return 0;}@Overridepublic int getHttpReadTimeoutMs() {return 0;}}

第四步 直接在wxpay 里 new 你刚实现的类

 WXPay wxPay = new WXPay(new MyPayConfig());

```这样把微信支付所需要的参数 全部用unifiedOrder方法传了过去

  @PostMapping("/add")public void add(@Param("noid")String noid) {
//      String noid = "1231234561";//微信支付提供对象       //看第三步WXPay wxPay = new WXPay(new MyPayConfig());try {HashMap<String, String> date = new HashMap<>();date.put("body","薯片" );date.put("out_trade_no",noid );date.put("fee_type","CNY" );date.put("total_fee","9999" );date.put("trade_type","NATIVE" );date.put("notify_url","/wxpay/success" );//接受数据      //向微信凭条发送数据Map<String, String> resp = wxPay.unifiedOrder(date);System.out.println(resp);//二维码网址System.out.println(resp.get("code_url"));} catch (Exception e) {e.printStackTrace();}}

接收 resp 里面会有一个code_url 是一个网址

访问接口就出现了 code_url=weixin://wxpay/bizpayurl?pr=RJfmwo4zz

放到二维码生成器

就可以扫码了  二维码违规 就不放了

有了url 接着就是生成二维码

1.导入依赖

<!-- 导入zxing的依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.2.1</version></dependency>

2.新建类,封装方法

package com.ruoyi.ydwz.domain.wx;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Hashtable;public class zxing {public void ewm(String trl) {//二维码宽度int width=300;//二维码高度int height=300;//定义二维码图片格式String format="png";//定义二维码属性Hashtable<EncodeHintType,String> his=new Hashtable<EncodeHintType,String>();//二维码内容的编码格式his.put(EncodeHintType.CHARACTER_SET,"utf-8");//定义二维码边距his.put(EncodeHintType.MARGIN,"1");//创建位矩阵对象并且生成二维码对应的位矩阵对象//BarcodeFormat.QR_CODE  生成图片类型为QRCodeBitMatrix bitMatrix= null;try {bitMatrix = new MultiFormatWriter().encode(trl, BarcodeFormat.QR_CODE,width,height);} catch (WriterException e) {e.printStackTrace();}//二维码生成路径String path="D:\\";//二维码生成名字String name="myBlog.png";Path path2= Paths.get(path,name);//生成二维码try {MatrixToImageWriter.writeToPath(bitMatrix, format, path2);} catch (IOException e) {e.printStackTrace();}System.out.println("二维码生成成功");}}

3.去wx支付调用

支付+二维码 全部代码

package com.ruoyi.ydwz.domain.wx;import com.github.wxpay.sdk.WXPay;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;@RequestMapping("/wxpay")
@RestController
public class wxc {@PostMapping("/success")public void success() {}@PostMapping("/add")public void add(@Param("noid")String noid) {
//        String noid = "1231234561";WXPay wxPay = new WXPay(new MyPayConfig());try {HashMap<String, String> date = new HashMap<>();date.put("body","薯片" );date.put("out_trade_no",noid );date.put("fee_type","CNY" );date.put("total_fee","9999" );date.put("trade_type","NATIVE" );date.put("notify_url","/wxpay/success" );Map<String, String> resp = wxPay.unifiedOrder(date);System.out.println(resp);System.out.println(resp.get("code_url"));//新建类zxing zxing = new zxing();//掉方法  传入地址  自动生成二维码zxing.ewm(resp.get("code_url"));} catch (Exception e) {e.printStackTrace();}}}

java 微信支付 NATIVE + 生成二维码相关推荐

  1. 微信支付返回支付链接生成二维码问题

    微信支付返回的二维码格式为: weixin://wxpay/bizpayurl?pr= <img id="qrcodestr" src="{wechatUrl}&q ...

  2. 微信扫码登录,微信公众号生成二维码,关注登录nodejs+vue

    微信公众号生成二维码,关注后扫码登录 技术栈为nodejs+vue 有不懂的可以加我微信yizheng369 1.效果 初始: 关注后: 2.源码 此项目为前后端分离项目,前后端代码都在这个仓库里, ...

  3. java实现后台直接生成二维码图片并直接上传到七牛云上面

    java实现后台直接生成二维码图片并直接上传到七牛云上面 需求:后台是直接根据唯一核销码生成图片,然后的话直接上传到七牛云,数据库只是保存地址,一开始也想错了,想成了创建临时文件存储生成的图片再上传到 ...

  4. java在底图上生成二维码以及文字

    java在底图上生成二维码以及文字 1.添加依赖 <dependency><groupId>cn.hutool</groupId><artifactId> ...

  5. 微信扫码支付与生成二维码

    二维码 (1) 容错级别 L级(低) 7%的码字可以被恢复. M级(中) 的码字的15%可以被恢复. Q级(四分)的码字的25%可以被恢复. H级(高) 的码字的30%可以被恢复. (2) 二维码生成 ...

  6. Java(Spring boot)实现生成二维码

    文章目录 一.引入spring boot依赖: 二.工具类代码: 三.调用工具类生成二维码 1.将链接生成二维码图片并保存到指定路径 2.将链接生成二维码直接显示在页面 3.将以get请求传参链接生成 ...

  7. java 根据指定链接生成二维码

    需求: 就是需要把一个报告网址链接生成二维码,然后渲染在报告中,扫描二维码的时候能访问到这个报告,效果就达到了 1.首先提前需要添加的maven依赖 <!-- https://mvnreposi ...

  8. 微信公众平台生成二维码海报是如何做到的?

    实现微信公众号里面点击子菜单生成带有粉丝二维码的海报 关注微信服务号自动生成二维码海报 发送关键词到公众号生成带有粉丝头像昵称的海报二维码 1.从微号帮平台我的公众号 功能管理 2.生成海报二维码 海 ...

  9. java 简单快速的生成二维码(带图片)

    **使用java+zxing 简单快速的生成二维码.** 效果图: 首先需要引入两个jar文件: <dependency><groupId>commons-codec</ ...

  10. JAVA使用ZPL命令生成二维码

    1.将生成二维码的命令放在一个txt文件中 命令如下: ^XA^PMY #开启镜像 ^JMB #设置打印机每毫秒打印点数 ^FO250,175 #设置显示字母位置 ^CF0,60 #设置字体大小 ^F ...

最新文章

  1. 深入了解volatile
  2. 一次完整的HTTP事务是怎样一个过程
  3. c语言冒泡法加逗号,Ubuntu 10.04 LTS 无法添加计算机的问题
  4. 《C++ Primer Plus》读书笔记之七—内存模型和名称空间
  5. SQL Server中的MTVF和CE模型变化
  6. Selenium与Cypress的比较
  7. 23. 变量、作用域和内存问题
  8. grub2 引导光盘
  9. Atitit 命令行执行springboot程序 目录 1.1. 执行spel表达式,调用app main,获取context 1 1.2. 直接在Application main函数内执行 1
  10. Android开发--MVP demo+Jsoup在线小说阅读器(一)
  11. 自然辩证法与计算机科学的关系,自然辩证法和科学技术有什么关系
  12. 力扣随机数randX——透过现象看本质之二元独立随机分布
  13. 一体化3团队项目记录
  14. MySQL增删改查及备份恢复
  15. vue 移动端拨打电话
  16. 机器学习十大算法之贝叶斯算法
  17. 运维实操——日志分析系统ELK(中)之logstash采集数据、伪装rsyslog、多行过滤、grok切片
  18. c++ 取整之ceil、floor、round、fix用法
  19. 手工清除AUTO病毒
  20. 图谱实战 | 10 个前沿落地应用案例分享(附下载)

热门文章

  1. 图形桌面与命令行模式相关切换快捷键
  2. 【多元统计分析及R语言建模】【详解】因子分析法综合应用(教材P271页表9-4): 1. 计算样本相关系数矩阵R、特征根、特征向量。2. 确定因子的个数,并解释这些因子的含义。计算各因子得分并解释
  3. 三级等保成标配,互联网医院安全架构报告发布
  4. spoj COT COT2
  5. python语音聊天_语音聊天实现
  6. ORACLE-检查约束(check)
  7. MySQL基础查询语句练习题
  8. php随机经纬度,PHP轻松实现附近的人功能,根据IP确定经纬度,根据经纬度计算距离...
  9. html怎么做左侧广告,网站横幅怎么制作,html横幅广告代码
  10. 1 遥感图像处理之存储格式BSQ/BIL/BIP