/* * 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 * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; export const VaultPaymentMethodCriteria = { Always: "ALWAYS", OnSuccessfulTransaction: "ON_SUCCESSFUL_TRANSACTION", } as const; export type VaultPaymentMethodCriteria = OpenEnum< typeof VaultPaymentMethodCriteria >; export type BraintreeDynamicDataFieldsOptions = { /** * Passes the 3DS status to the Braintree API using `customFields` with the key set to the value of `three_ds_auth_status` */ threeDsAuthStatus?: string | null | undefined; /** * Passes the `transaction.purchaseOrderNumber` field when creating a new transaction. */ purchaseOrderNumber?: string | null | undefined; /** * Passes the `vaultPaymentMethodCriteria` field when creating a new transaction. */ vaultPaymentMethodCriteria?: VaultPaymentMethodCriteria | null | undefined; }; /** @internal */ export const VaultPaymentMethodCriteria$outboundSchema: z.ZodType< string, z.ZodTypeDef, VaultPaymentMethodCriteria > = openEnums.outboundSchema(VaultPaymentMethodCriteria); /** @internal */ export type BraintreeDynamicDataFieldsOptions$Outbound = { three_ds_auth_status?: string | null | undefined; purchase_order_number?: string | null | undefined; vault_payment_method_criteria?: string | null | undefined; }; /** @internal */ export const BraintreeDynamicDataFieldsOptions$outboundSchema: z.ZodType< BraintreeDynamicDataFieldsOptions$Outbound, z.ZodTypeDef, BraintreeDynamicDataFieldsOptions > = z.object({ threeDsAuthStatus: z.nullable(z.string()).optional(), purchaseOrderNumber: z.nullable(z.string()).optional(), vaultPaymentMethodCriteria: z.nullable( VaultPaymentMethodCriteria$outboundSchema, ).optional(), }).transform((v) => { return remap$(v, { threeDsAuthStatus: "three_ds_auth_status", purchaseOrderNumber: "purchase_order_number", vaultPaymentMethodCriteria: "vault_payment_method_criteria", }); }); export function braintreeDynamicDataFieldsOptionsToJSON( braintreeDynamicDataFieldsOptions: BraintreeDynamicDataFieldsOptions, ): string { return JSON.stringify( BraintreeDynamicDataFieldsOptions$outboundSchema.parse( braintreeDynamicDataFieldsOptions, ), ); }