/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { BankAccountHolder, BankAccountHolder$Outbound, BankAccountHolder$outboundSchema, } from "./bankaccountholder.js"; /** * Base class for Bank Payment Methods. */ export type BaseBankPaymentMethodCreate = { /** * Always `bank`. */ method?: "bank" | undefined; accountHolder: BankAccountHolder; /** * The ID of the buyer to attach the method to. */ buyerId?: string | null | undefined; /** * The merchant reference for this payment method. */ buyerExternalIdentifier?: string | null | undefined; /** * The merchant identifier for this payment method. */ externalIdentifier?: string | null | undefined; }; /** @internal */ export type BaseBankPaymentMethodCreate$Outbound = { method: "bank"; account_holder: BankAccountHolder$Outbound; buyer_id?: string | null | undefined; buyer_external_identifier?: string | null | undefined; external_identifier?: string | null | undefined; }; /** @internal */ export const BaseBankPaymentMethodCreate$outboundSchema: z.ZodType< BaseBankPaymentMethodCreate$Outbound, z.ZodTypeDef, BaseBankPaymentMethodCreate > = z.object({ method: z.literal("bank").default("bank" as const), accountHolder: BankAccountHolder$outboundSchema, buyerId: z.nullable(z.string()).optional(), buyerExternalIdentifier: z.nullable(z.string()).optional(), externalIdentifier: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { accountHolder: "account_holder", buyerId: "buyer_id", buyerExternalIdentifier: "buyer_external_identifier", externalIdentifier: "external_identifier", }); }); export function baseBankPaymentMethodCreateToJSON( baseBankPaymentMethodCreate: BaseBankPaymentMethodCreate, ): string { return JSON.stringify( BaseBankPaymentMethodCreate$outboundSchema.parse( baseBankPaymentMethodCreate, ), ); }