/* * 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 { BraintreeDynamicDataFieldsOptions, BraintreeDynamicDataFieldsOptions$Outbound, BraintreeDynamicDataFieldsOptions$outboundSchema, } from "./braintreedynamicdatafieldsoptions.js"; export type BraintreeOptions = { /** * Passes a discount amount to be applied to the transaction when using Braintree. */ discountAmount?: number | null | undefined; /** * Passes `customFields` to the Braintree API when creating a new payment. Custom fields allow you to customize your checkout experience by collecting specific information about your customers and their purchases. */ customFields?: { [k: string]: string } | null | undefined; /** * Additional dynamic fields to pass to the Braintree API */ dynamicDataFields?: BraintreeDynamicDataFieldsOptions | null | undefined; }; /** @internal */ export type BraintreeOptions$Outbound = { discount_amount?: number | null | undefined; custom_fields?: { [k: string]: string } | null | undefined; dynamic_data_fields?: | BraintreeDynamicDataFieldsOptions$Outbound | null | undefined; }; /** @internal */ export const BraintreeOptions$outboundSchema: z.ZodType< BraintreeOptions$Outbound, z.ZodTypeDef, BraintreeOptions > = z.object({ discountAmount: z.nullable(z.number().int()).optional(), customFields: z.nullable(z.record(z.string())).optional(), dynamicDataFields: z.nullable( BraintreeDynamicDataFieldsOptions$outboundSchema, ).optional(), }).transform((v) => { return remap$(v, { discountAmount: "discount_amount", customFields: "custom_fields", dynamicDataFields: "dynamic_data_fields", }); }); export function braintreeOptionsToJSON( braintreeOptions: BraintreeOptions, ): string { return JSON.stringify( BraintreeOptions$outboundSchema.parse(braintreeOptions), ); }