UNPKG

@payunit/nodejs-sdk

Version:

PayUnit Payment Processor SDK

73 lines 3.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.invoicePaymentRequestSchema = exports.invoiceIdSchema = exports.installmentInvoiceRequestSchema = exports.normalInvoiceRequestSchema = exports.customBillingCompanySchema = exports.installmentSchema = exports.invoiceItemSchema = void 0; const joi_1 = __importDefault(require("joi")); const invoice_1 = require("../types/invoice"); const utils_1 = require("../utils"); exports.invoiceItemSchema = joi_1.default.object({ name: joi_1.default.string().required(), amount: joi_1.default.number().min(0).required(), quantity: joi_1.default.number().min(1).required(), }); exports.installmentSchema = joi_1.default.object({ amount: joi_1.default.number().min(0).required(), title: joi_1.default.string().required(), }); exports.customBillingCompanySchema = joi_1.default.object({ name: joi_1.default.string().required(), logo: joi_1.default.string().uri().required(), email: joi_1.default.string().email().required(), phone_number: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), }); exports.normalInvoiceRequestSchema = joi_1.default.object({ client_name: joi_1.default.string().required(), client_email: joi_1.default.string().email().required(), client_phone_number: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), due_date: joi_1.default.string().isoDate().required(), partial_payment: joi_1.default.boolean().required(), is_custom_company: joi_1.default.boolean().required(), type: joi_1.default.string().valid(invoice_1.InvoiceType.NORMAL).required(), currency: joi_1.default.string() .length(3) .pattern(/^[A-Z]{3}$/) .required(), callback_url: joi_1.default.string().pattern(utils_1.URL_PATTERN).optional(), custom_billing_company: exports.customBillingCompanySchema.optional(), items: joi_1.default.array().required().items(exports.invoiceItemSchema), }); exports.installmentInvoiceRequestSchema = joi_1.default.object({ client_name: joi_1.default.string().required(), client_email: joi_1.default.string().email().required(), client_phone_number: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), due_date: joi_1.default.string().isoDate().required(), partial_payment: joi_1.default.boolean().required(), type: joi_1.default.string().valid(invoice_1.InvoiceType.INSTALLMENT).required(), currency: joi_1.default.string() .length(3) .pattern(/^[A-Z]{3}$/) .required(), items: joi_1.default.array().required().items(exports.invoiceItemSchema), installments: joi_1.default.array().required().items(exports.installmentSchema), is_custom_company: joi_1.default.boolean().required(), callback_url: joi_1.default.string().pattern(utils_1.URL_PATTERN).optional(), custom_billing_company: exports.customBillingCompanySchema.optional(), }); exports.invoiceIdSchema = joi_1.default.object({ invoice_id: joi_1.default.string().required(), }); exports.invoicePaymentRequestSchema = joi_1.default.object({ invoice_id: joi_1.default.string().required(), installment_id: joi_1.default.string().optional(), amount: joi_1.default.number().min(0).required(), callback_url: joi_1.default.string().pattern(utils_1.URL_PATTERN).optional(), }); //# sourceMappingURL=invoice.js.map