/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import * as types from "../../types/primitives.js"; import { PaymentAttemptResponse, PaymentAttemptResponse$inboundSchema, } from "./payment-attempt-response.js"; import { PaymentDestinationType, PaymentDestinationType$inboundSchema, } from "./payment-destination-type.js"; import { PaymentMethodType, PaymentMethodType$inboundSchema, } from "./payment-method-type.js"; import { PaymentStatus, PaymentStatus$inboundSchema, } from "./payment-status.js"; import { SDKValidationError } from "./sdk-validation-error.js"; export type PaymentResponse = { amount?: string | undefined; attempts?: Array | undefined; createdAt?: Date | undefined; createdBy?: string | undefined; currency?: string | undefined; destinationId?: string | undefined; destinationType?: PaymentDestinationType | undefined; environmentId?: string | undefined; errorMessage?: string | undefined; failedAt?: Date | undefined; gatewayMetadata?: { [k: string]: string } | undefined; gatewayPaymentId?: string | undefined; gatewayTrackingId?: string | undefined; id?: string | undefined; idempotencyKey?: string | undefined; invoiceNumber?: string | undefined; metadata?: { [k: string]: string } | undefined; paymentGateway?: string | undefined; paymentMethodId?: string | undefined; paymentMethodType?: PaymentMethodType | undefined; paymentStatus?: PaymentStatus | undefined; paymentUrl?: string | undefined; refundedAt?: Date | undefined; saveCardAndMakeDefault?: boolean | undefined; succeededAt?: Date | undefined; tenantId?: string | undefined; trackAttempts?: boolean | undefined; updatedAt?: Date | undefined; updatedBy?: string | undefined; voidedAt?: Date | undefined; }; /** @internal */ export const PaymentResponse$inboundSchema: z.ZodMiniType< PaymentResponse, unknown > = z.pipe( z.object({ amount: types.optional(types.string()), attempts: types.optional(z.array(PaymentAttemptResponse$inboundSchema)), created_at: types.optional(types.date()), created_by: types.optional(types.string()), currency: types.optional(types.string()), destination_id: types.optional(types.string()), destination_type: types.optional(PaymentDestinationType$inboundSchema), environment_id: types.optional(types.string()), error_message: types.optional(types.string()), failed_at: types.optional(types.date()), gateway_metadata: types.optional(z.record(z.string(), types.string())), gateway_payment_id: types.optional(types.string()), gateway_tracking_id: types.optional(types.string()), id: types.optional(types.string()), idempotency_key: types.optional(types.string()), invoice_number: types.optional(types.string()), metadata: types.optional(z.record(z.string(), types.string())), payment_gateway: types.optional(types.string()), payment_method_id: types.optional(types.string()), payment_method_type: types.optional(PaymentMethodType$inboundSchema), payment_status: types.optional(PaymentStatus$inboundSchema), payment_url: types.optional(types.string()), refunded_at: types.optional(types.date()), save_card_and_make_default: types.optional(types.boolean()), succeeded_at: types.optional(types.date()), tenant_id: types.optional(types.string()), track_attempts: types.optional(types.boolean()), updated_at: types.optional(types.date()), updated_by: types.optional(types.string()), voided_at: types.optional(types.date()), }), z.transform((v) => { return remap$(v, { "created_at": "createdAt", "created_by": "createdBy", "destination_id": "destinationId", "destination_type": "destinationType", "environment_id": "environmentId", "error_message": "errorMessage", "failed_at": "failedAt", "gateway_metadata": "gatewayMetadata", "gateway_payment_id": "gatewayPaymentId", "gateway_tracking_id": "gatewayTrackingId", "idempotency_key": "idempotencyKey", "invoice_number": "invoiceNumber", "payment_gateway": "paymentGateway", "payment_method_id": "paymentMethodId", "payment_method_type": "paymentMethodType", "payment_status": "paymentStatus", "payment_url": "paymentUrl", "refunded_at": "refundedAt", "save_card_and_make_default": "saveCardAndMakeDefault", "succeeded_at": "succeededAt", "tenant_id": "tenantId", "track_attempts": "trackAttempts", "updated_at": "updatedAt", "updated_by": "updatedBy", "voided_at": "voidedAt", }); }), ); export function paymentResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PaymentResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PaymentResponse' from JSON`, ); }