qgw
    Preparing search index...
    transactionRequestSchema: ZodObject<
        {
            options: ZodOptional<
                ZodObject<
                    {
                        dataSeparator: ZodOptional<ZodString>;
                        emailCustomerReceipt: ZodOptional<ZodBoolean>;
                        maxMindOn: ZodOptional<ZodBoolean>;
                        restrictKey: ZodOptional<ZodString>;
                        sendTransactionEmail: ZodOptional<ZodBoolean>;
                        transactionID: ZodOptional<ZodString>;
                        transactionType: ZodOptional<
                            ZodEnum<
                                ["SALE", "AUTH", "CREDIT", "VOID", "PREVIOUS_SALE", "POSTAUTH"],
                            >,
                        >;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        dataSeparator?: string;
                        emailCustomerReceipt?: boolean;
                        maxMindOn?: boolean;
                        restrictKey?: string;
                        sendTransactionEmail?: boolean;
                        transactionID?: string;
                        transactionType?: | "CREDIT"
                        | "SALE"
                        | "VOID"
                        | "PREVIOUS_SALE"
                        | "AUTH"
                        | "POSTAUTH";
                    },
                    {
                        dataSeparator?: string;
                        emailCustomerReceipt?: boolean;
                        maxMindOn?: boolean;
                        restrictKey?: string;
                        sendTransactionEmail?: boolean;
                        transactionID?: string;
                        transactionType?: | "CREDIT"
                        | "SALE"
                        | "VOID"
                        | "PREVIOUS_SALE"
                        | "AUTH"
                        | "POSTAUTH";
                    },
                >,
            >;
            payer: ZodObject<
                {
                    address: ZodString;
                    email: ZodString;
                    name: ZodDefault<ZodString>;
                    zip: ZodString;
                },
                "strip",
                ZodTypeAny,
                { address: string; email: string; name: string; zip: string },
                { address: string; email: string; name?: string; zip: string },
            >;
            payment: ZodObject<
                {
                    amount: ZodNumber;
                    method: ZodUnion<
                        [
                            ZodObject<
                                {
                                    cvv2: ZodOptional<ZodString>;
                                    cvvType: ZodOptional<ZodEnum<[(...), (...), (...), (...)]>>;
                                    expirationMonth: ZodString;
                                    expirationYear: ZodString;
                                    kind: ZodLiteral<"CC">;
                                    number: ZodString;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    cvv2?: string;
                                    cvvType?: "0"
                                    | "1"
                                    | "2"
                                    | "9";
                                    expirationMonth: string;
                                    expirationYear: string;
                                    kind: "CC";
                                    number: string;
                                },
                                {
                                    cvv2?: string;
                                    cvvType?: "0"
                                    | "1"
                                    | "2"
                                    | "9";
                                    expirationMonth: string;
                                    expirationYear: string;
                                    kind: "CC";
                                    number: string;
                                },
                            >,
                            ZodObject<
                                {
                                    aba: ZodString;
                                    checkingAccountNumber: ZodString;
                                    kind: ZodLiteral<"EFT">;
                                },
                                "strip",
                                ZodTypeAny,
                                { aba: string; checkingAccountNumber: string; kind: "EFT" },
                                { aba: string; checkingAccountNumber: string; kind: "EFT" },
                            >,
                        ],
                    >;
                },
                "strip",
                ZodTypeAny,
                {
                    amount: number;
                    method: | {
                        cvv2?: string;
                        cvvType?: "0"
                        | "1"
                        | "2"
                        | "9";
                        expirationMonth: string;
                        expirationYear: string;
                        kind: "CC";
                        number: string;
                    }
                    | { aba: string; checkingAccountNumber: string; kind: "EFT" };
                },
                {
                    amount: number;
                    method: | {
                        cvv2?: string;
                        cvvType?: "0"
                        | "1"
                        | "2"
                        | "9";
                        expirationMonth: string;
                        expirationYear: string;
                        kind: "CC";
                        number: string;
                    }
                    | { aba: string; checkingAccountNumber: string; kind: "EFT" };
                },
            >;
            recurringOptions: ZodOptional<
                ZodObject<
                    {
                        initialAmount: ZodOptional<ZodNumber>;
                        overrideRecurringDay: ZodOptional<ZodBoolean>;
                        overrideRecurringPrice: ZodOptional<ZodBoolean>;
                        recurCycles: ZodOptional<ZodNumber>;
                        rid: ZodString;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        initialAmount?: number;
                        overrideRecurringDay?: boolean;
                        overrideRecurringPrice?: boolean;
                        recurCycles?: number;
                        rid: string;
                    },
                    {
                        initialAmount?: number;
                        overrideRecurringDay?: boolean;
                        overrideRecurringPrice?: boolean;
                        recurCycles?: number;
                        rid: string;
                    },
                >,
            >;
        },
        "strip",
        ZodTypeAny,
        {
            options?: {
                dataSeparator?: string;
                emailCustomerReceipt?: boolean;
                maxMindOn?: boolean;
                restrictKey?: string;
                sendTransactionEmail?: boolean;
                transactionID?: string;
                transactionType?: | "CREDIT"
                | "SALE"
                | "VOID"
                | "PREVIOUS_SALE"
                | "AUTH"
                | "POSTAUTH";
            };
            payer: { address: string; email: string; name: string; zip: string };
            payment: {
                amount: number;
                method:
                    | {
                        cvv2?: string;
                        cvvType?: "0"
                        | "1"
                        | "2"
                        | "9";
                        expirationMonth: string;
                        expirationYear: string;
                        kind: "CC";
                        number: string;
                    }
                    | { aba: string; checkingAccountNumber: string; kind: "EFT" };
            };
            recurringOptions?: {
                initialAmount?: number;
                overrideRecurringDay?: boolean;
                overrideRecurringPrice?: boolean;
                recurCycles?: number;
                rid: string;
            };
        },
        {
            options?: {
                dataSeparator?: string;
                emailCustomerReceipt?: boolean;
                maxMindOn?: boolean;
                restrictKey?: string;
                sendTransactionEmail?: boolean;
                transactionID?: string;
                transactionType?: | "CREDIT"
                | "SALE"
                | "VOID"
                | "PREVIOUS_SALE"
                | "AUTH"
                | "POSTAUTH";
            };
            payer: { address: string; email: string; name?: string; zip: string };
            payment: {
                amount: number;
                method:
                    | {
                        cvv2?: string;
                        cvvType?: "0"
                        | "1"
                        | "2"
                        | "9";
                        expirationMonth: string;
                        expirationYear: string;
                        kind: "CC";
                        number: string;
                    }
                    | { aba: string; checkingAccountNumber: string; kind: "EFT" };
            };
            recurringOptions?: {
                initialAmount?: number;
                overrideRecurringDay?: boolean;
                overrideRecurringPrice?: boolean;
                recurCycles?: number;
                rid: string;
            };
        },
    > = ...

    This schema validates the input for the TransactionRequest object. It checks for required fields, valid formats, and custom validation rules. To use this schema, pass your input data to the transactionRequestSchema.parse(data) method.