Skip to content

InitiatePaymentSchema

const InitiatePaymentSchema: ZodObject<{ amount: ZodNumber; callbackUrl: ZodOptional<ZodString>; currency: ZodNativeEnum<typeof Currency>; description: ZodOptional<ZodString>; email: ZodString; metadata: ZodOptional<ZodRecord<ZodString, ZodAny>>; mobileNumber: ZodOptional<ZodString>; options: ZodNullable<ZodOptional<ZodObject<{ flutterwave: ZodOptional<ZodObject<{ customerName: ZodOptional<ZodString>; linkExpiration: ZodOptional<ZodDate>; logoUrl: ZodOptional<ZodString>; maxRetryAttempts: ZodOptional<ZodNumber>; pageTitle: ZodOptional<ZodString>; paymentOptions: ZodOptional<ZodString>; paymentPlan: ZodOptional<ZodNumber>; sessionDuration: ZodOptional<ZodNumber>; subaccounts: ZodOptional<ZodArray<…, …>>; }, "strict", ZodTypeAny, { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: …[]; }, { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: …[]; }>>; hubtel: ZodOptional<ZodObject<{ cancellationUrl: ZodOptional<ZodString>; returnUrl: ZodOptional<ZodString>; }, "strict", ZodTypeAny, { cancellationUrl?: string; returnUrl?: string; }, { cancellationUrl?: string; returnUrl?: string; }>>; paystack: ZodOptional<ZodObject<{ bearer: ZodOptional<ZodEnum<…>>; channels: ZodOptional<ZodArray<…, …>>; invoiceLimit: ZodOptional<ZodNumber>; plan: ZodOptional<ZodString>; splitCode: ZodOptional<ZodString>; subaccount: ZodOptional<ZodString>; transactionCharge: ZodOptional<ZodNumber>; }, "strict", ZodTypeAny, { bearer?: "subaccount" | "account"; channels?: …[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }, { bearer?: "subaccount" | "account"; channels?: …[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }>>; }, "strip", ZodTypeAny, { flutterwave?: { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: object[]; }; hubtel?: { cancellationUrl?: string; returnUrl?: string; }; paystack?: { bearer?: "subaccount" | "account"; channels?: PaystackChannel[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }; }, { flutterwave?: { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: object[]; }; hubtel?: { cancellationUrl?: string; returnUrl?: string; }; paystack?: { bearer?: "subaccount" | "account"; channels?: PaystackChannel[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }; }>>>; reference: ZodOptional<ZodString>; }, "strip", ZodTypeAny, { amount: number; callbackUrl?: string; currency: Currency; description?: string; email: string; metadata?: Record<string, any>; mobileNumber?: string; options?: { flutterwave?: { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: object[]; }; hubtel?: { cancellationUrl?: string; returnUrl?: string; }; paystack?: { bearer?: "subaccount" | "account"; channels?: PaystackChannel[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }; } | null; reference?: string; }, { amount: number; callbackUrl?: string; currency: Currency; description?: string; email: string; metadata?: Record<string, any>; mobileNumber?: string; options?: { flutterwave?: { customerName?: string; linkExpiration?: Date; logoUrl?: string; maxRetryAttempts?: number; pageTitle?: string; paymentOptions?: string; paymentPlan?: number; sessionDuration?: number; subaccounts?: object[]; }; hubtel?: { cancellationUrl?: string; returnUrl?: string; }; paystack?: { bearer?: "subaccount" | "account"; channels?: PaystackChannel[]; invoiceLimit?: number; plan?: string; splitCode?: string; subaccount?: string; transactionCharge?: number; }; } | null; reference?: string; }>

Defined in: packages/node/src/core/schemas.ts:43

Generic schema for initiating a payment across Voltax.