import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BasicPaymentMethod, BasicPaymentMethod$Outbound } from "./basicpaymentmethod.js"; import { CardAccountUpdater, CardAccountUpdater$Outbound } from "./cardaccountupdater.js"; import { CardAddress, CardAddress$Outbound } from "./cardaddress.js"; import { CardBrand } from "./cardbrand.js"; import { CardExpiration, CardExpiration$Outbound } from "./cardexpiration.js"; import { CardType } from "./cardtype.js"; import { CardVerification, CardVerification$Outbound } from "./cardverification.js"; import { DomesticPullFromCard } from "./domesticpullfromcard.js"; import { DomesticPushToCard } from "./domesticpushtocard.js"; /** * Describes a card on a Moov account. */ export type Card = { /** * ID of the card. */ cardID: string; /** * Uniquely identifies a linked payment card or token. * * @remarks * For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device. * This field can be used to identify specific payment methods across multiple accounts on your platform. */ fingerprint: string; /** * The card brand. */ brand: CardBrand; /** * The type of the card. */ cardType: CardType; /** * The category or level of the card defined by the issuer. * * @remarks * Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING". */ cardCategory?: string | undefined; /** * Last four digits of the card number */ lastFourCardNumber: string; /** * The first six to eight digits of the card number, which identifies the financial institution that issued the card. */ bin: string; /** * The expiration date of the card or token. */ expiration: CardExpiration; /** * The name of the cardholder as it appears on the card. */ holderName?: string | undefined; billingAddress: CardAddress; /** * The results of submitting cardholder data to a card network for verification. */ cardVerification: CardVerification; /** * Financial institution that issued the card. */ issuer?: string | undefined; /** * Country where the card was issued. */ issuerCountry?: string | undefined; /** * URL of the issuer. */ issuerURL?: string | undefined; /** * Phone number of the issuer. */ issuerPhone?: string | undefined; /** * If true, the card is for commercial use, or associated with a business. * * @remarks * If false, the card is associated with a general consumer. */ commercial?: boolean | undefined; /** * If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment. * * @remarks * If false, the card issuing bank is not regulated, and the scheme fees will not be limited. */ regulated?: boolean | undefined; /** * Indicates cardholder has authorized card to be stored for future payments. */ cardOnFile?: boolean | undefined; merchantAccountID?: string | undefined; /** * The results of the most recent card update request. */ cardAccountUpdater?: CardAccountUpdater | undefined; /** * Indicates which level of domestic push-to-card transfer is supported by the card, if any. */ domesticPushToCard?: DomesticPushToCard | undefined; /** * Indicates if the card supports domestic pull-from-card transfer. */ domesticPullFromCard?: DomesticPullFromCard | undefined; /** * Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`. * * @remarks * * Only returned by the link card endpoint; not included when getting or listing cards. */ paymentMethods?: Array | undefined; }; /** @internal */ export declare const Card$inboundSchema: z.ZodType; /** @internal */ export type Card$Outbound = { cardID: string; fingerprint: string; brand: string; cardType: string; cardCategory?: string | undefined; lastFourCardNumber: string; bin: string; expiration: CardExpiration$Outbound; holderName?: string | undefined; billingAddress: CardAddress$Outbound; cardVerification: CardVerification$Outbound; issuer?: string | undefined; issuerCountry?: string | undefined; issuerURL?: string | undefined; issuerPhone?: string | undefined; commercial?: boolean | undefined; regulated?: boolean | undefined; cardOnFile?: boolean | undefined; merchantAccountID?: string | undefined; cardAccountUpdater?: CardAccountUpdater$Outbound | undefined; domesticPushToCard?: string | undefined; domesticPullFromCard?: string | undefined; paymentMethods?: Array | undefined; }; /** @internal */ export declare const Card$outboundSchema: z.ZodType; export declare function cardToJSON(card: Card): string; export declare function cardFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=card.d.ts.map