UNPKG

zibal-platform

Version:

Zibal Platform Module

95 lines (78 loc) 2.27 kB
const urls = require("./urls"); const axios = require("axios"); const {getPersianMessage} = require("./errors"); class ZibalPlatform { token = ""; /* * Initialize Zibal with Your Platform API Token * @param {object} config Your Config Object * @param {string} config.token Your API Token * */ constructor(config = {}) { const {token = ""} = config; this.init({token}); } /** * Set Token * @param {string} token Your API Token * */ setToken(token) { this.token = token; } init({token}) { this.setToken(token) } request(url, data) { return new Promise((resolve, reject) => { if (!this.token) { reject({ result: "2", message: "توکن به درستی ارسال نشده است." }) return; } axios.post(url, data, { headers: { Authorization: `Bearer ${this.token}` } }).then(response => { if (response.status === 200) { resolve({ statusCode: response.status, ...response.data }) } }).catch(err => { reject({ statusCode: err.response.status, ...err.response.data }) }) }) } createSubmerchant(data) { return this.request(urls.createSubmerchant, data) } submerchantList(data) { return this.request(urls.submerchantList, data) } editSubmerchant(data) { return this.request(urls.editSubmerchant, data) } checkoutQueue(data) { return this.request(urls.checkoutQueue, data) } createWallet(data) { return this.request(urls.createWallet, data) } checkoutReport(data) { return this.request(urls.checkoutReport, data) } walletCheckout(data) { return this.request(urls.walletCheckout, data) } walletBalance(data) { return this.request(urls.walletBalance, data) } } module.exports = ZibalPlatform;