/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ApplePayHeader, ApplePayHeader$inboundSchema, ApplePayHeader$Outbound, ApplePayHeader$outboundSchema, } from "./applepayheader.js"; /** * Contains the encrypted payment data. * * @remarks * * Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916115-paymentdata) * for more information. */ export type LinkApplePaymentData = { /** * Specifies the encryption used for the payment token ("EC_v1" or "RSA_v1"). */ version: string; /** * The encrypted, base64-encoded payment data. */ data: string; /** * A base64 encoded signature of the payment and header data. */ signature: string; /** * Information needed to decrypt Apple Pay payment data. * * @remarks * * Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) * for more information. */ header: ApplePayHeader; }; /** @internal */ export const LinkApplePaymentData$inboundSchema: z.ZodType< LinkApplePaymentData, z.ZodTypeDef, unknown > = z.object({ version: z.string(), data: z.string(), signature: z.string(), header: ApplePayHeader$inboundSchema, }); /** @internal */ export type LinkApplePaymentData$Outbound = { version: string; data: string; signature: string; header: ApplePayHeader$Outbound; }; /** @internal */ export const LinkApplePaymentData$outboundSchema: z.ZodType< LinkApplePaymentData$Outbound, z.ZodTypeDef, LinkApplePaymentData > = z.object({ version: z.string(), data: z.string(), signature: z.string(), header: ApplePayHeader$outboundSchema, }); export function linkApplePaymentDataToJSON( linkApplePaymentData: LinkApplePaymentData, ): string { return JSON.stringify( LinkApplePaymentData$outboundSchema.parse(linkApplePaymentData), ); } export function linkApplePaymentDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => LinkApplePaymentData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LinkApplePaymentData' from JSON`, ); }