java微信支付集成文档_Java微信支付API文档测试-Go语言中文社区

Java微信支付API文档测试(注意用的微信开发文档是什么支付)

本人用的刷卡支付( 之前看错了,一直在看扫码支付,心塞 ),如图

266ee7a6f8fa74ff6928ad77d0c4198d.png

首先,做一系列准备,获取appid等等,可以写在一个配置文件里面,如图

6fa7892961ff3b12f61f919b22d1188b.png

获取配置文件的信息,可以写一个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 getMap(){

Map map = new HashMap();

if(isSub){

map.put("sub_mch_id", this.getSubMchID());

}

return map;

}

public WxConfig() {

}

public WxConfig(boolean isSub) {

this.isSub = isSub;

}

@Override

public String getAppID() {

return WxpayConfigUtil.readConfig("APPID");

}

@Override

public String getMchID() {

return WxpayConfigUtil.readConfig("MCHID");

}

public String getSubAppID(){

return WxpayConfigUtil.readConfig("SUB_APPID");

}

public String getSubMchID(){

return WxpayConfigUtil.readConfig("SUB_MCHID");

}

@Override

public String getKey() {

return WxpayConfigUtil.readConfig("KEY");

}

@Override

public 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;

}

@Override

public int getHttpConnectTimeoutMs() {

return 0;

}

@Override

public int getHttpReadTimeoutMs() {

return 0;

}

}

准备工作算是好了,下面写第一个方法,刷卡支付

注意需要先定义一些属性,也可以不定义,之后每个方法都需要新创建对象

比如:

bc0c1a5f1d52df89331133ebec39aa78.png

刷卡的方法,参数可以不用传这么多,传必要的就可以

23bfc17ca5b3b42f930fe87df2ebad69.png

注意,其中有数据可以乱写,但是要注意字数,ip地址是测试支付的手机ip等

然后,主函数内调用即可:

1a2d828dfb6cb8c72f6bea4da2fa78a1.png

控制台就会返回相应的数据,然后微信就会弹出支付的窗口,支付即可。

根据刚才支付的结果可以查询订单,如下:

5b2291ef81c9b7b85f6a5bfb7c4c652f.png

控制台会打印相应的数据(部分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}

同理,主函数进行测试即可,注意传入什么参数,怎么调用,最后得到什么结果(最近师傅给我说的)。

本人写给自己看的随笔,欢迎指出问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值