npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@kav3/pep

v0.0.3

Published

Pasargad IPG Client

Downloads

7

Readme

Pasargad IPG Client (2024) - درگاه بانک پاسارگاد (نسخه جدید)

(اگه با خوندن فارسی مشکل دارید از گیت هاب مرورگر استفاده کنید) تا این لحظه نسخه رسمی توسط شرکت منتشر نشده پس فعلا با این کار راه بندازید. سعی کنید کلاینت singleton بسازید تا از مزایای توکن بهره مند بشید.

پیش نیاز

برای استفاده به username, password جدید احتیاج دارید که اگه هنوز پیامک نشده میتونید تیکت بزنید. فقط دقت کنید حتما موضوع راهنمایی پیاده سازی درگاه انتخاب کنید تا سریع جواب بگیرید my.pep.co.ir

نصب

npm i @kav3/pep

روش استفاده

برای انجام خرید باید مراحل زیر رو انجام بدید

ارسال درخواست با purchase

ذخیره مقدار urlId و ارسال کاربر به url جهت انجام تراکنش

وقتی کاربر از درگاه به سایت برگشت به یکی از روش های confirm یا verify تراکنش را تایید کنید

CALLBACK_URL?invoiceId=10001&status=success&referenceNumber=142536124562&trackId=123456

با این invoiceId می تونید تراکنش رو از دیتابیس پیدا کنید و تایید کنید. در confirm تراکنش درجا تایید میشه ولی در verify زمان میبره و تو این زمان می تونید تراکنش را با reverse برگشت بزنید

با inquiry هم میتونید درهر مرحله وضعیت چک کنید

import Client from "@kav3/pep"

// username, password, terminal از شرکت بگیرید
// callback: ادرس برگشت به سایت خودتون
// base: آدرس درگاه ممکنه بعدا توسط بانک عوض بشه
// پیش فرض https://pep.shaparak.ir/dorsa1
// exp: زمان اعتبار توکن به میلی ثانیه
// پیش فرض ۱۵ دقیقه
const pep = new Client({ username, password, terminal, callback });

// amount: مبلغ سفارش به ریال
// invoice: شماره منحصر به فرد سفارش
const { resultCode, data: { urlId, url } } = await pep.purchase({ amount, invoice })

// invoiceId: شماره منحصر به فرد سفارش
const { resultCode } = await pep.inquiry(invoiceId)

// invoice: شماره منحصر به فرد سفارش
// urlId: مقداری که بالاتر گرفتیم و ذخیره کردیم 
const { resultCode } = await pep.verify({invoice, urlId})

// invoice: شماره منحصر به فرد سفارش
// urlId: مقداری که بالاتر گرفتیم و ذخیره کردیم 
const { resultCode } = await pep.confirm({invoice, urlId})

// invoice: شماره منحصر به فرد سفارش
// urlId: مقداری که بالاتر گرفتیم و ذخیره کردیم 
const { resultCode } = await pep.reverse({invoice, urlId})

مهم

تراکنش با invoice تکراری بفرستید خطای 13094 می گیرید

اگه به هر دلیل خواستید اطلاعات درگاه رو بگیرید از تابع get استفاده کنید

لازم نیست توکن دستی بگیرید خودش میگیره و تا زمانی که معتبره همونو استفاده میکنه

بجای بازکردن توکن و خوندن exp از عدد پیش فرض ۱۵ دقیقه برای منقضی کردن توکن استفاده کردم چون نمیخواستم dependency داشته باشه ولی اگه خواستید بازکنید از این استفاده کنید @kav3/jwt اگر به هر دلیل خواستید عدد پیش فرض رو تغییر بدید از ورودی های کلاینت استفاده کنید

تمامی متدها پیاده سازی نشده، اگه حس کردید لازمه یا مشکلی و سوالی بود issues بزنید

توضیحات در مورد اسامی

پارامترها را مطابق اسناد نوشتم و فقط ممکنه یکی دو جا مثلا بجای terminalNumber نوشته باشم terminal. واقعا نمیدونم چرا بعضی جاها invoice نوشته بعضی جاها invoiceId

نمیدونم چرا ادرس درگاه dorsa1 احتمالا بعدا عوض میشه پس میتونید اینو از ورودی های کلاینت تغییر بدید

official documents

تمامی خطاها در انتهای همین فایل هست pdf