UNPKG

@payunit/nodejs-sdk

Version:

PayUnit Payment Processor SDK

76 lines 3.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkoutInitializeRequestSchema = exports.checkoutPaymentRequestSchema = exports.checkoutIdSchema = void 0; const joi_1 = __importDefault(require("joi")); const types_1 = require("../types"); const utils_1 = require("../utils"); exports.checkoutIdSchema = joi_1.default.object({ checkout_id: joi_1.default.string().required(), }); exports.checkoutPaymentRequestSchema = joi_1.default.object({ checkout_id: joi_1.default.string().required(), customer: joi_1.default.object({ email: joi_1.default.string().email().required(), phone: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), country: joi_1.default.string().required(), name: joi_1.default.string().required(), }).required(), shipping: joi_1.default.object({ address: joi_1.default.string().required(), phone: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), payment_method: joi_1.default.string().required(), payment_info: joi_1.default.object({ phone: joi_1.default.string() .pattern(/^\d{8,10}$/) .required(), }).required(), }).required(), }); exports.checkoutInitializeRequestSchema = joi_1.default.object({ cancel_url: joi_1.default.string() .pattern(utils_1.URL_PATTERN) .messages({ 'string.pattern.base': 'cancel_url must be a valid HTTPS URL', }) .required(), success_url: joi_1.default.string().pattern(utils_1.URL_PATTERN).required(), notify_url: joi_1.default.string().pattern(utils_1.URL_PATTERN).optional(), currency: joi_1.default.string() .length(3) .pattern(/^[A-Z]{3}$/) .required(), mode: joi_1.default.string().valid('payment', 'subscription').required(), transaction_id: joi_1.default.string().required(), total_amount: joi_1.default.number().min(0).required(), payment_country: joi_1.default.string() .valid(...Object.values(types_1.PaymentCountry)) .optional(), pay_with: joi_1.default.string() .valid(...Object.values(types_1.RegisteredProviders)) .optional(), items: joi_1.default.array() .required() .items(joi_1.default.object({ price_description: joi_1.default.object({ unit_amount: joi_1.default.number().min(0).required(), }).required(), product_description: joi_1.default.object({ name: joi_1.default.string().required(), image_url: joi_1.default.string().uri().optional(), about_product: joi_1.default.string().optional(), }).required(), quantity: joi_1.default.number().min(1).required(), })), meta: joi_1.default.object({ phone_number_collection: joi_1.default.boolean().required(), address_collection: joi_1.default.boolean().required(), }).optional(), }); //# sourceMappingURL=checkout.js.map