🆕 #1789 微信支付电商收付通增加下载账单的接口

This commit is contained in:
f00lish
2020-09-29 12:40:11 +08:00
committed by GitHub
parent b797152199
commit 429f1706a4
9 changed files with 292 additions and 3 deletions
@@ -0,0 +1,86 @@
package com.github.binarywang.wxpay.bean.ecommerce;
import com.google.gson.annotations.SerializedName;
import lombok.*;
/**
* 账单请求
* @author: f00lish
* @date: 2020/09/28
*/
@Data
@Builder
@ToString
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class BillRequest {
/**
* <pre>
* 字段名:账单日期
* 变量名:bill_date
* 是否必填:是
* 类型:string(10)
* 描述:
* 格式YYYY-MM-DD
* 仅支持三个月内的账单下载申请。
* 示例值:2019-06-11
* </pre>
*/
@SerializedName(value = "bill_date")
private String billDate;
/**
* <pre>
* 字段名:二级商户号
* 变量名:sub_mchid
* 是否必填:否
* 类型:string(12)
* 描述:
* 1、若商户是直连商户:无需填写该字段。
* 2、若商户是服务商:
* ● 不填则默认返回服务商下的交易或退款数据。
* ● 如需下载某个子商户下的交易或退款数据,则该字段必填。
* 特殊规则:最小字符长度为8
* 注意:仅适用于电商平台 服务商
* 示例值:1900000001
* </pre>
*/
@SerializedName(value = "sub_mchid")
private String subMchid;
/**
* <pre>
* 字段名:账单类型
* 变量名:bill_type
* 是否必填:否
* 类型:string(32)
* 描述:
* 不填则默认是ALL
* 枚举值:
* ALL:返回当日所有订单信息(不含充值退款订单)
* SUCCESS:返回当日成功支付的订单(不含充值退款订单)
* REFUND:返回当日退款订单(不含充值退款订单)
* 示例值:ALL
* </pre>
*/
@SerializedName(value = "bill_type")
private String billType;
/**
* <pre>
* 字段名:压缩类型
* 变量名:tar_type
* 是否必填:否
* 类型:string(32)
* 描述:
* 不填则默认是数据流
* 枚举值:
* GZIP:返回格式为.gzip的压缩包账单
* 示例值:GZIP
* </pre>
*/
@SerializedName(value = "tar_type")
private String tarType;
}
@@ -0,0 +1,60 @@
package com.github.binarywang.wxpay.bean.ecommerce;
import com.google.gson.annotations.SerializedName;
import lombok.*;
/**
* 账单结果
* @author: f00lish
* @date: 2020/09/28
*/
@Data
@Builder
@ToString
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class BillResult {
/**
* <pre>
* 字段名:哈希类型
* 变量名:hash_type
* 是否必填:是
* 类型:string(32)
* 描述:
* 原始账单(gzip需要解压缩)的摘要值,用于校验文件的完整性。
* 示例值:SHA1
* </pre>
*/
@SerializedName(value = "hash_type")
private String hashType;
/**
* <pre>
* 字段名:哈希值
* 变量名:hash_value
* 是否必填:是
* 类型:string(1024)
* 描述:
* 原始账单(gzip需要解压缩)的摘要值,用于校验文件的完整性。
* 示例值:79bb0f45fc4c42234a918000b2668d689e2bde04
* </pre>
*/
@SerializedName(value = "hash_value")
private String hashValue;
/**
* <pre>
* 字段名:账单下载地址
* 变量名:download_url
* 是否必填:是
* 类型:string(32)
* 描述:
* 供下一步请求账单文件的下载地址,该地址30s内有效。
* 示例值:https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx
* </pre>
*/
@SerializedName(value = "download_url")
private String downloadUrl;
}
@@ -0,0 +1,30 @@
package com.github.binarywang.wxpay.bean.ecommerce.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 账单类型
* @author: f00lish
* @date: 2020/09/28
*/
@Getter
@AllArgsConstructor
public enum BillTypeEnum {
/**
* 交易账单
*/
TRADE_BILL("%s/v3/bill/tradebill?%s"),
/**
* 资金账单
*/
FUND_FLOW_BILL("%s/v3/bill/fundflowbill?%s");
/**
* url
*/
private final String url;
}