🆕 #3645【小程序】增加虚拟支付的更多接口

This commit is contained in:
Farahani 2025-07-24 15:29:25 +08:00 committed by GitHub
parent 4cdd056a3e
commit e5ef34553d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
31 changed files with 1729 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package cn.binarywang.wx.miniapp.api;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.bean.xpay.*;
import me.chanjar.weixin.common.error.WxErrorException;
@ -149,4 +150,156 @@ public interface WxMaXPayService {
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryPublishGoodsResponse queryPublishGoods(WxMaXPayQueryPublishGoodsRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 查询商家账户里的可提现余额
*
* @param request 查询商家账户里的可提现余额请求对象
* @param sigParams 签名参数对象
* @return 商家账户里的可提现余额查询结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryBizBalanceResponse queryBizBalance(WxMaXPayQueryBizBalanceRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 查询广告金充值账户
*
* @param request 查询广告金充值账户请求对象
* @param sigParams 签名参数对象
* @return 广告金充值账户查询结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryTransferAccountResponse queryTransferAccount(WxMaXPayQueryTransferAccountRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 查询广告金发放记录
*
* @param request 查询广告金发放记录请求对象
* @param sigParams 签名参数对象
* @return 查询广告金发放记录结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryAdverFundsResponse queryAdverFunds(WxMaXPayQueryAdverFundsRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 充值广告金
*
* @param request 充值广告金请求对象
* @param sigParams 签名参数对象
* @return 充值广告金结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayCreateFundsBillResponse createFundsBill(WxMaXPayCreateFundsBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 绑定广告金充值账户
*
* @param request 绑定广告金充值账户请求对象
* @param sigParams 签名参数对象
* @return 绑定广告金充值账户结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaBaseResponse bindTransferAccount(WxMaXPayBindTransferAccountRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 查询广告金充值记录
*
* @param request 查询广告金充值记录请求对象
* @param sigParams 签名参数对象
* @return 查询广告金充值记录结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryFundsBillResponse queryFundsBill(WxMaXPayQueryFundsBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 查询广告金回收记录
*
* @param request 查询广告金回收记录请求对象
* @param sigParams 签名参数对象
* @return 查询广告金回收记录结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayQueryRecoverBillResponse queryRecoverBill(WxMaXPayQueryRecoverBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 获取投诉列表
*
* @param request 获取投诉列表请求对象
* @param sigParams 签名参数对象
* @return 获取投诉列表结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayGetComplaintListResponse getComplaintList(WxMaXPayGetComplaintListRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 获取投诉详情
*
* @param request 获取投诉详情请求对象
* @param sigParams 签名参数对象
* @return 获取投诉详情结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayGetComplaintDetailResponse getComplaintDetail(WxMaXPayGetComplaintDetailRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 获取协商历史
*
* @param request 获取协商历史请求对象
* @param sigParams 签名参数对象
* @return 获取协商历史结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayGetNegotiationHistoryResponse getNegotiationHistory(WxMaXPayGetNegotiationHistoryRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 回复用户
*
* @param request 回复用户请求对象
* @param sigParams 签名参数对象
* @return 回复用户结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaBaseResponse responseComplaint(WxMaXPayResponseComplaintRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 完成投诉处理
*
* @param request 完成投诉处理请求对象
* @param sigParams 签名参数对象
* @return 完成投诉处理结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaBaseResponse completeComplaint(WxMaXPayCompleteComplaintRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 上传媒体文件如图片凭证等
*
* @param request 上传媒体文件如图片凭证等请求对象
* @param sigParams 签名参数对象
* @return 上传媒体文件如图片凭证等结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayUploadVpFileResponse uploadVpFile(WxMaXPayUploadVpFileRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 获取微信支付反馈投诉图片的签名头部
*
* @param request 获取微信支付反馈投诉图片的签名头部请求对象
* @param sigParams 签名参数对象
* @return 获取微信支付反馈投诉图片的签名头部结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayGetUploadFileSignResponse getUploadFileSign(WxMaXPayGetUploadFileSignRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
/**
* 下载广告金对应的商户订单信息
*
* @param request 下载广告金对应的商户订单信息请求对象
* @param sigParams 签名参数对象
* @return 下载广告金对应的商户订单信息结果
* @throws WxErrorException 查询失败时抛出
*/
WxMaXPayDownloadAdverfundsOrderResponse downloadAdverfundsOrder(WxMaXPayDownloadAdverfundsOrderRequest request, WxMaXPaySigParams sigParams) throws WxErrorException;
}

View File

@ -1,10 +1,10 @@
package cn.binarywang.wx.miniapp.api.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import cn.binarywang.wx.miniapp.api.WxMaXPayService;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.bean.xpay.*;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.enums.WxType;
@ -235,4 +235,217 @@ public class WxMaXPayServiceImpl implements WxMaXPayService {
return getDetailResponse;
}
@Override
public WxMaXPayQueryBizBalanceResponse queryBizBalance(WxMaXPayQueryBizBalanceRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(QUERY_BIZ_BALANCE_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayQueryBizBalanceResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayQueryBizBalanceResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayQueryTransferAccountResponse queryTransferAccount(WxMaXPayQueryTransferAccountRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(QUERY_TRANSFER_ACCOUNT_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayQueryTransferAccountResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayQueryTransferAccountResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayQueryAdverFundsResponse queryAdverFunds(WxMaXPayQueryAdverFundsRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(QUERY_ADVER_FUNDS_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayQueryAdverFundsResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayQueryAdverFundsResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayCreateFundsBillResponse createFundsBill(WxMaXPayCreateFundsBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(CREATE_FUNDS_BILL_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayCreateFundsBillResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayCreateFundsBillResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaBaseResponse bindTransferAccount(WxMaXPayBindTransferAccountRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(BIND_TRANSFER_ACCOUNT_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaBaseResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaBaseResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayQueryFundsBillResponse queryFundsBill(WxMaXPayQueryFundsBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(QUERY_FUNDS_BILL_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayQueryFundsBillResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayQueryFundsBillResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayQueryRecoverBillResponse queryRecoverBill(WxMaXPayQueryRecoverBillRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(QUERY_RECOVER_BILL_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayQueryRecoverBillResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayQueryRecoverBillResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayGetComplaintListResponse getComplaintList(WxMaXPayGetComplaintListRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(GET_COMPLAINT_LIST_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayGetComplaintListResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayGetComplaintListResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayGetComplaintDetailResponse getComplaintDetail(WxMaXPayGetComplaintDetailRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(GET_COMPLAINT_DETAIL_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayGetComplaintDetailResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayGetComplaintDetailResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayGetNegotiationHistoryResponse getNegotiationHistory(WxMaXPayGetNegotiationHistoryRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(GET_NEGOTIATION_HISTORY_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayGetNegotiationHistoryResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayGetNegotiationHistoryResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaBaseResponse responseComplaint(WxMaXPayResponseComplaintRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(RESPONSE_COMPLAINT_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaBaseResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaBaseResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaBaseResponse completeComplaint(WxMaXPayCompleteComplaintRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(COMPLETE_COMPLAINT_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaBaseResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaBaseResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayUploadVpFileResponse uploadVpFile(WxMaXPayUploadVpFileRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(UPLOAD_VP_FILE_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayUploadVpFileResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayUploadVpFileResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayGetUploadFileSignResponse getUploadFileSign(WxMaXPayGetUploadFileSignRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(GET_UPLOAD_FILE_SIGN_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayGetUploadFileSignResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayGetUploadFileSignResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
@Override
public WxMaXPayDownloadAdverfundsOrderResponse downloadAdverfundsOrder(WxMaXPayDownloadAdverfundsOrderRequest request, WxMaXPaySigParams sigParams) throws WxErrorException {
final String postBody = request.toJson();
final String uri = sigParams.signUriWithPay(DOWNLOAD_ADVERFUNDS_ORDER_URL, postBody);
String responseContent = this.service.post(uri, postBody);
WxMaXPayDownloadAdverfundsOrderResponse getDetailResponse = WxMaGsonBuilder.create()
.fromJson(responseContent, WxMaXPayDownloadAdverfundsOrderResponse.class);
if (getDetailResponse.getErrcode() != 0) {
throw new WxErrorException(
new WxError(getDetailResponse.getErrcode(), getDetailResponse.getErrmsg()));
}
return getDetailResponse;
}
}

View File

@ -0,0 +1,32 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayBindTransferAccountRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("transfer_account_uid")
private Long transferAccountUid;
@SerializedName("transfer_account_org_name")
private String transferAccountOrgName;
@SerializedName("env")
private Integer env;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,30 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayCompleteComplaintRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("complaint_id")
private String complaintId;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,48 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayCreateFundsBillRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("transfer_amount")
private Integer transferAmount;
@SerializedName("transfer_account_uid")
private Long transferAccountUid;
@SerializedName("transfer_account_name")
private String transferAccountName;
@SerializedName("transfer_account_agency_id")
private Integer transferAccountAgencyId;
@SerializedName("request_id")
private String requestId;
@SerializedName("settle_begin")
private Long settleBegin;
@SerializedName("settle_end")
private Long settleEnd;
@SerializedName("env")
private Integer env;
@SerializedName("authorize_advertise")
private Integer authorizeAdvertise;
@SerializedName("fund_type")
private Integer fundType;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,30 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayCreateFundsBillResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("bill_id")
private String billId;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,31 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @auther fancg
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayDownloadAdverfundsOrderRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("fund_id")
private String fundId;
@SerializedName("env")
private Integer env;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,27 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayDownloadAdverfundsOrderResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("url")
private String url;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,30 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetComplaintDetailRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("complaint_id")
private String complaintId;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,101 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetComplaintDetailResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("complaint")
private Complaint complaint;
@Data
public static class Complaint {
@SerializedName("complaint_id")
private String complaintId;
@SerializedName("complaint_time")
private String complaintTime;
@SerializedName("complaint_detail")
private String complaintDetail;
@SerializedName("complaint_state")
private String complaintState;
@SerializedName("payer_phone")
private String payerPhone;
@SerializedName("payer_openid")
private String payerOpenid;
@SerializedName("complaint_order_info")
private List<ComplaintOrderInfo> complaintOrderInfo;
@SerializedName("complaint_full_refunded")
private Boolean complaintFullRefunded;
@SerializedName("incoming_user_response")
private Boolean incomingUserResponse;
@SerializedName("user_complaint_times")
private Integer userComplaintTimes;
@SerializedName("complaint_media_list")
private List<ComplaintMedia> complaintMediaList;
@SerializedName("problem_description")
private String problemDescription;
@SerializedName("problem_type")
private String problemType;
@SerializedName("apply_refund_amount")
private Integer applyRefundAmount;
@SerializedName("user_tag_list")
private List<String> userTagList;
@SerializedName("service_order_info")
private List<ServiceOrderInfo> serviceOrderInfo;
}
@Data
public static class ComplaintOrderInfo {
@SerializedName("transaction_id")
private String transactionId;
@SerializedName("out_trade_no")
private String outTradeNo;
@SerializedName("amount")
private Integer amount;
@SerializedName("wxa_out_trade_no")
private String wxaOutTradeNo;
@SerializedName("wx_order_id")
private String wxOrderId;
}
@Data
public static class ComplaintMedia {
@SerializedName("media_type")
private String mediaType;
@SerializedName("media_url")
private List<String> mediaUrl;
}
@Data
public static class ServiceOrderInfo {
@SerializedName("order_id")
private String orderId;
@SerializedName("out_order_no")
private String outOrderNo;
@SerializedName("state")
private String state;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,36 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetComplaintListRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("begin_date")
private String beginDate;
@SerializedName("end_date")
private String endDate;
@SerializedName("offset")
private Integer offset;
@SerializedName("limit")
private Integer limit;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,102 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetComplaintListResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("total")
private Integer total;
@SerializedName("complaints")
private List<Complaint> complaints;
@Data
public static class Complaint {
@SerializedName("complaint_id")
private String complaintId;
@SerializedName("complaint_time")
private String complaintTime;
@SerializedName("complaint_detail")
private String complaintDetail;
@SerializedName("complaint_state")
private String complaintState;
@SerializedName("payer_phone")
private String payerPhone;
@SerializedName("payer_openid")
private String payerOpenid;
@SerializedName("complaint_order_info")
private List<ComplaintOrderInfo> complaintOrderInfo;
@SerializedName("complaint_full_refunded")
private Boolean complaintFullRefunded;
@SerializedName("incoming_user_response")
private Boolean incomingUserResponse;
@SerializedName("user_complaint_times")
private Integer userComplaintTimes;
@SerializedName("complaint_media_list")
private List<ComplaintMedia> complaintMediaList;
@SerializedName("problem_description")
private String problemDescription;
@SerializedName("problem_type")
private String problemType;
@SerializedName("apply_refund_amount")
private Integer applyRefundAmount;
@SerializedName("user_tag_list")
private List<String> userTagList;
@SerializedName("service_order_info")
private List<ServiceOrderInfo> serviceOrderInfo;
}
@Data
public static class ComplaintOrderInfo {
@SerializedName("transaction_id")
private String transactionId;
@SerializedName("out_trade_no")
private String outTradeNo;
@SerializedName("amount")
private Integer amount;
@SerializedName("wxa_out_trade_no")
private String wxaOutTradeNo;
@SerializedName("wx_order_id")
private String wxOrderId;
}
@Data
public static class ComplaintMedia {
@SerializedName("media_type")
private String mediaType;
@SerializedName("media_url")
private List<String> mediaUrl;
}
@Data
public static class ServiceOrderInfo {
@SerializedName("order_id")
private String orderId;
@SerializedName("out_order_no")
private String outOrderNo;
@SerializedName("state")
private String state;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,34 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetNegotiationHistoryRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("complaint_id")
private String complaintId;
@SerializedName("offset")
private Integer offset;
@SerializedName("limit")
private Integer limit;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,56 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetNegotiationHistoryResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("total")
private Integer total;
@SerializedName("history")
private List<History> history;
@Data
public static class History {
@SerializedName("log_id")
private String logId;
@SerializedName("operator")
private String operator;
@SerializedName("operate_time")
private String operateTime;
@SerializedName("operate_type")
private String operateType;
@SerializedName("operate_details")
private String operateDetails;
@SerializedName("complaint_media_list")
private List<ComplaintMedia> complaintMediaList;
@Data
public static class ComplaintMedia {
@SerializedName("media_type")
private String mediaType;
@SerializedName("media_url")
private List<String> mediaUrl;
}
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,34 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetUploadFileSignRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("wxpay_url")
private String wxpayUrl;
@SerializedName("convert_cos")
private Boolean convertCos;
@SerializedName("complaint_id")
private String complaintId;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,30 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayGetUploadFileSignResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("sign")
private String sign;
@SerializedName("cos_url")
private String cosUrl;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,44 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryAdverFundsRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("page")
private Integer page;
@SerializedName("page_size")
private Integer pageSize;
@SerializedName("filter")
private Filter filter;
@SerializedName("env")
private Integer env;
@Data
public static class Filter {
@SerializedName("settle_begin")
private Long settleBegin;
@SerializedName("settle_end")
private Long settleEnd;
@SerializedName("fund_type")
private Integer fundType;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,49 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryAdverFundsResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("adver_funds_list")
private List<AdverFunds> adverFundsList;
@SerializedName("total_page")
private Integer totalPage;
@Data
public static class AdverFunds {
@SerializedName("settle_begin")
private Long settleBegin;
@SerializedName("settle_end")
private Long settleEnd;
@SerializedName("total_amount")
private Integer totalAmount;
@SerializedName("remain_amount")
private Integer remainAmount;
@SerializedName("expire_time")
private Long expireTime;
@SerializedName("fund_type")
private Integer fundType;
@SerializedName("fund_id")
private String fundId;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,24 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryBizBalanceRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,36 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryBizBalanceResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("balance_available")
private BalanceAvailable balanceAvailable;
@Data
public static class BalanceAvailable {
@SerializedName("amount")
private String amount;
@SerializedName("currency_code")
private String currencyCode;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,45 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryFundsBillRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("page")
private Integer page;
@SerializedName("page_size")
private Integer pageSize;
@SerializedName("filter")
private Filter filter;
@SerializedName("env")
private Integer env;
@Data
public static class Filter {
@SerializedName("oper_time_begin")
private Long operTimeBegin;
@SerializedName("oper_time_end")
private Long operTimeEnd;
@SerializedName("bill_id")
private String billId;
@SerializedName("request_id")
private String requestId;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,55 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryFundsBillResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("bill_list")
private List<Bill> billList;
@SerializedName("total_page")
private Integer totalPage;
@Data
public static class Bill {
@SerializedName("bill_id")
private String billId;
@SerializedName("oper_time")
private Long operTime;
@SerializedName("settle_begin")
private Long settleBegin;
@SerializedName("settle_end")
private Long settleEnd;
@SerializedName("fund_id")
private String fundId;
@SerializedName("transfer_account_name")
private String transferAccountName;
@SerializedName("transfer_account_uid")
private Integer transferAccountUid;
@SerializedName("transfer_amount")
private Integer transferAmount;
@SerializedName("status")
private Integer status;
@SerializedName("request_id")
private String requestId;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,43 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryRecoverBillRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("page")
private Integer page;
@SerializedName("page_size")
private Integer pageSize;
@SerializedName("filter")
private Filter filter;
@SerializedName("env")
private Integer env;
@Data
public static class Filter {
@SerializedName("recover_time_begin")
private Long recoverTimeBegin;
@SerializedName("recover_time_end")
private Long recoverTimeEnd;
@SerializedName("bill_id")
private String billId;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,50 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryRecoverBillResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("bill_list")
private List<Bill> billList;
@SerializedName("total_page")
private Integer totalPage;
@Data
public static class Bill {
@SerializedName("bill_id")
private String billId;
@SerializedName("recover_time")
private Long recoverTime;
@SerializedName("settle_begin")
private Long settleBegin;
@SerializedName("settle_end")
private Long settleEnd;
@SerializedName("fund_id")
private String fundId;
@SerializedName("recover_account_name")
private String recoverAccountName;
@SerializedName("recover_amount")
private Integer recoverAmount;
@SerializedName("refund_order_list")
private List<String> refundOrderList;
}
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,28 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author 秋日
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryTransferAccountRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,46 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayQueryTransferAccountResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("acct_list")
private List<AcctList> acctList;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
@Data
public static class AcctList {
@SerializedName("transfer_account_name")
private String transferAccountName;
@SerializedName("transfer_account_uid")
private Long transferAccountUid;
@SerializedName("transfer_account_agency_id")
private Long transferAccountAgencyId;
@SerializedName("transfer_account_agency_name")
private String transferAccountAgencyName;
@SerializedName("state")
private Integer state;
@SerializedName("bind_result")
private Integer bindResult;
@SerializedName("error_msg")
private String errorMsg;
}
}

View File

@ -0,0 +1,35 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayResponseComplaintRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("complaint_id")
private String complaintId;
@SerializedName("response_content")
private String responseContent;
@SerializedName("response_images")
private List<String> responseImages;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,34 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @date 2025-07-23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayUploadVpFileRequest implements Serializable {
private static final long serialVersionUID = 7495157056049312108L;
@SerializedName("env")
private Integer env;
@SerializedName("base64_img")
private String base64Img;
@SerializedName("img_url")
private String imgUrl;
@SerializedName("file_name")
private String fileName;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,28 @@
package cn.binarywang.wx.miniapp.bean.xpay;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaXPayUploadVpFileResponse extends WxMaBaseResponse implements Serializable {
private static final long serialVersionUID = 7495157056049312109L;
@SerializedName("file_id")
private String fileId;
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
}
}

View File

@ -885,6 +885,22 @@ public class WxMaApiUrlConstants {
"https://api.weixin.qq.com/xpay/start_publish_goods?pay_sig=%s";
String QUERY_PUBLISH_GOODS_URL =
"https://api.weixin.qq.com/xpay/query_publish_goods?pay_sig=%s";
String QUERY_BIZ_BALANCE_URL =
"https://api.weixin.qq.com/xpay/query_biz_balance?pay_sig=%s";
String QUERY_TRANSFER_ACCOUNT_URL = "https://api.weixin.qq.com/xpay/query_transfer_account?pay_sig=%s";
String QUERY_ADVER_FUNDS_URL = "https://api.weixin.qq.com/xpay/query_adver_funds?pay_sig=%s";
String CREATE_FUNDS_BILL_URL = "https://api.weixin.qq.com/xpay/create_funds_bill?pay_sig=%s";
String BIND_TRANSFER_ACCOUNT_URL = "https://api.weixin.qq.com/xpay/bind_transfer_accout?pay_sig=%s";
String QUERY_FUNDS_BILL_URL = "https://api.weixin.qq.com/xpay/query_funds_bill?pay_sig=%s";
String QUERY_RECOVER_BILL_URL = "https://api.weixin.qq.com/xpay/query_recover_bill?pay_sig=%s";
String GET_COMPLAINT_LIST_URL = "https://api.weixin.qq.com/xpay/get_complaint_list?pay_sig=%s";
String GET_COMPLAINT_DETAIL_URL = "https://api.weixin.qq.com/xpay/get_complaint_detail?pay_sig=%s";
String GET_NEGOTIATION_HISTORY_URL = "https://api.weixin.qq.com/xpay/get_negotiation_history?pay_sig=%s";
String RESPONSE_COMPLAINT_URL = "https://api.weixin.qq.com/xpay/response_complaint?pay_sig=%s";
String COMPLETE_COMPLAINT_URL = "https://api.weixin.qq.com/xpay/complete_complaint?pay_sig=%s";
String UPLOAD_VP_FILE_URL = "https://api.weixin.qq.com/xpay/upload_vp_file?pay_sig=%s";
String GET_UPLOAD_FILE_SIGN_URL = "https://api.weixin.qq.com/xpay/get_upload_file_sign?pay_sig=%s";
String DOWNLOAD_ADVERFUNDS_ORDER_URL = "https://api.weixin.qq.com/xpay/download_adverfunds_order?pay_sig=%s";
}
/**

View File

@ -1,6 +1,7 @@
package cn.binarywang.wx.miniapp.api.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse;
import cn.binarywang.wx.miniapp.bean.xpay.*;
import cn.binarywang.wx.miniapp.constant.WxMaConstants;
import cn.binarywang.wx.miniapp.test.ApiTestModule;
@ -119,6 +120,7 @@ public class WxMaXPayServiceImplTest {
WxMaXPayDownloadBillResponse response = this.wxService.getWxMaXPayService().downloadBill(request, sigParams);
assertNotNull(response);
}
@Test
public void testRefundOrder() throws Exception {
WxMaXPayRefundOrderRequest request = WxMaXPayRefundOrderRequest.builder()
@ -217,4 +219,209 @@ public class WxMaXPayServiceImplTest {
assertNotNull(response);
}
@Test
public void testQueryBizBalance() throws Exception {
WxMaXPayQueryBizBalanceRequest request = WxMaXPayQueryBizBalanceRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayQueryBizBalanceResponse response = this.wxService.getWxMaXPayService().queryBizBalance(request, sigParams);
assertNotNull(response);
}
@Test
public void testQueryTransferAccount() throws Exception {
WxMaXPayQueryTransferAccountRequest request = WxMaXPayQueryTransferAccountRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayQueryTransferAccountResponse response = this.wxService.getWxMaXPayService().queryTransferAccount(request, sigParams);
assertNotNull(response);
}
@Test
public void testQueryAdverFunds() throws Exception {
WxMaXPayQueryAdverFundsRequest request = WxMaXPayQueryAdverFundsRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.page(0)
.pageSize(10)
.filter(new WxMaXPayQueryAdverFundsRequest.Filter())
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayQueryAdverFundsResponse response = this.wxService.getWxMaXPayService().queryAdverFunds(request, sigParams);
assertNotNull(response);
}
@Test
public void testCreateFundsBill() throws Exception {
WxMaXPayCreateFundsBillRequest request = WxMaXPayCreateFundsBillRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.transferAmount(0)
.transferAccountUid(0L)
.transferAccountName("")
.transferAccountAgencyId(0)
.requestId("")
.settleBegin(0L)
.settleEnd(0L)
.authorizeAdvertise(0)
.fundType(0)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayCreateFundsBillResponse response = this.wxService.getWxMaXPayService().createFundsBill(request, sigParams);
assertNotNull(response);
}
@Test
public void testBindTransferAccount() throws Exception {
WxMaXPayBindTransferAccountRequest request = WxMaXPayBindTransferAccountRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.transferAccountOrgName("")
.transferAccountUid(0L)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaBaseResponse response = this.wxService.getWxMaXPayService().bindTransferAccount(request, sigParams);
assertNotNull(response);
}
@Test
public void testQueryFundsBill() throws Exception {
WxMaXPayQueryFundsBillRequest request = WxMaXPayQueryFundsBillRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.page(0)
.pageSize(10)
.filter(new WxMaXPayQueryFundsBillRequest.Filter())
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayQueryFundsBillResponse response = this.wxService.getWxMaXPayService().queryFundsBill(request, sigParams);
assertNotNull(response);
}
@Test
public void testQueryRecoverBill() throws Exception {
WxMaXPayQueryRecoverBillRequest request = WxMaXPayQueryRecoverBillRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.page(0)
.pageSize(10)
.filter(new WxMaXPayQueryRecoverBillRequest.Filter())
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayQueryRecoverBillResponse response = this.wxService.getWxMaXPayService().queryRecoverBill(request, sigParams);
assertNotNull(response);
}
@Test
public void testGetComplaintList() throws Exception {
WxMaXPayGetComplaintListRequest request = WxMaXPayGetComplaintListRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.beginDate("")
.endDate("")
.offset(0)
.limit(10)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayGetComplaintListResponse response = this.wxService.getWxMaXPayService().getComplaintList(request, sigParams);
assertNotNull(response);
}
@Test
public void testGetComplaintDetail() throws Exception {
WxMaXPayGetComplaintDetailRequest request = WxMaXPayGetComplaintDetailRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.complaintId("")
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayGetComplaintDetailResponse response = this.wxService.getWxMaXPayService().getComplaintDetail(request, sigParams);
assertNotNull(response);
}
@Test
public void testGetNegotiationHistory() throws Exception {
WxMaXPayGetNegotiationHistoryRequest request = WxMaXPayGetNegotiationHistoryRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.limit(10)
.offset(0)
.complaintId("")
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayGetNegotiationHistoryResponse response = this.wxService.getWxMaXPayService().getNegotiationHistory(request, sigParams);
assertNotNull(response);
}
@Test
public void testResponseComplaint() throws Exception {
WxMaXPayResponseComplaintRequest request = WxMaXPayResponseComplaintRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.complaintId("")
.responseContent("")
.responseImages(new ArrayList<>())
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaBaseResponse response = this.wxService.getWxMaXPayService().responseComplaint(request, sigParams);
assertNotNull(response);
}
@Test
public void testCompleteComplaint() throws Exception {
WxMaXPayCompleteComplaintRequest request = WxMaXPayCompleteComplaintRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.complaintId("")
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaBaseResponse response = this.wxService.getWxMaXPayService().completeComplaint(request, sigParams);
assertNotNull(response);
}
@Test
public void testUploadVpFile() throws Exception {
WxMaXPayUploadVpFileRequest request = WxMaXPayUploadVpFileRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.base64Img("")
.fileName("")
.imgUrl("")
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayUploadVpFileResponse response = this.wxService.getWxMaXPayService().uploadVpFile(request, sigParams);
assertNotNull(response);
}
@Test
public void testGetUploadFileSign() throws Exception {
WxMaXPayGetUploadFileSignRequest request = WxMaXPayGetUploadFileSignRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.wxpayUrl("")
.complaintId("")
.convertCos(true)
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("");
WxMaXPayGetUploadFileSignResponse response = this.wxService.getWxMaXPayService().getUploadFileSign(request, sigParams);
assertNotNull(response);
}
@Test
public void testDownloadAdverfundsOrder() throws Exception {
WxMaXPayDownloadAdverfundsOrderRequest request = WxMaXPayDownloadAdverfundsOrderRequest.builder()
.env(WxMaConstants.XPayEnv.PRODUCT)
.fundId("")
.build();
WxMaXPaySigParams sigParams = new WxMaXPaySigParams();
sigParams.setAppKey("123");
WxMaXPayDownloadAdverfundsOrderResponse response = this.wxService.getWxMaXPayService().downloadAdverfundsOrder(request, sigParams);
assertNotNull(response);
}
}