Variable transactionRequestSchemaConst
transactionRequestSchema: ZodObject<
{
options: ZodOptional<
ZodObject<
{
dataSeparator: ZodOptional<ZodString>;
emailCustomerReceipt: ZodOptional<ZodBoolean>;
maxMindOn: ZodOptional<ZodBoolean>;
restrictKey: ZodOptional<ZodString>;
sendTransactionEmail: ZodOptional<ZodBoolean>;
transactionID: ZodOptional<ZodString>;
transactionType: ZodOptional<
ZodEnum<
["SALE", "AUTH", "CREDIT", "VOID", "PREVIOUS_SALE", "POSTAUTH"],
>,
>;
},
"strip",
ZodTypeAny,
{
dataSeparator?: string;
emailCustomerReceipt?: boolean;
maxMindOn?: boolean;
restrictKey?: string;
sendTransactionEmail?: boolean;
transactionID?: string;
transactionType?: | "CREDIT"
| "SALE"
| "VOID"
| "PREVIOUS_SALE"
| "AUTH"
| "POSTAUTH";
},
{
dataSeparator?: string;
emailCustomerReceipt?: boolean;
maxMindOn?: boolean;
restrictKey?: string;
sendTransactionEmail?: boolean;
transactionID?: string;
transactionType?: | "CREDIT"
| "SALE"
| "VOID"
| "PREVIOUS_SALE"
| "AUTH"
| "POSTAUTH";
},
>,
>;
payer: ZodObject<
{
address: ZodString;
email: ZodString;
name: ZodDefault<ZodString>;
zip: ZodString;
},
"strip",
ZodTypeAny,
{ address: string; email: string; name: string; zip: string },
{ address: string; email: string; name?: string; zip: string },
>;
payment: ZodObject<
{
amount: ZodNumber;
method: ZodUnion<
[
ZodObject<
{
cvv2: ZodOptional<ZodString>;
cvvType: ZodOptional<ZodEnum<[(...), (...), (...), (...)]>>;
expirationMonth: ZodString;
expirationYear: ZodString;
kind: ZodLiteral<"CC">;
number: ZodString;
},
"strip",
ZodTypeAny,
{
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
},
{
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
},
>,
ZodObject<
{
aba: ZodString;
checkingAccountNumber: ZodString;
kind: ZodLiteral<"EFT">;
},
"strip",
ZodTypeAny,
{ aba: string; checkingAccountNumber: string; kind: "EFT" },
{ aba: string; checkingAccountNumber: string; kind: "EFT" },
>,
],
>;
},
"strip",
ZodTypeAny,
{
amount: number;
method: | {
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
}
| { aba: string; checkingAccountNumber: string; kind: "EFT" };
},
{
amount: number;
method: | {
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
}
| { aba: string; checkingAccountNumber: string; kind: "EFT" };
},
>;
recurringOptions: ZodOptional<
ZodObject<
{
initialAmount: ZodOptional<ZodNumber>;
overrideRecurringDay: ZodOptional<ZodBoolean>;
overrideRecurringPrice: ZodOptional<ZodBoolean>;
recurCycles: ZodOptional<ZodNumber>;
rid: ZodString;
},
"strip",
ZodTypeAny,
{
initialAmount?: number;
overrideRecurringDay?: boolean;
overrideRecurringPrice?: boolean;
recurCycles?: number;
rid: string;
},
{
initialAmount?: number;
overrideRecurringDay?: boolean;
overrideRecurringPrice?: boolean;
recurCycles?: number;
rid: string;
},
>,
>;
},
"strip",
ZodTypeAny,
{
options?: {
dataSeparator?: string;
emailCustomerReceipt?: boolean;
maxMindOn?: boolean;
restrictKey?: string;
sendTransactionEmail?: boolean;
transactionID?: string;
transactionType?: | "CREDIT"
| "SALE"
| "VOID"
| "PREVIOUS_SALE"
| "AUTH"
| "POSTAUTH";
};
payer: { address: string; email: string; name: string; zip: string };
payment: {
amount: number;
method:
| {
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
}
| { aba: string; checkingAccountNumber: string; kind: "EFT" };
};
recurringOptions?: {
initialAmount?: number;
overrideRecurringDay?: boolean;
overrideRecurringPrice?: boolean;
recurCycles?: number;
rid: string;
};
},
{
options?: {
dataSeparator?: string;
emailCustomerReceipt?: boolean;
maxMindOn?: boolean;
restrictKey?: string;
sendTransactionEmail?: boolean;
transactionID?: string;
transactionType?: | "CREDIT"
| "SALE"
| "VOID"
| "PREVIOUS_SALE"
| "AUTH"
| "POSTAUTH";
};
payer: { address: string; email: string; name?: string; zip: string };
payment: {
amount: number;
method:
| {
cvv2?: string;
cvvType?: "0"
| "1"
| "2"
| "9";
expirationMonth: string;
expirationYear: string;
kind: "CC";
number: string;
}
| { aba: string; checkingAccountNumber: string; kind: "EFT" };
};
recurringOptions?: {
initialAmount?: number;
overrideRecurringDay?: boolean;
overrideRecurringPrice?: boolean;
recurCycles?: number;
rid: string;
};
},
> = ...
This schema validates the input for the TransactionRequest object. It checks for required fields, valid formats, and custom validation rules. To use this schema, pass your input data to the
transactionRequestSchema.parse(data)
method.