Skip to content

Commit

Permalink
电商收付通-商户进件(等账号下来测试一下)
Browse files Browse the repository at this point in the history
  • Loading branch information
wuyajun committed Aug 13, 2020
1 parent ce8f4f8 commit fc61838
Show file tree
Hide file tree
Showing 12 changed files with 1,316 additions and 0 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.github.binarywang.wxpay.bean.ecommerce.applyments;

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;

/**
* <pre>
* 二级商户进件API 返回结果
* Created by githubwyj on 2020/8/13 14:12.
* </pre>
*
* @author <a href="https://github.com/githubwyj">githubwyj</a>
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ApplymentsCreateResult implements Serializable {
private static final long serialVersionUID = 1L;

/**
* 微信支付申请单号
* 微信支付分配的申请单号 。
*/
@SerializedName("applyment_id")
private String applymentId;

/**
* 业务申请编号
* 服务商自定义的商户唯一编号。每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。
*/
@SerializedName("out_request_no")
private String outRequestNo;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
package com.github.binarywang.wxpay.bean.ecommerce.applyments;

import com.github.binarywang.wxpay.bean.ecommerce.enums.ApplymentStateEnum;
import com.github.binarywang.wxpay.v3.SpecEncrypt;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/**
* 查询申请状态API 返回结果model
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ApplymentsCreateStateQueryResult {

/**
* 申请单状态
*/
@SerializedName("applyment_state")
private ApplymentStateEnum applymentState;

/**
* 申请状态描述
*/
@SerializedName("applyment_state_desc")
private String applymentStateDesc;

/**
* 签约链接
* 1、当申请状态为NEED_SIGN时才返回。
* 2、建议将链接转为二维码展示,需让申请单-管理者用微信扫码打开,完成签约。
*/
@SerializedName("sign_url")
private String signUrl;

/**
* 电商平台二级商户号
* 当申请状态为NEED_SIGN或FINISH时才返回。
*/
@SerializedName("sub_mchid")
private String subMchId;

/**
* 汇款账户验证信息
* 当申请状态为ACCOUNT_NEED_VERIFY 时有返回,可根据指引汇款,完成账户验证。
*/
@SerializedName("account_validation")
private AccountValidation accountValidation;

/**
* 驳回原因详情
* 各项资料的审核情况。当申请状态为REJECTED或 FROZEN时才返回。
*/
@SerializedName("audit_detail")
private List<AuditDetail> auditDetail;

/**
* 法人验证链接
* 1、当申请状态为
* ACCOUNT_NEED_VERIFY,且通过系统校验的申请单,将返回链接。
* 2、建议将链接转为二维码展示,让商户法人用微信扫码打开,完成账户验证。
*/
@SerializedName("legal_validation_url")
private String legalValidationUrl;

/**
* 业务申请编号
* 提交接口填写的业务申请编号。
*/
@SerializedName("out_request_no")
private String outRequestNo;

/**
* 微信支付申请单号
* 微信支付分配的申请单号。
*/
@SerializedName("applyment_id")
private String applymentId;


/**
* 汇款账户验证信息
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class AccountValidation {

/**
* 付款户名
* 需商户使用该户名的账户进行汇款。
*/
@SerializedName("account_name")
@SpecEncrypt
private String accountName;

/**
* 付款卡号
* 结算账户为对私时会返回,商户需使用该付款卡号进行汇款。
*/
@SerializedName("account_no")
@SpecEncrypt
private String accountNo;

/**
* 汇款金额
* 需要汇款的金额(单位:分)。
*/
@SerializedName("pay_amount")
private String payAmount;

/**
* 收款卡号
*/
@SerializedName("destination_account_number")
private String destinationAccountNumber;

/**
* 收款户名
*/
@SerializedName("destination_account_name")
private String destinationAccountName;

/**
* 收款账户的开户银行名称。
*/
@SerializedName("destination_account_bank")
private String destinationAccountBank;

/**
* 省市信息 。
* 收款账户的省市。
*/
@SerializedName("city")
private String city;

/**
* 备注信息 。
* 商户汇款时,需要填写的备注信息。
*/
@SerializedName("remark")
private String remark;


/**
* 汇款截止时间 。
* 请在此时间前完成汇款。
* 示例值:2018-12-1017:09:01
*/
@SerializedName("remark")
private String deadline;


}

/**
* 驳回原因详情
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class AuditDetail {
/**
* 提交申请单的资料项名称。
*/
@SerializedName("param_name")
private String paramName;
/**
* 提交资料项被驳回原因。
*/
@SerializedName("reject_reason")
private String rejectReason;


}

}


Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
package com.github.binarywang.wxpay.bean.ecommerce.applyments;

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

/**
* <pre>
* 修改结算帐号请求model
* Created by githubwyj on 2020/8/13 15:05.
* </pre>
*
* @author <a href="https://github.com/githubwyj">githubwyj</a>
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ApplymentsModifySettlementRequest {

/**
* 特约商户号
*/
@SerializedName("sub_mchid")
private String subMchId;

/**
* 账户类型
* 根据特约商户号的主体类型,可选择的账户类型如下:
* 1、小微主体:经营者个人银行卡
* 2、个体工商户主体:经营者个人银行卡/ 对公银行账户
* 3、企业主体:对公银行账户
* 4、党政、机关及事业单位主体:对公银行账户
* 5、其他组织主体:对公银行账户
* 枚举值:
* ACCOUNT_TYPE_BUSINESS:对公银行账户
* ACCOUNT_TYPE_PRIVATE:经营者个人银行卡
*/
@SerializedName("account_type")
private AccountTypeEnum accountType;


/**
* 开户银行
* <a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">开户银行对账表</a>
*/
@SerializedName("account_bank")
private String accountBank;

/**
* 开户名称
* 1、选择经营者个人银行卡时,开户名称必须与身份证姓名一致。
* 2、选择对公账户时,开户名称必须与营业执照上的“商户名称”一致。
* 3、该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial)
*/
@SerializedName("account_name")
@SpecEncrypt
private String accountName;


/**
* 开户银行省市编码
* 至少精确到市
* <a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">开户银行省市编码</a>
* 示例值:110000
*/
@SerializedName("bank_address_code")
private String bankAddressCode;

/**
* 开户银行联行号
* 1、<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">17家直连银行<a/>无需填写,如为其他银行,开户银行全称(含支行)和开户银行联行号二选一。
* 2、详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">开户银行全称(含支行)对照表<a/>。
*/
@SerializedName("bank_branch_id")
private String bankBranchId;

/**
* 开户银行全称(含支行]
* 1、<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">17家直连银行<a/>无需填写,如为其他银行,开户银行全称(含支行)和开户银行联行号二选一。
* 2、需填写银行全称,如"深圳农村商业银行XXX支行" 。
* 3、详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">开户银行全称(含支行)对照表<a/>。
*/
@SerializedName("bank_name")
private String bankName;

/**
* 银行账号
*/
@SerializedName("account_number")
@SpecEncrypt
private String accountNumber;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.github.binarywang.wxpay.bean.ecommerce.enums;

/**
* 申请单状态枚举类
*
* @author githubwyj
*/
public enum ApplymentStateEnum {
/**
* 资料校验中
*/
CHECKING,

/**
* 待账户验证
*/
ACCOUNT_NEED_VERIFY,

/**
* 审核中
*/
AUDITING,

/**
* 已驳回
*/
REJECTED,

/**
* 待签约
*/
NEED_SIGN,

/**
* 完成
*/
FINISH,
/**
* 已冻结
*/
FROZEN

}
Loading

0 comments on commit fc61838

Please sign in to comment.