Mellat Ckeckout:
Unofficial Behpardakht Mellat Gateway implementation in Node.JS
NOTICE: SUBJECT TO BACKWARD INCOMPATIBLE CHANGES (Due to under V1.0.0 version).
Installation
Install the package from npm
or yarn
.
NPM
npm install mellat-checkout
Yarn
yarn add mellat-checkout
Usage:
Create An Instance
Import the package:
const MellatCheckout = ;// or (ES6):;
Then create an instance:
const mellat = terminalId: 'xxxxxxx' username: 'xxxxxxx' password: 'xxxxxxx' timeout: 10000 // Optional, number in millisecond (defaults to 10 sec) apiUrl: 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl' // Optional, exists (and may updated) in bank documentation (defaults to this); // Initialize the client, this step is optional// but gives you more control over your flow// and speeds up the first (and just first) request.mellat;
API
Payment Request:
mellat;
Payment Verification:
mellat;
Payment Settlement (Payment Finalization):
mellat;
Inquiry Request:
mellat;
Reversal Request:
mellat;
Callbacks Instead Of Promises
All methods can be called by using Callbacks instead of Promises, lets take paymentRequest
as an example:
mellat;
TODOS
API-TODO
- bpPayRequest
- bpVerifyRequest
- bpSettleRequest
- bpInquiryRequest
- bpReversalRequest
- bpDynamicPayRequest
- bpCumulativeDynamicPayRequest
Helper Methods
- verifyAndSettle (Verify the payment and settle/reverse it)
Code
- JSDocs and code comments
- Unit tests using
mocha
Contributing
Contributions are welcome. Please submit PRs or just file an Issue if you see something broken or in need of improving.
ResCodes Descriptions
ResCode | Description |
---|---|
0 | تراکنش با موفقیت انجام شد |
11 | شماره کارت نا معتبر است |
12 | موجودی کافی نیست |
13 | رمز نادرست است |
14 | تعداد دفعات وارد کردن رمز بیش از حد مجاز است |
15 | کارت نامعتبر است |
16 | دفعات برداشت وجه بیش از حد مجاز است |
17 | کاربر از انجام تراکنش منصرف شده است |
18 | تاریخ انقضای کارت گذشته است |
19 | مبلغ برداشت وجه بیش از حد مجاز است |
21 | پذیرنده نا معتبر است |
23 | خطای امنیتی رخ داده است |
24 | اطلاعات کاربری پذیرنده نا معتبر است |
25 | مبلغ نا معتبر است |
31 | پاسخ نا معتبر است |
32 | فرمت اطلاعات وارد شده صحیح نمی باشد |
33 | حساب نا معتبر است |
34 | خطای سیستمی |
35 | تاریخ نا معتبر است |
41 | شماره درخواست تکراری است |
42 | تراکنش Sale یافت نشد |
43 | قبلا درخواست Verify داده شده است |
44 | درخواست Verify یافت نشد |
45 | تراکنش Settle شده است |
46 | تراکنش Settle نشده است |
47 | تراکنش Settle یافت نشد |
48 | تراکنش Reverse شده است |
49 | تراکنش Refund یافت نشد |
51 | تراکنش تکراری است |
54 | تراکنش مرجع موجود نیست |
55 | تراکنش نا معتبر است |
61 | خطا در واریز |
111 | صادر کننده کارت نا معتبر است |
112 | خطای سوییچ صادر کننده کارت |
113 | پاسخی از صادر کننده ی کارت دریافت نشد |
114 | دارنده کارت مجاز به انجام این تراکنش نیست |
412 | شناسه قبض نادرست است |
413 | شناسه پرداخت نادرست است |
414 | سازمان صادر کننده قبض نامعتبر است |
415 | زمان جلسه کاری به پایان رسیده است |
416 | خطا در ثبت اطلاعات |
417 | شناسه پرداخت کننده نا معتبر است |
418 | اشکال در تعریف اطلاعات مشتری |
419 | تعداد دفعات ورود اطلاعات از حد مجاز گذشته است |
421 | IP نامعتبر است |