package com.heyu.api.alibaba.request.common.text;


import com.heyu.api.alibaba.request.AlibabaBaseRequest;
import lombok.Data;

@Data
public class ABankMetaVerifyRequest extends AlibabaBaseRequest {


    /***
     * 参数类型：展开详情
     *
     * 示例值:
     * normal
     * 枚举值:
     * normal
     * md5
     */
    private String paramType = "normal";


    /***
     * VERIFY_BANK_CARD：银行卡认证模式。表示将传入的银行卡号和用户的真实姓名、身份证号，手机号是否匹配。
     *
     * 示例值:
     * VERIFY_BANK_CARD
     */
    private String verifyMode = "VERIFY_BANK_CARD";


    /***
     * 调用产品类型：
     *
     * BANK_CARD_2_META：银⾏卡号+姓名核验。
     * BANK_CARD_3_META：银⾏卡号+姓名+身份证号核验。
     * BANK_CARD_4_META：银⾏卡号+姓名+身份证号+⼿机号核验。
     * 示例值:
     * BANK_CARD_2_META
     */
    private String productType;


    /***
     * 姓名。
     *
     * 当 paramType 取值 normal 时，输入姓名明文。
     * 当 paramType 取值 md5 时，姓名第一个字 MD5 加密（32 位小写 MD5）+ 姓名其他部分明文。
     * 示例值:
     * 张*
     */
    private String userName;


    /***
     * 身份证号。
     *
     * 当 ProductType 取值 BANK_CARD_3_META 时，此项必选。
     * 当 paramType 取值 normal 时，输入身份证号明文。
     * 当 paramType 取值 md5 时，身份证号前 6 位明文+出生年月日 md5 加密（32 位小写 MD5）+身份证号后 4 位。
     * 示例值:
     * 429001********8211
     */
    private String identifyNum;

    /***
     * 银行卡号。
     *
     * 当 paramType 取值 normal 时，输入银行卡号明文。
     * 当 paramType 取值 md5 时，卡号除最后 6 位其他部分明文+最后 6 位 md5 值（32 位小写）。
     * 示例值:
     * 610*************1181
     */
    private String bankCard;

    /***
     * 手机号。
     *
     * 当 ProductType 取值 BANK_CARD_4_META 时，此项必选。
     * 当 paramType 取值 normal 时，输入手机号明文。
     * 当 paramType 取值 md5 时，输入手机号（32 位小写 MD5）。
     * 示例值:
     * 138******11
     * 参考取值来源:
     * MobileDetect
     */
    private String mobile;


    /***
     *
     */
    private String identityType;


}
