@payunit/nodejs-sdk
Version:
PayUnit Payment Processor SDK
73 lines • 3.56 kB
JavaScript
"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