/*
 * The version of the OpenAPI document: v52
 * Contact: developer-experience@adyen.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit this class manually.
 */


export class CardBin {
    /**
    * The first 6 digit of the card number. Enable this field via merchant account settings.
    */
    'bin'?: string;
    /**
    * If true, it indicates a commercial card. Enable this field via merchant account settings.
    */
    'commercial'?: boolean;
    /**
    * The card funding source. Valid values are: * CHARGE * CREDIT * DEBIT * DEFERRED_DEBIT * PREPAID * PREPAID_RELOADABLE * PREPAID_NONRELOADABLE > Enable this field via merchant account settings.
    */
    'fundingSource'?: string;
    /**
    * Indicates availability of funds.  Visa: * \"I\" (fast funds are supported) * \"N\" (otherwise)  Mastercard: * \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) * \"N\" (otherwise) > Returned when you verify a card BIN or estimate costs, and only if `payoutEligible` is different from \"N\" or \"U\".
    */
    'fundsAvailability'?: string;
    /**
    * The issuing bank of the card.
    */
    'issuingBank'?: string;
    /**
    * The country where the card was issued from.
    */
    'issuingCountry'?: string;
    /**
    * The currency of the card.
    */
    'issuingCurrency'?: string;
    /**
    * The payment method associated with the card (e.g. visa, mc, or amex).
    */
    'paymentMethod'?: string;
    /**
    * Indicates whether a payout is eligible or not for this card.  Visa: * \"Y\" * \"N\"  Mastercard: * \"Y\" (domestic and cross-border) * \"D\" (only domestic) * \"N\" (no MoneySend) * \"U\" (unknown) > Returned when you verify a card BIN or estimate costs, and only if `payoutEligible` is different from \"N\" or \"U\".
    */
    'payoutEligible'?: string;
    /**
    * The last four digits of the card number.
    */
    'summary'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "bin",
            "baseName": "bin",
            "type": "string"
        },
        {
            "name": "commercial",
            "baseName": "commercial",
            "type": "boolean"
        },
        {
            "name": "fundingSource",
            "baseName": "fundingSource",
            "type": "string"
        },
        {
            "name": "fundsAvailability",
            "baseName": "fundsAvailability",
            "type": "string"
        },
        {
            "name": "issuingBank",
            "baseName": "issuingBank",
            "type": "string"
        },
        {
            "name": "issuingCountry",
            "baseName": "issuingCountry",
            "type": "string"
        },
        {
            "name": "issuingCurrency",
            "baseName": "issuingCurrency",
            "type": "string"
        },
        {
            "name": "paymentMethod",
            "baseName": "paymentMethod",
            "type": "string"
        },
        {
            "name": "payoutEligible",
            "baseName": "payoutEligible",
            "type": "string"
        },
        {
            "name": "summary",
            "baseName": "summary",
            "type": "string"
        }    ];

    static getAttributeTypeMap() {
        return CardBin.attributeTypeMap;
    }
}

