@spreeloop/orange_money
Version:
A orange money api integration package
44 lines • 2.31 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.initPaymentBodySchema = exports.genericRequestResponseSchema = void 0;
const joi_1 = __importDefault(require("joi"));
const constants_1 = require("./constants");
/**
* The provider generic response data of payment request of status verification request.
* We only make validation off fields that are required.
*/
exports.genericRequestResponseSchema = joi_1.default.object({
message: joi_1.default.string().required(),
data: joi_1.default.object({
subscriberMsisdn: joi_1.default.string().required(),
amount: joi_1.default.number().required(),
inittxnmessage: joi_1.default.string().allow(null).allow('').required(),
status: joi_1.default.string()
.valid(constants_1.OrangeMoneyPaymentStatus.FAILED_PAYMENT, constants_1.OrangeMoneyPaymentStatus.PENDING_PAYMENT, constants_1.OrangeMoneyPaymentStatus.CANCELLED_PAYMENT, constants_1.OrangeMoneyPaymentStatus.EXPIRED_PAYMENT, constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT)
.required(),
channelUserMsisdn: joi_1.default.string().required(),
})
.required()
.unknown(true),
});
exports.initPaymentBodySchema = joi_1.default.object({
subscriberMsisdn: joi_1.default.string()
.required()
.pattern(/^(69\d{7}$|65[5-9]\d{6}$)/)
.message('[subscriberMsisdn] Invalid orange number. Format of valid number: 69******* or 65[5-9]******'),
channelUserMsisdn: joi_1.default.string()
.required()
.pattern(/^(69\d{7}$|65[5-9]\d{6}$)/)
.message('[channelUserMsisdn] Invalid orange number. Format of valid number: 69******* or 65[5-9]******'),
amount: joi_1.default.string().required(),
payToken: joi_1.default.string().required(),
pin: joi_1.default.string().max(4).required(),
notifUrl: joi_1.default.string().allow('').default(''),
orangeMoneyVersion: joi_1.default.string().optional(),
description: joi_1.default.string().allow('').max(125).default('payment'),
orderId: joi_1.default.string().max(20).required(),
});
//# sourceMappingURL=joi_schema.js.map