UNPKG

mpesalib

Version:

A robust Node.js library for Safaricom's Daraja API with complete TypeScript support and modern async/await patterns

110 lines 6.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.reversalSchema = exports.transactionStatusSchema = exports.accountBalanceSchema = exports.stkPushQuerySchema = exports.stkPushSchema = exports.b2bSchema = exports.b2cSchema = exports.c2bSimulateSchema = exports.c2bRegisterUrlSchema = exports.configSchema = void 0; const joi_1 = __importDefault(require("joi")); exports.configSchema = joi_1.default.object({ consumerKey: joi_1.default.string().required(), consumerSecret: joi_1.default.string().required(), environment: joi_1.default.string().valid('sandbox', 'production').required(), shortCode: joi_1.default.string().required(), initiatorName: joi_1.default.string().optional(), securityCredential: joi_1.default.string().optional(), certificatePath: joi_1.default.string().optional(), passkey: joi_1.default.string().optional(), }); exports.c2bRegisterUrlSchema = joi_1.default.object({ ShortCode: joi_1.default.string().required(), ResponseType: joi_1.default.string().valid('Completed', 'Cancelled').required(), ConfirmationURL: joi_1.default.string().uri().required(), ValidationURL: joi_1.default.string().uri().required(), }); exports.c2bSimulateSchema = joi_1.default.object({ ShortCode: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('CustomerPayBillOnline', 'CustomerBuyGoodsOnline').required(), Amount: joi_1.default.number().positive().required(), Msisdn: joi_1.default.string().pattern(/^254[0-9]{9}$/).required(), BillRefNumber: joi_1.default.string().optional(), }); exports.b2cSchema = joi_1.default.object({ InitiatorName: joi_1.default.string().required(), SecurityCredential: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('SalaryPayment', 'BusinessPayment', 'PromotionPayment').required(), Amount: joi_1.default.number().positive().required(), PartyA: joi_1.default.string().required(), PartyB: joi_1.default.string().pattern(/^254[0-9]{9}$/).required(), Remarks: joi_1.default.string().max(100).required(), QueueTimeOutURL: joi_1.default.string().uri().required(), ResultURL: joi_1.default.string().uri().required(), Occasion: joi_1.default.string().max(100).optional(), }); exports.b2bSchema = joi_1.default.object({ InitiatorName: joi_1.default.string().required(), SecurityCredential: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('BusinessPayBill', 'MerchantToMerchantTransfer', 'MerchantTransferFromMerchantToWorking', 'MerchantServicesMMFAccountTransfer', 'AgencyFloatAdvance').required(), Amount: joi_1.default.number().positive().required(), PartyA: joi_1.default.string().required(), PartyB: joi_1.default.string().required(), RecieverIdentifierType: joi_1.default.number().valid(1, 2, 4).required(), Remarks: joi_1.default.string().max(100).required(), QueueTimeOutURL: joi_1.default.string().uri().required(), ResultURL: joi_1.default.string().uri().required(), AccountReference: joi_1.default.string().max(100).required(), }); exports.stkPushSchema = joi_1.default.object({ BusinessShortCode: joi_1.default.string().required(), Password: joi_1.default.string().required(), Timestamp: joi_1.default.string().length(14).required(), TransactionType: joi_1.default.string().valid('CustomerPayBillOnline', 'CustomerBuyGoodsOnline').required(), Amount: joi_1.default.number().positive().required(), PartyA: joi_1.default.string().pattern(/^254[0-9]{9}$/).required(), PartyB: joi_1.default.string().required(), PhoneNumber: joi_1.default.string().pattern(/^254[0-9]{9}$/).required(), CallBackURL: joi_1.default.string().uri().required(), AccountReference: joi_1.default.string().max(100).required(), TransactionDesc: joi_1.default.string().max(100).required(), }); exports.stkPushQuerySchema = joi_1.default.object({ BusinessShortCode: joi_1.default.string().required(), Password: joi_1.default.string().required(), Timestamp: joi_1.default.string().length(14).required(), CheckoutRequestID: joi_1.default.string().required(), }); exports.accountBalanceSchema = joi_1.default.object({ InitiatorName: joi_1.default.string().required(), SecurityCredential: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('AccountBalance').required(), PartyA: joi_1.default.string().required(), IdentifierType: joi_1.default.string().valid('1', '2', '4').required(), Remarks: joi_1.default.string().max(100).required(), QueueTimeOutURL: joi_1.default.string().uri().required(), ResultURL: joi_1.default.string().uri().required(), }); exports.transactionStatusSchema = joi_1.default.object({ InitiatorName: joi_1.default.string().required(), SecurityCredential: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('TransactionStatusQuery').required(), TransactionID: joi_1.default.string().required(), PartyA: joi_1.default.string().required(), IdentifierType: joi_1.default.string().valid('1', '2', '4').required(), ResultURL: joi_1.default.string().uri().required(), QueueTimeOutURL: joi_1.default.string().uri().required(), Remarks: joi_1.default.string().max(100).required(), Occasion: joi_1.default.string().max(100).optional(), }); exports.reversalSchema = joi_1.default.object({ InitiatorName: joi_1.default.string().required(), SecurityCredential: joi_1.default.string().required(), CommandID: joi_1.default.string().valid('TransactionReversal').required(), TransactionID: joi_1.default.string().required(), Amount: joi_1.default.number().positive().required(), ReceiverParty: joi_1.default.string().required(), RecieverIdentifierType: joi_1.default.string().valid('1', '2', '4').required(), ResultURL: joi_1.default.string().uri().required(), QueueTimeOutURL: joi_1.default.string().uri().required(), Remarks: joi_1.default.string().max(100).required(), Occasion: joi_1.default.string().max(100).optional(), }); //# sourceMappingURL=schemas.js.map