/* * 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 { safeParse } from "../../lib/schemas.js"; import * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * The specific event name. */ export const Name = { TransactionUpdatedStatus: "transaction-updated-status", TransactionSyncEvent: "transaction-sync-event", TransactionSyncFailedEvent: "transaction-sync-failed-event", TransactionModifiedEvent: "transaction-modified-event", TransactionApiRequest: "transaction-api-request", TransactionApiResponse: "transaction-api-response", BinLookupRequest: "bin-lookup-request", ThreeDSecureSuccess: "three-d-secure-success", ThreeDSecureRequestError: "three-d-secure-request-error", ThreeDSecurePreparationRequest: "three-d-secure-preparation-request", ThreeDSecureAuthenticationRequest: "three-d-secure-authentication-request", ThreeDSecureResultRequest: "three-d-secure-result-request", AntiFraudDecision: "anti-fraud-decision", AntiFraudDecisionError: "anti-fraud-decision-error", AntiFraudDecisionSkipped: "anti-fraud-decision-skipped", AntiFraudWebhook: "anti-fraud-webhook", AntiFraudTransactionStatusUpdate: "anti-fraud-transaction-status-update", AntiFraudTransactionStatusUpdateError: "anti-fraud-transaction-status-update-error", AntiFraudDecisionUpdate: "anti-fraud-decision-update", AntiFraudDecisionUpdateError: "anti-fraud-decision-update-error", GiftCardRedemptionSucceeded: "gift-card-redemption-succeeded", GiftCardRedemptionFailed: "gift-card-redemption-failed", GiftCardRefundSucceeded: "gift-card-refund-succeeded", GiftCardRefundFailed: "gift-card-refund-failed", GiftCardReversalSucceeded: "gift-card-reversal-succeeded", ReauthorizationAttempted: "reauthorization-attempted", ReauthorizationCreated: "reauthorization-created", PaymentConnectorResponseTransactionAuthorizationSucceeded: "payment-connector-response-transaction-authorization-succeeded", PaymentConnectorResponseTransactionCaptureSucceeded: "payment-connector-response-transaction-capture-succeeded", PaymentConnectorResponseTransactionAuthorizationFailed: "payment-connector-response-transaction-authorization-failed", PaymentConnectorResponseTransactionDeclined: "payment-connector-response-transaction-declined", PaymentConnectorResponseTransactionCaptureFailed: "payment-connector-response-transaction-capture-failed", PaymentConnectorResponseTransactionCaptureDeclined: "payment-connector-response-transaction-capture-declined", PaymentConnectorResponseTransactionCancelSucceeded: "payment-connector-response-transaction-cancel-succeeded", PaymentConnectorResponseTransactionCancelPending: "payment-connector-response-transaction-cancel-pending", PaymentConnectorResponseTransactionCancelFailed: "payment-connector-response-transaction-cancel-failed", PaymentConnectorResponseTransactionVoidSucceeded: "payment-connector-response-transaction-void-succeeded", PaymentConnectorResponseTransactionAuthorizationIncrementSucceeded: "payment-connector-response-transaction-authorization-increment-succeeded", PaymentConnectorResponseTransactionAuthorizationIncrementFailed: "payment-connector-response-transaction-authorization-increment-failed", PaymentConnectorResponseTransactionVoidDeclined: "payment-connector-response-transaction-void-declined", PaymentConnectorResponseTransactionVoidFailed: "payment-connector-response-transaction-void-failed", PaymentConnectorExternalTransactionRequest: "payment-connector-external-transaction-request", PaymentConnectorReportTransactionSettled: "payment-connector-report-transaction-settled", PaymentConnectorReportRefundSettled: "payment-connector-report-refund-settled", PaymentConnectorReportChargebackPosted: "payment-connector-report-chargeback-posted", PaymentConnectorReportChargebackReversalPosted: "payment-connector-report-chargeback-reversal-posted", PaymentConnectorTransactionWebhookProcessed: "payment-connector-transaction-webhook-processed", DigitalWalletApplePayTokenDecrypted: "digital-wallet-apple-pay-token-decrypted", DigitalWalletGooglePayTokenDecrypted: "digital-wallet-google-pay-token-decrypted", DigitalWalletClickToPayTokenDecrypted: "digital-wallet-click-to-pay-token-decrypted", DigitalWalletPazeTokenDecrypted: "digital-wallet-paze-token-decrypted", NetworkTokenProvisionSucceeded: "network-token-provision-succeeded", NetworkTokenProvisionFailed: "network-token-provision-failed", NetworkTokenCryptogramProvisionSucceeded: "network-token-cryptogram-provision-succeeded", NetworkTokenCryptogramProvisionFailed: "network-token-cryptogram-provision-failed", TheGivingBlockTransactionConversionSucceeded: "the-giving-block-transaction-conversion-succeeded", RealTimeAccountUpdate: "real-time-account-update", PlaidRequestEvent: "plaid-request-event", } as const; /** * The specific event name. */ export type Name = OpenEnum; export type TransactionEvent = { /** * Always `transaction-event`. */ type: "transaction-event"; /** * The ID for the event. */ id: string; /** * The specific event name. */ name: Name; /** * The date this event was created at. */ createdAt: Date; context: { [k: string]: any }; }; /** @internal */ export const Name$inboundSchema: z.ZodType = openEnums.inboundSchema(Name); /** @internal */ export const TransactionEvent$inboundSchema: z.ZodType< TransactionEvent, z.ZodTypeDef, unknown > = z.object({ type: z.literal("transaction-event").default("transaction-event"), id: z.string(), name: Name$inboundSchema, created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), context: z.record(z.any()), }).transform((v) => { return remap$(v, { "created_at": "createdAt", }); }); export function transactionEventFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => TransactionEvent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TransactionEvent' from JSON`, ); }