Java微信支付API文档测试
Java微信支付API文档测试(注意用的微信开发文档是什么支付)
本人用的刷卡支付( 之前看错了,一直在看扫码支付,心塞 ),如图
首先,做一系列准备,获取appid等等,可以写在一个配置文件里面,如图
获取配置文件的信息,可以写一个util,从类路径下读取属性文件,如下
import java.io.IOException;
import java.util.Properties;import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;public class WxpayConfigUtil {private static final Log LOG = LogFactory.getLog(WxpayConfigUtil.class);private static Properties properties = new Properties();static {try {// 从类路径下读取属性文件properties.load(WxpayConfigUtil.class.getClassLoader().getResourceAsStream("WxpayConfig.properties"));} catch (IOException e) {LOG.error(e);}}public static String readConfig(String key) {return (String) properties.get(key);}
}
其中支付、查询、退款、退款查询等需要用到WxPayConfig对应的方法,所以需要写一个实现WxPayConfig接口的配置文件,重写方法即可,如下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;import com.github.wxpay.sdk.WXPayConfig;public class WxConfig implements WXPayConfig{private boolean isSub = true;public Map<String, String> getMap(){Map<String, String> map = new HashMap<String, String>();if(isSub){map.put("sub_mch_id", this.getSubMchID());}return map;}public WxConfig() {}public WxConfig(boolean isSub) {this.isSub = isSub;}@Overridepublic String getAppID() {return WxpayConfigUtil.readConfig("APPID");}@Overridepublic String getMchID() {return WxpayConfigUtil.readConfig("MCHID");}public String getSubAppID(){return WxpayConfigUtil.readConfig("SUB_APPID");}public String getSubMchID(){return WxpayConfigUtil.readConfig("SUB_MCHID");}@Overridepublic String getKey() {return WxpayConfigUtil.readConfig("KEY");} @Overridepublic InputStream getCertStream() {FileInputStream fis = null;try {fis = new FileInputStream(new File(this.getClass().getClassLoader().getResource("XX.xx").getPath()));} catch (FileNotFoundException e) {e.printStackTrace();}return fis;}@Overridepublic int getHttpConnectTimeoutMs() {return 0;}@Overridepublic int getHttpReadTimeoutMs() {return 0;}}
准备工作算是好了,下面写第一个方法,刷卡支付
注意需要先定义一些属性,也可以不定义,之后每个方法都需要新创建对象
比如:
刷卡的方法,参数可以不用传这么多,传必要的就可以
注意,其中有数据可以乱写,但是要注意字数,ip地址是测试支付的手机ip等
然后,主函数内调用即可:
控制台就会返回相应的数据,然后微信就会弹出支付的窗口,支付即可。
根据刚才支付的结果可以查询订单,如下:
控制台会打印相应的数据(部分id没展示):
----------查询----------
{transaction_id=4200000186201808068346690710, trade_state=SUCCESS, bank_type=CFT, return_msg=OK, fee_type=CNY, cash_fee=1, out_trade_no=201808007496748980290321, total_fee=1, trade_state_desc=支付成功, trade_type=MICROPAY, result_code=SUCCESS, attach=, time_end=20180806172129, is_subscribe=N, return_code=SUCCESS}
同理,主函数进行测试即可,注意传入什么参数,怎么调用,最后得到什么结果(最近师傅给我说的)。
本人写给自己看的随笔,欢迎指出问题
Java微信支付API文档测试相关推荐
- Java支付宝支付API文档测试
首先登录支付宝开放平台,找到开发者中心的沙箱 创建沙箱环境,通过支付宝文档,获取支付宝公钥. 获取沙箱账号,卖家和买家,下载一个沙箱支付宝,可以进行测试 现在准备工作做好了,下面是代码测试,创建一个测 ...
- 一次性解决微信支付-JSAPI支付问题(想把微信支付JSAPI文档撰写者按在地上摩擦)
最近一个项目需要接入微信支付,所以在现有的项目中接入这个功能,但是最终发现,微信支付是个大坑,至少我认为微信支付文档的撰写者应该是小学水平,又或者是幼儿园水平,写文档的能力简直无语,很多关键性的细节居 ...
- XDoc 基于Java注释生成API文档
XDoc 基于Java注释生成API文档 <!--加入maven依赖--> <dependency><groupId>com.github.treeleafj< ...
- Java String类Api文档
String类APi文档 常用方法概述 比较相关 返回值类型 方法名 描述 boolean contentEquals() 将此字符串与指定的 StringBuffer 比较. boolean end ...
- Java:一个API文档框架Swagger
新建SpringBoot项目,添加依赖 <!-- Swagger2 --> <dependency><groupId>io.springfox</groupI ...
- java基础知识 API文档 字符串基本操作 正则表达式 Object
目录 JDK API 什么是JDK API JDk包结构 文档注释规范 文档注释 String及其常用API String是不可变对象 String常量池 内存编码及长度 String常用方法 Str ...
- java JDK1.8 API文档免费下载(中英文版)
JDK文档中文版和英文版 学习java怎么能缺少API帮助文档呢?经过我的不断搜寻,jdk1.8的中文版和英文版都给你们整理好了,不用谢,喜欢就关注我,我们一起学习. jdk1.8中文版 jdk1.8 ...
- java如何生成api文档_api文档自动生成工具
java开发,根据代码自动生成api接口文档工具,支持RESTful风格,今天我们来学一下api-doc的生成 预览 在线预览地址 开发原理 这个工具是一个典型的前后端分离开发的项目,想了解前后端分离 ...
- 微信公众号商城是否需要云服务器,云商城公众号绑定、微信支付配置文档
此文章是否解决了您的问题? 有帮助 没有解决问题 公众号绑定流程 第一步:登陆微信公众平台(https://mp.weixin.qq.com/) 通过账号密码管理员扫码验证登陆微信公众平台. 第二步: ...
最新文章
- nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型
- 1024,咱们程序员过节了,疯狂送书
- python批量删除特定字符_根据某个特定字符删除一行
- eclipse输入中文为繁体字
- 【Docker】docker-compose安装
- 在统计学中参数的含义是指_期刊论文中科研统计学缺陷分析及解决路径
- 网路流程图 TCP/IP
- 嵌入式Linux入门6:u-boot移植
- 威联通架设php网站_如何架设PHP服务器
- python---之suplot和suplots的区别
- Transformer的学习
- 微信JSAPI模式与浏览器类型安全访问
- 蓝桥杯2015年第六届C/C++省赛B组第三题-三羊献瑞
- 参加2009 ESRI年会的一点记录和感想
- 蓝墨云班课网页版下载资源文件
- 带你彻底搞懂Android启动速度优化!吐血整理
- Python挑战游戏( PythonChallenge)闯关之路Level- 6
- 【Ant Design】图标大全(网断专用)
- 国防科大计算机科学与技术专业排名,国防科技大学王牌专业排名
- 易语言 如何调用麦谈帮API接口?