Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d650bb6
:art: 抽取公共代码
binarywang May 25, 2020
8bb6b02
:art: #1580 企业微信成员信息里性别字段枚举类增加0值
binarywang May 25, 2020
7b641e7
:art: 小程序 Spring Boot Starter 模块优化重构
binarywang May 25, 2020
edf1401
:art: #1583 企业微信读取成员接口增加返回字段:main_department
Ricky-dgs May 26, 2020
da0ce15
:art: #1585 微信支付结果异步通知的解析方法增加可以自行指定signType的重载方法
binarywang May 26, 2020
b95045b
:bug: 修复错误代码
binarywang May 28, 2020
eb6a578
:art: 规范优化部分代码
binarywang May 28, 2020
1720e51
:art: 微信现金红包发送接口信息处理优化,针对处理中的变态错误信息不抛出异常
binarywang May 30, 2020
6e2babd
:art: 规范优化部分代码
binarywang May 30, 2020
17aaba2
:art: 微信模版消息行业获取的代码优化
binarywang May 30, 2020
0a2e4d8
:bookmark: 发布 3.8.1.1.B 测试版本
binarywang May 30, 2020
2446fa6
:art: #1592 实现简单的redis分布式锁 RedisTemplateSimpleDistributedLock
lkqm May 31, 2020
6c3d090
:bug: #1582 use lock.tryLock() to avoid waiting for locks for a long …
lkqm May 31, 2020
1c60839
:art: #571 微信小程序接口请求增加多种http客户端
lkqm Jun 1, 2020
b52e676
:bug: #1600 修复无法切换到初始公众号配置的问题并完善了removeConfigStorage方法
rain7fine11 Jun 3, 2020
f14b33a
:art: #1599 企业微信获取打卡数据接口返回类增加打卡设备id字段
binarywang Jun 4, 2020
9341419
:art: 规范部分代码
binarywang Jun 6, 2020
ddbeda4
:art: 重构补充部分单元测试代码
binarywang Jun 6, 2020
a2f5452
:art: 规范部分代码,增加javadoc
binarywang Jun 7, 2020
58b2617
Merge branch 'master' into develop
binarywang Jun 7, 2020
92c0fd6
:new: #1529 微信支付退款增加支持单品退款和对应查询的接口
binarywang Jun 7, 2020
8467852
:bug: #1608 修复企业微信外部联系人群列表错误参数
EverEcho Jun 7, 2020
0f8361e
:art: 优化部分代码
binarywang Jun 7, 2020
03d9f2d
:bookmark: 发布 3.8.2.B 测试版本
binarywang Jun 7, 2020
a81550f
:art: 优化部分代码
binarywang Jun 11, 2020
29b4dbd
:art: #1610 换用guava的相应方法实现base64解码,避免因commons-codec版本问题导致解码异常
binarywang Jun 11, 2020
3b37f52
#1620 :art: 公众号模块配置类增加Redisson的实现
wuxingye Jun 15, 2020
8256c46
:art: #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题
binarywang Jun 15, 2020
2769f50
Merge branch 'master' into develop
binarywang Jun 16, 2020
1ae00b6
:art: 优化单元测试
binarywang Jun 16, 2020
320f367
:art: #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题
binarywang Jun 16, 2020
c2034cb
:art: #1624 企业微信模块更新用户信息相关接口类以适应企业微信私有化版本
sdlszjb Jun 17, 2020
a0c370b
:art: #1627 优化小程序starter,避免依赖jedis
miemieYaho Jun 18, 2020
ba33c9a
:bookmark: 发布 3.8.3.B 测试版本
binarywang Jun 18, 2020
4d44398
:bug: #1649 修复小程序直播间列表接口出现 require https hints 的问题
taneg Jun 30, 2020
eec3f78
:bug: #1653 修复SDK扫码登录签名算法获取 Ticket时的type参数值
CharismaYU Jun 30, 2020
c60fda4
:new: #1651 添加小程序直播间商品相关操作接口
lipengjun92 Jun 30, 2020
a00d67a
:art: 优化规范部分代码
binarywang Jun 30, 2020
7d20aa1
:art: 清理部分冗余代码
binarywang Jun 30, 2020
b755694
:art: #1647 优化公众号redis配置支持,去掉容易导致问题的构造方法
binarywang Jul 2, 2020
978ada7
:new: #1527 微信小程序增加OCR身份证识别和银行卡识别等接口
binarywang Jul 5, 2020
8121a52
:bookmark: 发布 3.8.4.B 测试版本
binarywang Jul 5, 2020
0adca96
:art: #1659 Json解析统一优化
niefy Jul 6, 2020
10c4d45
:art: #1647 优化小程序redis配置支持,去掉容易导致问题的构造方法
binarywang Jul 7, 2020
1650ee2
:art: 修复小程序直播接口获取不到部分字段值的问题
binarywang Jul 7, 2020
b93169e
:bug: #1664 企业微信修复获取联系客户统计数据接口的错误字段:negative_fee_back_cnt
binarywang Jul 10, 2020
4ab5080
:art: 优化代码
binarywang Jul 11, 2020
03c143b
:bookmark: 发布 3.8.5.B 测试版本
binarywang Jul 11, 2020
7c0a38e
:new: #1668 企业微信增加外部联系人发送消息的接口
deanwong Jul 15, 2020
56a271c
:art: #1671 优化微信支付回调通知验证签名的代码
binarywang Jul 16, 2020
3b8c66a
:art: 规范lock.lock()代码,统一放在try代码块之外
arbing Jul 17, 2020
f6f4b89
:new: #1641 企业微信增加OA提交审批申请的接口
binarywang Jul 18, 2020
11974f0
:art: 会员卡相关bean类重构,集中到同一包中
binarywang Jul 18, 2020
4d14409
:bookmark: 发布 3.8.6.B 测试版本
binarywang Jul 19, 2020
04fb35d
:bug: #1604 修复微信开放平台帐号管理相关接口,使用指定appId的access_token
whhya Jul 21, 2020
0758049
:new: #1474 企业微信新增客户联系「联系我」管理接口 修正 / #1590 开放平台刷新AccessToken同步更新Refr…
forfuns Jul 21, 2020
694f2c2
:new: #1493 企业微信增加管理企业客户标签的相关接口
huangxm129 Jul 26, 2020
fbe2dd9
:art: 优化企业微信部分代码
binarywang Jul 26, 2020
6a27b83
:bug: 修复公众号和小程序的OCR相关接口请求方式为post
binarywang Jul 26, 2020
fa24f78
:art: 优化企业微信部分代码
binarywang Jul 26, 2020
7ef9e91
:bug: 修复一个字段值表达转换问题
binarywang Jul 26, 2020
2755bc9
:bookmark: 发布 3.8.7.B 测试版本
binarywang Jul 26, 2020
a776e9c
:art: #1690 企业微信外部联系人客户详情接口增加几个字段
huangxm129 Jul 31, 2020
a9f9e30
:bug: #1699 企业微信模块修复添加企业客户标签接口
huangxm129 Aug 6, 2020
e7f2378
:new: #1639 微信支付增加v3图片上传接口
zhouyongshen Aug 7, 2020
edf8e18
:new: #1706 微信支付增加特约商户进件相关接口
zhouyongshen Aug 7, 2020
c588303
:art: #1700 公众号WxMpConfigStorage接口提供setHostConfig()方法,方便设置相关信息
binarywang Aug 8, 2020
542b633
:art: 重构优化部分包结构
binarywang Aug 8, 2020
14dfe30
:new: #1685 小程序增加图像处理相关接口
binarywang Aug 8, 2020
4bd5b3c
:art: 修复代码
binarywang Aug 8, 2020
9346c17
:art: 抽取oauth2相关接口方法到独立类WxOAuth2Service中
binarywang Aug 9, 2020
4d3346d
:art: #1688 升级jedis依赖版本为3.3.0,已解决部分问题
binarywang Aug 9, 2020
ce8f4f8
:bookmark: 发布 3.8.8.B 测试版本
binarywang Aug 9, 2020
a7ea5f5
:bug: #1713 企业微信修复获取企业已配置的「联系我」方式详情接口
huangxm129 Aug 16, 2020
928ba17
:art: 修复部分拼写错误的变量命名
binarywang Aug 16, 2020
8b7ca9b
:new: #1710 企业微信增加发送新客户欢迎语接口
binarywang Aug 16, 2020
9145628
:art: #1631 SDK最低支持版本设置为JDK8,放弃对JDK7及更旧版本的支持
binarywang Aug 16, 2020
79f0092
:new: #1267 小程序模块增加多账号切换功能支持
binarywang Aug 16, 2020
43633aa
:bookmark: 发布 3.8.9.B 测试版本
binarywang Aug 16, 2020
a278383
:art: #1716 微信支付证书配置读取代码优化,支持本地路径和网络路径
cloudX2019 Aug 17, 2020
17c2042
:new: #1667 微信支付增加电商收付通-二级商户进件相关接口
cloudX2019 Aug 18, 2020
6f95386
:new: #1720 增加企业微信群机器人消息发送接口
xyz9025 Aug 21, 2020
c1c66e9
:bug: #1724 微信支付证书初始化代码去掉不推荐的TLSv1协议,解决退款接口报No appropriate protocol的问题
missionOdd Aug 22, 2020
bd100bf
:bug: #1714 修复小程序初始化时报错的问题
binarywang Aug 22, 2020
aca8dba
:art: 优化规范部分代码
binarywang Aug 22, 2020
817b474
:art: 优化规范统一部分代码格式
binarywang Aug 22, 2020
6d996f2
:art: 优化重构部分代码,抽取公共常量
binarywang Aug 23, 2020
b5956fb
:art: 精简代码,移除无用过期接口代码
binarywang Aug 23, 2020
2797bd6
:art: 重构部分单元测试代码
binarywang Aug 23, 2020
33b13b1
:art: #1591 给部分请求方法导致无限递归调用的代码增加日志,方便排查问题
binarywang Aug 23, 2020
daf0b23
:art: 修复部分单元测试
binarywang Aug 23, 2020
ec7ab21
:bookmark: 发布 3.9.0 正式版本
binarywang Aug 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
🆕 #1529 微信支付退款增加支持单品退款和对应查询的接口
  • Loading branch information
binarywang committed Jun 7, 2020
commit 92c0fd698b7c900caba60e8d8b444b9a9a90a48e
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,8 @@ protected void checkConstraints() throws WxPayException {
&& StringUtils.isBlank(outRefundNo) && StringUtils.isBlank(refundId)) ||
(StringUtils.isNotBlank(transactionId) && StringUtils.isNotBlank(outTradeNo)
&& StringUtils.isNotBlank(outRefundNo) && StringUtils.isNotBlank(refundId))) {
throw new WxPayException("transaction_id,out_trade_no,out_refund_no,refund_id 必须四选一");
throw new WxPayException("transactionId,outRefundNo,transactionId,refundId 必须四选一");
}

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@
import com.github.binarywang.wxpay.constant.WxPayConstants.RefundAccountSource;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import lombok.*;
import lombok.experimental.Accessors;
import me.chanjar.weixin.common.annotation.Required;
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

Expand All @@ -26,7 +29,10 @@
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("xml")
@Accessors(chain = true)
public class WxPayRefundRequest extends BaseWxPayRequest {
private static final long serialVersionUID = 522565152886671848L;

private static final String[] REFUND_ACCOUNT = new String[]{
RefundAccountSource.RECHARGE_FUNDS, RefundAccountSource.UNSETTLED_FUNDS};

Expand Down Expand Up @@ -127,7 +133,6 @@ public class WxPayRefundRequest extends BaseWxPayRequest {
* 描述:操作员帐号, 默认为商户号
* </pre>
*/
//@Required
@XStreamAlias("op_user_id")
private String opUserId;
/**
Expand Down Expand Up @@ -172,6 +177,54 @@ public class WxPayRefundRequest extends BaseWxPayRequest {
@XStreamAlias("notify_url")
private String notifyUrl;

/**
* <pre>
* 字段名:商品详情
* 变量名:detail
* 类型:否
* 示例值:String(6000)
* 退款包含的商品列表信息detail字段列表说明:
*
* 字段名 变量名 必填 类型 示例值 描述
* 商品列表 goods_detail 是 String 示例见下文 商品信息,使用Json数组格式提交
* 商品列表goods_detail字段列表说明:
*
* 字段名 变量名 必填 类型 示例值 描述
* 商品编码 goods_id 是 String(32) 商品编码 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成
* 微信侧商品编码 wxpay_goods_id 否 String(32) 1001 微信支付定义的统一商品编号(没有可不传)
* 商品名称 goods_name 否 String(256) iPhone6s 16G 商品的实际名称
* 商品退款金额 refund_amount 是 int 528800 商品退款金额
* 商品退货数量 refund_quantity 是 int 1 单品的退款数量
* 商品单价 price 是 int 528800 单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的优惠券100-50,则活动商品的单价应为原单价-50)
* detail字段值举例如下:
*
* {
* "goods_detail": [
* {
* "goods_id": "商品编码",
* "wxpay_goods_id": "1001",
* "goods_name": "iPhone6s 16G",
* "refund_amount": 528800,
* "refund_quantity": 1,
* "price": 528800
* },
* {
* "goods_id": "商品编码",
* "wxpay_goods_id": "1001",
* "goods_name": "iPhone6s 16G",
* "refund_amount": 528800,
* "refund_quantity": 1,
* "price": 608800
* }
* ]
* }
* 描述:退款包含的商品列表信息,全额退款可不传,必须按照规范上传,JSON格式
* </pre>
*/
@XStreamAlias("detail")
@XStreamConverter(value = XStreamCDataConverter.class)
private String detail;

@Override
public void checkAndSign(WxPayConfig config) throws WxPayException {
if (StringUtils.isBlank(this.getOpUserId())) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
package com.github.binarywang.wxpay.bean.result;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
* 营销详情 .
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* @date 2020-06-07
*/
@Data
public class WxPayRefundPromotionDetail implements Serializable {
private static final long serialVersionUID = 2197712244944584263L;

/**
* 字段名:券ID
* 变量名:promotion_id
* 是否必填:是
* 类型:String(32)
* 示例例:109519
* 描述:券或者立减优惠id
*/
@SerializedName("promotion_id")
private String promotionId;
/**
* 字段名:优惠范围
* 变量名:scope
* 是否必填:是
* 类型:String(32)
* 示例例:SINGLE
* 描述:GLOBAL- 全场代金券,SINGLE- 单品优惠
*/
@SerializedName("scope")
private String scope;
/**
* 字段名:优惠类型
* 变量名:type
* 是否必填:是
* 类型:String(32)
* 示例例:DISCOUNT
* 描述:COUPON- 代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致),DISCOUNT- 优惠券,不走结算资金的免充值型优惠券,(境外商户券币种与标价币种一致
*/
@SerializedName("type")
private String type;
/**
* 字段名:代金券退款金额
* 变量名:refund_amount
* 是否必填:是
* 类型:Int
* 示例例:100
* 描述:代金券退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠
*/
@SerializedName("refund_amount")
private Integer refundAmount;
/**
* 字段名:商品列表
* 变量名:goods_detail
* 是否必填:否
* 类型:String
* 示例例:见下文
* 描述:商品信息,使用Json格式
*/
@SerializedName("goods_detail")
private List<GoodDetail> goodsDetails;

@Data
public static class GoodDetail {
/**
* 字段名:商品编码
* 变量名:goods_id
* 是否必填:是
* 类型:String(32)
* 示例值:商品编码
* 描述:由半角的大小写字母、数字、中划线、下划线中的一种或几种组成
*/
@SerializedName("goods_id")
private String goodsId;

/**
* 字段名:优惠退款金额
* 变量名:refund_amount
* 是否必填:是
* 类型:int
* 示例值:528800
* 描述:优惠退款金额
*/
@SerializedName("refund_amount")
private Integer refundAmount;

/**
* 字段名:商品退货数量
* 变量名:refund_quantity
* 是否必填:是
* 类型:int
* 示例值:1
* 描述:单品的退货数量
*/
@SerializedName("refund_quantity")
private Integer refundQuantity;

/**
* 字段名:商品单价
* 变量名:price
* 是否必填:是
* 类型:int
* 示例值:528800
* 描述:单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的优惠券100-50,则活动商品的单价应为原单价-50)
*/
@SerializedName("price")
private Integer price;

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,17 @@
import java.util.List;

import com.google.common.collect.Lists;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
import org.apache.commons.lang3.StringUtils;
import org.w3c.dom.Document;

/**
Expand Down Expand Up @@ -130,6 +135,34 @@ public class WxPayRefundQueryResult extends BaseWxPayResult {

private List<RefundRecord> refundRecords;

/**
* 营销详情.
*/
@XStreamAlias("promotion_detail")
private String promotionDetailString;

private List<WxPayRefundPromotionDetail> promotionDetails;

/**
* 组装生成营销详情信息.
*/
public void composePromotionDetails() {
if (StringUtils.isEmpty(this.promotionDetailString)) {
return;
}

JsonElement tmpJsonElement = new JsonParser().parse(this.promotionDetailString);

final List<WxPayRefundPromotionDetail> promotionDetail = WxGsonBuilder.create()
.fromJson(tmpJsonElement.getAsJsonObject().get("promotion_detail"),
new TypeToken<List<WxPayRefundPromotionDetail>>() {
}.getType()
);

this.setPromotionDetails(promotionDetail);
}


/**
* 组装生成退款记录属性的内容.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package com.github.binarywang.wxpay.bean.result;

import java.io.Serializable;
import java.util.List;

import com.google.common.collect.Lists;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
import org.apache.commons.lang3.StringUtils;
import org.w3c.dom.Document;

import java.io.Serializable;
import java.util.List;

/**
* <pre>
* 微信支付-申请退款返回结果.
Expand Down Expand Up @@ -115,8 +120,35 @@ public class WxPayRefundResult extends BaseWxPayResult implements Serializable {
@XStreamAlias("coupon_refund_fee")
private Integer couponRefundFee;

/**
* 营销详情.
*/
@XStreamAlias("promotion_detail")
private String promotionDetailString;

private List<WxPayRefundPromotionDetail> promotionDetails;

private List<WxPayRefundCouponInfo> refundCoupons;

/**
* 组装生成营销详情信息.
*/
public void composePromotionDetails() {
if (StringUtils.isEmpty(this.promotionDetailString)) {
return;
}

JsonElement tmpJsonElement = new JsonParser().parse(this.promotionDetailString);

final List<WxPayRefundPromotionDetail> promotionDetail = WxGsonBuilder.create()
.fromJson(tmpJsonElement.getAsJsonObject().get("promotion_detail"),
new TypeToken<List<WxPayRefundPromotionDetail>>() {
}.getType()
);

this.setPromotionDetails(promotionDetail);
}

/**
* 组装生成退款代金券信息.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,33 @@ public interface WxPayService {
*/
WxPayRefundResult refund(WxPayRefundRequest request) throws WxPayException;

/**
* <pre>
* 申请退款API(支持单品).
* 详见 https://pay.weixin.qq.com/wiki/doc/api/danpin.php?chapter=9_103&index=3
*
* 应用场景
* 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。
*
* 注意:
* 1、交易时间超过一年的订单无法提交退款;
* 2、微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。 一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号。
* 3、请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次
* 错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次
* 4、每个支付订单的部分退款次数不能超过50次
* 5、本接口支持单品优惠订单全额退款和单品优惠订单部分退款,推荐使用本接口,如果使用不支持单品优惠部分退款的历史接口,请看https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=9_4
*
* 接口地址
* https://api.mch.weixin.qq.com/secapi/pay/refundv2
* https://api2.mch.weixin.qq.com/secapi/pay/refundv2(备用域名)见跨城冗灾方案
* </pre>
*
* @param request 请求对象
* @return 退款操作结果 wx pay refund result
* @throws WxPayException the wx pay exception
*/
WxPayRefundResult refundV2(WxPayRefundRequest request) throws WxPayException;

/**
* <pre>
* 微信支付-查询退款.
Expand Down Expand Up @@ -293,6 +320,29 @@ WxPayRefundQueryResult refundQuery(String transactionId, String outTradeNo, Stri
*/
WxPayRefundQueryResult refundQuery(WxPayRefundQueryRequest request) throws WxPayException;

/**
* <pre>
* 微信支付-查询退款API(支持单品).
* 应用场景
* 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。
* 注意:
* 1、本接口支持查询单品优惠相关退款信息,且仅支持按微信退款单号或商户退款单号查询,若继续调用老查询退款接口,
* 请见https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=9_5
* 2、请求频率限制:300qps,即每秒钟正常的退款查询请求次数不超过300次
* 3、错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款查询请求不超过6次
*
* 接口地址
* https://api.mch.weixin.qq.com/pay/refundqueryv2
* https://api2.mch.weixin.qq.com/pay/refundqueryv2(备用域名)见跨城冗灾方案
* 详见 https://pay.weixin.qq.com/wiki/doc/api/danpin.php?chapter=9_104&index=4
* </pre>
*
* @param request 微信退款单号
* @return 退款信息 wx pay refund query result
* @throws WxPayException the wx pay exception
*/
WxPayRefundQueryResult refundQueryV2(WxPayRefundQueryRequest request) throws WxPayException;

/**
* 解析支付结果通知.
* 详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7
Expand Down
Loading