一、导入依赖

<!--微信支付-->
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>

二、创建测试类

/**
* @Author TeaBowl
* @Date 2021/1/31 14:57
* @Version 1.0
* 微信SDK相关测试
*/
public class WeixinUtilTest {
/**
* 1.生成随机字符串
* 2.Map转成XML字符串
* 3.将Map转成XML字符串,并带有签名
* 4.将XML字符串转成Map集合
*/
@Test
public void testDemo() throws Exception {
//生成随机字符串
String s = WXPayUtil.generateNonceStr();
//随机字符串:dfd7e3bd2e964f6ca043dfc1bcbc1cd1
System.out.println("随机字符串:" + s); //将Map转成XML字符串
//创建集合
Map<String, String> map = new HashMap<>();
//为map集合填充数据
map.put("id", "No.001");
map.put("title", "茶碗儿");
map.put("money", "10000");
//将Map转成XML字符串
String xmlStr = WXPayUtil.mapToXml(map);
/**
* XML字符串:
* <?xml version="1.0" encoding="UTF-8" standalone="no"?>
* <xml>
* <money>10000</money>
* <id>No.001</id>
* <title>茶碗儿</title>
* </xml>
*/
System.out.println("XML字符串:\n"+xmlStr); //将Map转成XML字符串,并带有签名
//密钥:chawaner
String signedXml = WXPayUtil.generateSignedXml(map, "chawaner");
/**
* 带有签名的xml字符串:
* <?xml version="1.0" encoding="UTF-8" standalone="no"?>
* <xml>
* <money>10000</money>
* <sign>82DE31EBDB80299951C86E01593C25C2</sign> 签名
* <id>No.001</id>
* <title>茶碗儿</title>
* </xml>
*/
System.out.println("带有签名的xml字符串:\n"+signedXml); //将XML字符串转成Map集合
Map<String, String> xmlToMapStr = WXPayUtil.xmlToMap(signedXml);
/**
* xml转成Map集合:
* {money=10000, sign=82DE31EBDB80299951C86E01593C25C2, id=No.001, title=茶碗儿}
*/
System.out.println("xml转成Map集合:\n"+xmlToMapStr);
}
}
微信SDK主要作用是数据封装。

最新文章

  1. 【BZOJ 3527】【ZJOI 2014】力
  2. [Spring MVC] - SpringMVC的各种参数绑定方式
  3. WPF socket通讯 UDP接收消息
  4. linux中的namespace
  5. poj 1226
  6. web.config configSections自定义section
  7. ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解
  8. hdu 1075 What Are You Talking About(字典树)
  9. 使用非 GUI 模式运行 JMeter 压力测试
  10. html、text、val、attr、prop区别。this.value和$(this).val()区别以及return用法
  11. spring mvc 整合Quartz
  12. C语言之鞍点的查找
  13. hover如何在移动浏览器上触发
  14. Java File类与文件IO流总结
  15. 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回
  16. while(~scanf(..))为什么可以这样写
  17. DateTime时间格式转换为Unix时间戳格式
  18. SQL SERVER 2008 R2安装的时候提示“该实例名称MSSQLSERVER已在使用
  19. u-boot2010.06移植阶段三--norflash驱动
  20. 非常可乐(杭电hdu1495)bfs

热门文章

  1. Mysql:mysql5.7长时间不连接失效问题
  2. 在ubuntu16下编译openJDK11
  3. ExtJs4学习(四):Extjs 中id与itemId的区别
  4. centos7 php开发环境安装-composer
  5. Git错误:unable to access &#39;https://git.voicegu.com/qa/qa.git/&#39;: SSL certificate problem: unable to get local issuer certificate
  6. clickhouse分布式集群
  7. C语言中函数的返回值
  8. SpringBoot总结之属性配置
  9. Python_结合Re正则模块爬虫
  10. mybatis-3-核心配置文件