/** * PayPal Server SDKLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { lazy, object, optional, Schema, string } from '../schema.js'; import { BinDetails, binDetailsSchema } from './binDetails.js'; import { CardAuthenticationResponse, cardAuthenticationResponseSchema, } from './cardAuthenticationResponse.js'; import { CardBrand, cardBrandSchema } from './cardBrand.js'; import { CardResponseAddress, cardResponseAddressSchema, } from './cardResponseAddress.js'; import { CardType, cardTypeSchema } from './cardType.js'; import { CardVerificationDetails, cardVerificationDetailsSchema, } from './cardVerificationDetails.js'; import { CardVerificationStatus, cardVerificationStatusSchema, } from './cardVerificationStatus.js'; import { NetworkTransactionReferenceEntity, networkTransactionReferenceEntitySchema, } from './networkTransactionReferenceEntity.js'; export interface SetupTokenResponseCard { /** The card holder's name as it appears on the card. */ name?: string; /** The last digits of the payment card. */ lastDigits?: string; /** The card network or brand. Applies to credit, debit, gift, and payment cards. */ brand?: CardBrand; /** The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). */ expiry?: string; /** Address request details. */ billingAddress?: CardResponseAddress; /** Verification status of Card. */ verificationStatus?: CardVerificationStatus; /** Card Verification details including the authorization details and 3D SECURE details. */ verification?: CardVerificationDetails; /** Previous network transaction reference including id in response. */ networkTransactionReference?: NetworkTransactionReferenceEntity; /** Results of Authentication such as 3D Secure. */ authenticationResult?: CardAuthenticationResponse; /** Bank Identification Number (BIN) details used to fund a payment. */ binDetails?: BinDetails; /** Type of card. i.e Credit, Debit and so on. */ type?: CardType; } export const setupTokenResponseCardSchema: Schema = lazy( () => object({ name: ['name', optional(string())], lastDigits: ['last_digits', optional(string())], brand: ['brand', optional(cardBrandSchema)], expiry: ['expiry', optional(string())], billingAddress: ['billing_address', optional(cardResponseAddressSchema)], verificationStatus: [ 'verification_status', optional(cardVerificationStatusSchema), ], verification: ['verification', optional(cardVerificationDetailsSchema)], networkTransactionReference: [ 'network_transaction_reference', optional(networkTransactionReferenceEntitySchema), ], authenticationResult: [ 'authentication_result', optional(cardAuthenticationResponseSchema), ], binDetails: ['bin_details', optional(binDetailsSchema)], type: ['type', optional(cardTypeSchema)], }) );