EN: An unofficial fully promise-based API wrapper for Vietnam Military Commercial Joint Stock Bank (MBBank, MB).
VN: Promise-based API wrapper không chính thức dành cho Ngân hàng Quân Đội (MB). Đọc phiên bản tiếng Việt
Warning: For using this library, your MB account maybe suspended for malicious activities. We do not take any responsibility for your account.
This library is to help you to interact with MB's API in a easier way and you can create a payment gateway for yourself.
tesseract
solving option)This library is based/inspired from Python lib MBBank by The DT.
Initialize a MB client:
new MB({
username: "YOUR-MB-USERNAME",
password: "YOUR-MB-PASSWORD",
// In "preferredOCRMethod", please note that if you use "default", the library will need to
// download the model from Internet (GitHub) and it will take about 5-10s, depends on your internet
// If the mode "tesseract" is selected, please make sure that 'tesseract' - an open source OCR
// sofware, is installed on your device. Please read 'Requirement' section. "custom" option
// allows you to pass a function to the client, and the client will get the captcha content
// through this function. Default 'undefined' for "default".
preferredOCRMethod: "default" | "tesseract" | "custom" | undefined,
// If you want to use "customOCRFunction", please update the "preferredOCRMethod" to "custom",
// otherwise it won't run. Default 'undefined'.
customOCRFunction: (image: Buffer) => Promise<string>,
// Allows the WASM file will be downloaded to your local filesystem to skip the downloading
// process everytime the library run, which will speed up your login process, depends on your
// disk's speed. Please note that you will need to manually delete the file if it gets outdated
// to the MBBank's server. Default 'false'.
saveWasm: true | false,
});
(async () => {
const { MB } = require("mbbank");
const mb = new MB({
username: "0123456789",
password: "foobar",
...customSettings,
});
await mb.login();
})();
(async () => {
const { MB } = require("mbbank");
const mb = new MB({
username: "0123456789",
password: "foobar",
...customSettings,
});
// Manual login, skip if you want the library to login automatically.
await mb.login();
await mb.getBalance();
})();
(async () => {
const { MB } = require("mbbank");
const mb = new MB({
username: "0123456789",
password: "foobar",
...customSettings,
});
// Manual login, skip if you want the library to login automatically.
await mb.login();
await mb.getTransactionsHistory({
accountNumber: "1234567890",
fromDate: "dd/mm/yyyy",
toDate: "dd/mm/yyyy",
});
})();
The dataset is collected by me (and it's open on Kaggle), but the OCR model is trained by The DT. Full model and the training code can be found at his GitHub repository
If you think this is helpful for you, you can give me a cup of coffee via bank account: 0974163549 - MB - TRAN DINH TUYEN or MoMo wallet: 0888929537
MIT License
Generated using TypeDoc