UNPKG

daraja-sdk

Version:

sdk for the developers integrating with safaricom's daraja api

152 lines (149 loc) 3.34 kB
"use strict"; let utils=require('../../utils') let BillManagerOptInSchema=exports.BillManagerOptInSchema={ shortcode:{ type:'number', required:true, custom:[utils.isBusinessShortCode] }, email:{ type:'string', required:true, custom:[utils.isEmail] }, officialContact:{ type:'string', required:true, custom:[utils.isPhoneNumber] }, sendReminders:{ type:'string', required:true, allowed:["0","1"] }, logo:{ type:'url', required:true //custom:[utils.isJpeg] }, callbackUrl:{ type:'url', required:true, } } let BillManagerSingleInvoicingSchema=exports.BillManagerSingleInvoicingSchema={ externalReference:{ type:'string', required:true, }, billedFullName:{ type:'string', required:true }, billedPhoneNumber:{ type:'string', required:true }, billedPeriod:{ type:'string', required:true, custom:[utils.isMonthYear] }, invoiceName:{ type:'string', required:true }, dueDate:{ type:'string', required:true, custom:[utils.isDatetime] }, accountReference:{ type:'string', required:true }, amount:{ type:'number', required:true, custom:[utils.isNonNegativeOrZero] }, invoiceItems:{ type:'array', children:{ name:{ type:'string', required:true }, amount:{ type:'number', required:true } } } } let BillManagerReconsiliationSchema=exports.BillManagerReconsiliationSchema={ transactionId:{ type:'string', required:true, }, paidAmount:{ type:'number', required:true, custom:[utils.isNonNegativeOrZero] }, msisdn:{ type:'number', required:true, custom:[utils.isMobileNumber] }, dateCreated:{ type:'string', required:true, custom:[utils.isYearMonthDateHyphen] }, accountReference:{ type:'string', required:true }, shortCode:{ type:'number', required:true, cutsom:[utils.isBusinessShortCode] } } let BillManagerCancelSingleInvoiceSchema=exports.BillManagerCancelSingleInvoiceSchema={ externalReference:{ type:'string', required:true } } let BillManagerUpdateOptInSchema=exports.BillManagerUpdateOptInSchema={ shortcode:{ type:'number', required:true, custom:[utils.isBusinessShortCode] }, email:{ type:'string', required:true, custom:[utils.isEmail] }, officialContact:{ type:'string', required:true, custom:[utils.isPhoneNumber] }, sendReminders:{ type:'string', required:true, allowed:['0','1'] }, logo:{ type:'url', custom:[utils.isJpeg] }, callbackUrl:{ type:'url', required:true, } }