/**
 * Adyen Recurring API
 * The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.  For more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization). ## Authentication To connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:  ``` curl -U \"ws@Company.YourCompany\":\"YourWsPassword\" \\ -H \"Content-Type: application/json\" \\ ... ``` Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).  ## Versioning Recurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.  For example: ``` https://pal-test.adyen.com/pal/servlet/Recurring/v49/disable ```
 *
 * The version of the OpenAPI document: 49
 * 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 the class manually.
 */ import { Address } from './address' ; import { BankAccount } from './bankAccount' ; import { Card } from './card' ; import { Name } from './name' ; export class RecurringDetail { /**
    * This field contains additional data, which may be returned in a particular response.  The additionalData object consists of entries, each of which includes the key and value.
    */ 'additionalData' ? : { [ key ] : string ; } ; /**
    * The alias of the credit card number.  Applies only to recurring contracts storing credit card details
    */ 'alias' ? : string ; /**
    * The alias type of the credit card number.  Applies only to recurring contracts storing credit card details.
    */ 'aliasType' ? : string ; 'bank' ? : BankAccount ; 'billingAddress' ? : Address ; 'card' ? : Card ; /**
    * Types of recurring contracts.
    */ 'contractTypes' ? : Array < string > ; /**
    * The date when the recurring details were created.
    */ 'creationDate' ? : Date ; /**
    * The `pspReference` of the first recurring payment that created the recurring detail.
    */ 'firstPspReference' ? : string ; /**
    * An optional descriptive name for this recurring detail.
    */ 'name' ? : string ; /**
    * The  type or sub-brand of a payment method used, e.g. Visa Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).
    */ 'paymentMethodVariant' ? : string ; /**
    * The reference that uniquely identifies the recurring detail.
    */ 'recurringDetailReference' : string ; 'shopperName' ? : Name ; /**
    * A shopper\'s social security number (only in countries where it is legal to collect).
    */ 'socialSecurityNumber' ? : string ; /**
    * The payment method, such as “mc\", \"visa\", \"ideal\", \"paypal\".
    */ 'variant' : string ; static discriminator : string | undefined = undefined ; static attributeTypeMap : Array < { name : string ; baseName : string ; type : string ; } > = [ { "name" : "additionalData" , "baseName" : "additionalData" , "type" : "{ [key: string]: string; }" } , { "name" : "alias" , "baseName" : "alias" , "type" : "string" } , { "name" : "aliasType" , "baseName" : "aliasType" , "type" : "string" } , { "name" : "bank" , "baseName" : "bank" , "type" : "BankAccount" } , { "name" : "billingAddress" , "baseName" : "billingAddress" , "type" : "Address" } , { "name" : "card" , "baseName" : "card" , "type" : "Card" } , { "name" : "contractTypes" , "baseName" : "contractTypes" , "type" : "Array<string>" } , { "name" : "creationDate" , "baseName" : "creationDate" , "type" : "Date" } , { "name" : "firstPspReference" , "baseName" : "firstPspReference" , "type" : "string" } , { "name" : "name" , "baseName" : "name" , "type" : "string" } , { "name" : "paymentMethodVariant" , "baseName" : "paymentMethodVariant" , "type" : "string" } , { "name" : "recurringDetailReference" , "baseName" : "recurringDetailReference" , "type" : "string" } , { "name" : "shopperName" , "baseName" : "shopperName" , "type" : "Name" } , { "name" : "socialSecurityNumber" , "baseName" : "socialSecurityNumber" , "type" : "string" } , { "name" : "variant" , "baseName" : "variant" , "type" : "string" } ] ; static getAttributeTypeMap ( ) { return RecurringDetail . attributeTypeMap ; } }