package com.neusoft.smart.pos.payment.constants;

import com.neusoft.smart.pos.framework.constants.CommonCode;

/**
 * @author zcf
 * @date 2017-08-13 10：43
 * @description 业务错误信息使用枚举类
 */
public enum PaymentErrorCode implements CommonCode {

    MCH_INFO_NOT_EXIST("08001", "商户信息不存在"),
    SIGN_VALID_ERROR("08002", "签名校验失败"),
    MCH_THIRD_PLATFORM_NOT_CONFIG("08003", "商户未配置第三方支付平台支付信息"),
    MCH_NOTIFY_URL_EMPTY("08004", "商户未配置支付成功回调URL"),
    MCH_ORDER_GENERATE_ERROR("08005", "第三方支付平台预付单生成失败"),
    MCH_ORDER_TIME_EXPIRE_TOO_SHORT("08006", "time_expire时间过短，订单失效时间距当前时间至少5分钟"),
    MCH_ORDER_REPEAT("08007", "业务系统订单号重复，请重新生成"),
    MCH_NAME_NOT_EMPTY("08008", "商户名称不能为空"),
    MCH_APPLY_TYPE_NOT_EMPTY("08009", "商户申请类型不能为空"),
    PAY_TYPE_ERROR("08010", "支付类型错误，请重新输入"),
    PAY_TYPE_NOT_EMPTY("08011", "支付类型不能为空"),
    PAY_TYPE_APPID_NOT_EMPTY("08012", "AppId不能为空"),
    PAY_TYPE_MCHID_NOT_EMPTY("08013", "第三方支付平台商户号不能为空"),
    PAY_TYPE_SECRETKEY_NOT_EMPTY("08014", "第三方支付平台密钥不能为空"),
    PAY_CHANNEL_IS_EXISTS("08015", "该支付渠道信息已经存在，无法重复添加"),
    MCODE_NOT_EMPTY("08016", "商户号不能为空"),
    PAY_CHANNEL_IS_EMPTY("08017", "支付渠道信息不存在"),
    PAY_TYPE_PRIVATE_KEY_NOT_EMPTY("08018", "私钥不能为空"),
    PAY_TYPE_PUBILC_KEY_NOT_EMPTY("08019", "公钥不能为空"),
    MCH_ORDER_NOT_EXIST("08020", "商户订单信息不存在"),
    MCH_ORDER_REFUND_ERROR("08021", "第三方支付平台退款申请失败"),
    WX_AUTH_CODE_INVALID("08022", "微信支付授权码错误或失效"),
    WX_PAY_NOT_ALLOW("08023", "订单撤销只支持商户主扫订单"),
    ALIPAY_INIT_FACE_PAY_ERROR("08024", "支付宝人脸支付初始化失败"),
    WEIXIN_PAY_INIT_FACE_PAY_ERROR("08025", "微信人脸支付初始化失败"),

    ALIPAY_SIGN_ERROR("08201", "支付宝签名错误,私KEY有误"),
    ALIPAY_PRECREATE_ERROR("08202", "请检查支付参数配置信息"),
    ALIPAY_PRECREATE_RESPONSE_ERROR("08203", "请检查支付参数配置信息"),
    ALIPAY_QUERY_ERROR("08204", "支付宝查询错误"),
    ALIPAY_QUERY_RESPONSE_ERROR("08205", "支付宝查询返回错误"),
    ALIPAY_CANCEL_ERROR("08206", "支付宝交易撤销错误"),
    ALIPAY_CANCEL_RESPONSE_ERROR("08207", "支付宝交易撤销返回错误"),
    ALIPAY_CLOSE_ERROR("08213", "支付宝交易关闭错误"),
    ALIPAY_CLOSE_RESPONSE_ERROR("08214", "支付宝交易关闭返回错误"),
    ALIPAY_PAY_ERROR("08215", "支付宝预支付错误"),
    ALIPAY_PAY_RESPONSE_ERROR("08216", "请检查支付参数配置信息"),
    
    ALIPAY_PAYORDER_IS_NOT_EXIST("08208", "返回的商户订单号不存在"),
    ALIPAY_CHANNEL_IS_NOT_EXIST("08209", "返回的商户订单号对应的商户没有支付宝支付渠道"),
    ALIPAY_CHECK_SIGN_ERROR("08210", "同步订单状态的参数验签错误"),
    ALIPAY_AMOUNT_ERROR("08211", "同步订单状态的金额不一致"),
    ALIPAY_REFUND_ERROR("08212", "支付宝退款返回错误"),
    ALIPAY_FACE_PAY_ERROR("08213", "请检查支付参数配置信息"),

    XYHF_CREATE_ORDER_SUCCESS("08217", "支付成功"),
    XYHF_CREATE_ORDER_ERROR("08218", "错误"),
    XYHF_CREATE_ORDER_AUTH_CODE_INVALID("08219", "二维码已过期,请刷新再试"),
    XYHF_CREATE_ORDER_USERPAYING("08220", "等待客户验证密码"),
    XYHF_CREATE_ORDER_TRADE_ERROR("08221", "暂无可用的支付方式,请绑定其它银行卡完成支付"),
    XYHF_CREATE_ORDER_REFUND("08222", "转入退款"),
    XYHF_CREATE_ORDER_NOTPAY("08223", "未支付"),
    XYHF_CREATE_ORDER_CLOSED("08224", "已关闭"),
    XYHF_CREATE_ORDER_REVOKED("08225", "已撤销"),
    WFT_PAY_TYPE_NOT_SUPPORT("08226", "威富通暂不支持用户扫码支付"),
    
    FREEZE_AMOUNT_LESS("08227", "剩余授权金额少于解冻金额，无法解冻"),

    PAY_TYPE_INFO_NOT_EMPTY("08228", "第三方支付平台支付参数不能为空"),
    ;

    private String code;
    private String message;

    PaymentErrorCode(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}
