Skip to content

Commit

Permalink
🎨 #3136 【微信支付】根据最新官方文档补全部分接口的字段
Browse files Browse the repository at this point in the history
* 普通服务商->特约商户进件
文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter11_1_1.shtml
文档更新时间:2023.7.14
1.SubjectTypeEnum 枚举移除SUBJECT_TYPE_MICRO小微主体类型
2.WxPayApplyment4SubCreateRequest内部类SubjectInfo对象下删除组织机构代码证OrganizationInfo对象及字段;删除MicroBizInfo对象及字段;新增finance_institution_info 对象
3.新增枚举:金融机构类型->FinanceTypeEnum
4.Applyment4SubService 新增查询结算账户修改申请状态接口
5.新增枚举:结算账号修改审核状态->SettlementVerifyStateEnum
-------------------------------------------------------------------------
服务商微信支付分
文档地址:https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-auth/apply-partner-permissions.html
文档更新时间:2023.08.23
1.更新PartnerPayScoreService 接口文档描述
2.WxPayScoreResult新增 user_risk_level:用户分层字段;risk_level_version:分层版本字段 (商户查询与用户授权记录返回参数); 新增total_amount:总金额字段(支付分订单查询返回参数)
3.TimeRange对象新增start_time_remark:服务开始时间备注;end_time_remark:服务结束时间备注字段;
4.新增优惠详情对象:PromotionDetail;优惠商品详情对象:GoodsDetail;
5.WxPayScoreRequest 新增字段完结服务时间:completeTime;修改detail字段类型:Detail=>SyncDetail(入参里唯一用到detail字段对应的类应该是SyncDetail,而WxPayScoreResult返回的collection字段下的details字段对应的类才是Detail,之前的提交者可能写错了 详见文档:同步订单信息=>https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-order/sync-partner-service-order.html; 查询订单=>https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-order/get-partner-service-order.html)

* WxPayRefundV3Result.Amount 新增退款手续费字段;

* WxPayRefundQueryV3Result.Amount 新增退款手续费字段;
  • Loading branch information
UltramanNoa authored Sep 29, 2023
1 parent 85c46eb commit f53eed6
Show file tree
Hide file tree
Showing 21 changed files with 416 additions and 321 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package com.github.binarywang.wxpay.bean.applyment;

import com.github.binarywang.wxpay.bean.applyment.enums.AccountTypeEnum;
import com.github.binarywang.wxpay.bean.applyment.enums.SettlementVerifyStateEnum;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;


import java.io.Serializable;


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class SettlementModifyStateQueryResult implements Serializable {

private static final long serialVersionUID = 464614116838248296L;
/**
* 开户名称
*/
@SerializedName("account_name")
private String accountName;

/**
* 账户类型
*/
@SerializedName("account_type")
private AccountTypeEnum accountType;

/**
* 开户银行
*/
@SerializedName("account_bank")
private String accountBank;

/**
* 开户银行全称(含支行)
*/
@SerializedName("bank_name")
private String bankName;

/**
* 开户银行联行号
*/
@SerializedName("bank_branch_id")
private String bankBranchId;

/**
* 银行账号
*/
@SerializedName("account_number")
private String accountNumber;

/**
* 审核状态
* @see SettlementVerifyStateEnum
*/
@SerializedName("verify_result")
private SettlementVerifyStateEnum verifyResult;

/**
* 审核驳回原因
*/
@SerializedName("verify_fail_reason")
private String verifyFailReason;

/**
* 审核结果更新时间
*/
@SerializedName("verify_finish_time")
private String verifyFinishTime;


}
Original file line number Diff line number Diff line change
Expand Up @@ -236,18 +236,18 @@ public static class SubjectInfo implements Serializable {
@SerializedName("certificate_info")
private CertificateInfo certificateInfo;

/**
* 组织机构代码证
*/
@SerializedName("organization_info")
private OrganizationInfo organizationInfo;

/**
* 单位证明函照片
*/
@SerializedName("certificate_letter_copy")
private String certificateLetterCopy;

/**
* 金融机构许可证信息
*/
@SerializedName("finance_institution_info")
private FinanceInstitutionInfo financeInstitutionInfo;

/**
* 经营者/法人身份证件
*/
Expand All @@ -262,12 +262,6 @@ public static class SubjectInfo implements Serializable {
@SpecEncrypt
private List<UboInfo> uboInfoList;

/**
* 小微辅助证明材料(subjectType为小微商户时必填)
*/
@SerializedName("micro_biz_info")
private MicroBizInfo microBizInfo;

@Data
@Builder
@NoArgsConstructor
Expand Down Expand Up @@ -381,29 +375,22 @@ public static class CertificateInfo implements Serializable {
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class OrganizationInfo implements Serializable {
private static final long serialVersionUID = 6497045652770046337L;
/**
* 组织机构代码证照片
*/
@SerializedName("organization_copy")
private String organizationCopy;
/**
* 组织机构代码
*/
@SerializedName("organization_code")
private String organizationCode;
public static class FinanceInstitutionInfo implements Serializable {

private static final long serialVersionUID = 6016563999835704297L;
/**
* 组织机构代码证有效期开始日期
* 金融机构类型
*
* @see FinanceTypeEnum
*/
@SerializedName("org_period_begin")
private String orgPeriodBegin;
@SerializedName("finance_type")
private FinanceTypeEnum financeType;

/**
* 组织机构代码证有效期结束日期
* 金融机构许可证图片
*/
@SerializedName("org_period_end")
private String orgPeriodEnd;

@SerializedName("finance_license_pics")
private List<String> financeLicensePics;
}

@Data
Expand Down Expand Up @@ -605,179 +592,6 @@ public static class UboInfo implements Serializable {
@SerializedName("ubo_period_end")
private String uboPeriodEnd;
}

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MicroBizInfo implements Serializable {
private static final long serialVersionUID = -5679477993681265764L;
/**
* 小微经营类型
*/
@SerializedName("micro_biz_type")
private MicroBizTypeEnum microBizType;

/**
* 门店场所---经营类型为“门店场所”时填写
*/
@SerializedName("micro_store_info")
private MicroStoreInfo microStoreInfo;

/**
* 经营类型为“流动经营/便民服务”时填写
*/
@SerializedName("micro_mobile_info")
private MicroMobileInfo microMobileInfo;

/**
* 经营类型为“线上商品/服务交易”时填写
*/
@SerializedName("micro_online_info")
private MicroOnlineInfo microOnlineInfo;

/**
* 门店场所
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MicroStoreInfo implements Serializable {
private static final long serialVersionUID = 5277440587305558389L;
/**
* 门店名称
*/
@SerializedName("micro_name")
private String microName;
/**
* 门店省市编码 填写门店省市编码,只能由数字组成,详细参见《微信支付提供的省市对照表》
*
* @see <a href='https://pay.weixin.qq.com/wiki/doc/apiv3/download/%E7%9C%81%E5%B8%82%E5%8C%BA%E7%BC%96%E5%8F%B7%E5%AF%B9%E7%85%A7%E8%A1%A8.xlsx'>下载微信支付提供的省市对照表</a>
*/
@SerializedName("micro_address_code")
private String microAddressCode;
/**
* 门店地址(填写店铺详细地址,具体区/县及街道门牌号或大厦楼层)
*/
@SerializedName("micro_address")
private String microAddress;
/**
* 门店门头照片
* <per>
* 1、提交门店门口照片,要求招牌清晰可见
* 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID
* </per>
*
* @see <a href='https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/chapter3_1.shtml'>图片上传API</a>
*/
@SerializedName("store_entrance_pic")
private String storeEntrancePic;
/**
* 店内环境照片
* <per>
* 1、提交店内环境照片
* 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID
* </per>
*
* @see <a href='https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/chapter3_1.shtml'>图片上传API</a>
*/
@SerializedName("micro_indoor_copy")
private String microIndoorCopy;
/**
* 门店经度
*/
@SerializedName("store_longitude")
private String storeLongitude;
/**
* 门店纬度
*/
@SerializedName("store_latitude")
private String storeLatitude;
}

/**
* 流动经营/便民服务
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MicroMobileInfo implements Serializable {
private static final long serialVersionUID = -1308090894511066935L;
/**
* 经营/服务名称
*/
@SerializedName("micro_mobile_name")
private String microMobileName;
/**
* 经营/服务所在地省市
*/
@SerializedName("micro_mobile_city")
private String microMobileCity;
/**
* 经营/服务所在地(不含省市) 填写“无"
*/
@SerializedName("micro_mobile_address")
private String microMobileAddress;
/**
* 经营/服务现场照片
* <per>
* 1、提交经营/服务现场照片
* 2、可上传多张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID
* </per>
*
* @see <a href='https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/chapter3_1.shtml'>图片上传API</a>
*/
@SerializedName("micro_mobile_pics")
private String microMobilePics;
}

/**
* 线上商品/服务交易
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class MicroOnlineInfo implements Serializable {
private static final long serialVersionUID = 9029168841403055743L;
/**
* 线上店铺名称
*/
@SerializedName("micro_online_store")
private String microOnlineStore;
/**
* 电商平台名称
*/
@SerializedName("micro_ec_name")
private String microEcName;
/**
* 店铺二维码
* <per>
* 1、店铺二维码或店铺链接二选一必填
* 2、可上传多张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID
* </per>
*
* @see <a href='https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/chapter3_1.shtml'>图片上传API</a>
*/
@SerializedName("micro_qrcode")
private String microQrcode;
/**
* 店铺二维码
* <per>
* 1、店铺二维码或店铺链接二选一必填
* 2、请填写店铺主页链接,需符合网站规范
* </per>
*/
@SerializedName("micro_link")
private String microLink;
}
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.github.binarywang.wxpay.bean.applyment.enums;

/**
* 金融机构类型
**/
public enum FinanceTypeEnum {

/**
* 银行业, 适用于商业银行、政策性银行、农村合作银行、村镇银行、开发性金融机构等
*/
BANK_AGENT,

/**
* 支付机构, 适用于非银行类支付机构
*/
PAYMENT_AGENT,

/**
* 保险业, 适用于保险、保险中介、保险代理、保险经纪等保险类业务
*/
INSURANCE,

/**
* 交易及结算类金融机构, 适用于交易所、登记结算类机构、银行卡清算机构、资金清算中心等
*/
TRADE_AND_SETTLE,

/**
* 其他金融机构, 适用于财务公司、信托公司、金融资产管理公司、金融租赁公司、汽车金融公司、贷款公司、货币经纪公司、消费金融公司、证券业、金融控股公司、股票、期货、货币兑换、小额贷款公司、金融资产管理、担保公司、商业保理公司、典当行、融资租赁公司、财经咨询等其他金融业务
*/
OTHER,
;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.github.binarywang.wxpay.bean.applyment.enums;

/**
* 结算账户修改审核状态
**/
public enum SettlementVerifyStateEnum {
/**
* 审核成功
*/
AUDIT_SUCCESS,

/**
* 审核中
*/
AUDITING,

/**
* 审核驳回
*/
AUDIT_FAIL,
;
}
Loading

0 comments on commit f53eed6

Please sign in to comment.