/* * 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 { CardScheme, CardScheme$outboundSchema } from "./cardscheme.js"; export type MerchantAccountThreeDSConfigurationUpdate = { /** * Acquirer BIN to use when calling 3DS through this scheme. */ merchantAcquirerBin?: string | null | undefined; /** * Merchant ID to use when calling 3DS through this scheme. */ merchantAcquirerId?: string | null | undefined; merchantName?: string | null | undefined; /** * The merchant's ISO 3166-1 numeric country code. */ merchantCountryCode?: string | null | undefined; /** * Merchant category code to use when calling 3DS through this scheme. */ merchantCategoryCode?: string | null | undefined; /** * URL to send when calling 3DS through this scheme. */ merchantUrl?: string | null | undefined; /** * The card scheme for this 3DS configuration */ scheme?: CardScheme | null | undefined; /** * ISO 4217 currency code (3 characters). If left null, the configuration will apply to all currencies. */ currency?: string | null | undefined; /** * Any additional information about the 3DS configuration that you would like to store as key-value pairs. */ metadata?: { [k: string]: string } | null | undefined; }; /** @internal */ export type MerchantAccountThreeDSConfigurationUpdate$Outbound = { merchant_acquirer_bin?: string | null | undefined; merchant_acquirer_id?: string | null | undefined; merchant_name?: string | null | undefined; merchant_country_code?: string | null | undefined; merchant_category_code?: string | null | undefined; merchant_url?: string | null | undefined; scheme?: string | null | undefined; currency?: string | null | undefined; metadata?: { [k: string]: string } | null | undefined; }; /** @internal */ export const MerchantAccountThreeDSConfigurationUpdate$outboundSchema: z.ZodType< MerchantAccountThreeDSConfigurationUpdate$Outbound, z.ZodTypeDef, MerchantAccountThreeDSConfigurationUpdate > = z.object({ merchantAcquirerBin: z.nullable(z.string()).optional(), merchantAcquirerId: z.nullable(z.string()).optional(), merchantName: z.nullable(z.string()).optional(), merchantCountryCode: z.nullable(z.string()).optional(), merchantCategoryCode: z.nullable(z.string()).optional(), merchantUrl: z.nullable(z.string()).optional(), scheme: z.nullable(CardScheme$outboundSchema).optional(), currency: z.nullable(z.string()).optional(), metadata: z.nullable(z.record(z.string())).optional(), }).transform((v) => { return remap$(v, { merchantAcquirerBin: "merchant_acquirer_bin", merchantAcquirerId: "merchant_acquirer_id", merchantName: "merchant_name", merchantCountryCode: "merchant_country_code", merchantCategoryCode: "merchant_category_code", merchantUrl: "merchant_url", }); }); export function merchantAccountThreeDSConfigurationUpdateToJSON( merchantAccountThreeDSConfigurationUpdate: MerchantAccountThreeDSConfigurationUpdate, ): string { return JSON.stringify( MerchantAccountThreeDSConfigurationUpdate$outboundSchema.parse( merchantAccountThreeDSConfigurationUpdate, ), ); }