alitnk / monopay

💳 A node.js package for making payment transactions with different payment gateways
https://monopay.js.org
MIT License
114 stars 19 forks source link
idpay iran iran-payment iranian iranian-bank node node-js node-payment nodejs nodejs-payment payir payment payment-gateway persian saman saman-bank shaparak zarinpal zibal

Monopay - مونو‌پِی

monopay

Intended Runtime Environment: Node.js NPM Version License Last Comit

A node.js package for making payment transactions with different Iranian IPGs with one single API. (Previously known as "Polypay")

مونو‌پِی یک پکیج نود جی اس برای انجام تراکنش‌های آنلاین با سرویس های درگاه پرداخت مختلف با یک رابط واحد است.

در صورتی که از پکیج خوشتون اومده، بهش استار بدید تا بیشتر دیده بشه و مشکلاتش زودتر برطرف بشن. 🙏

لطفا قبل از استفاده در پروداکشن،‌ از پایدار بودن درایور مطمئن شوید. - جدول پشتیبانی درایور ها

📖 Documentation

🔌 Installation

For npm users:

npm install monopay

For yarn users:

yarn add monopay

🚀 Usage

⚒ Examples

Getting a payment driver

const driver = getPaymentDriver('zibal')({
  merchantId: 'merchant-id',
  sandbox: true,
});

Requesting for payment

const paymentInfo = await driver.request({
  amount: 200000, // IRR
  callbackUrl: 'mysite.com/callback',
});

Verifying the payment in callback

app.all('/callback', async (req, res) => {
  const receipt = await driver.verify(
    {
      amount: 200000, // IRR
      referenceId: 1234,
    },
    { ...req.query, ...req.body },
  );

  res.json({
    referenceId: receipt.referenceId,
    success: true,
    message: 'The payment transaction was successful.',
  });
});

A full example with express can be found here

📜 TODO List

🤝 Contribution

Please read Contribution and Code Of Conduct.

📝 License

MIT License - Please see License File for more information.