init proj
This commit is contained in:
160
tpbank/index.js
Normal file
160
tpbank/index.js
Normal file
@@ -0,0 +1,160 @@
|
||||
const axios = require("axios");
|
||||
|
||||
async function handleLogin(username, password, deviceId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const axios = require("axios");
|
||||
let data = JSON.stringify({
|
||||
username: username,
|
||||
password: password,
|
||||
step_2FA: "VERIFY",
|
||||
deviceId: deviceId,
|
||||
});
|
||||
|
||||
let config = {
|
||||
method: "post",
|
||||
maxBodyLength: Infinity,
|
||||
url: "https://ebank.tpb.vn/gateway/api/auth/login",
|
||||
headers: {
|
||||
APP_VERSION: "2023.12.08",
|
||||
Accept: "application/json, text/plain, */*",
|
||||
"Accept-Language": "vi",
|
||||
Authorization: "Bearer",
|
||||
Connection: "keep-alive",
|
||||
"Content-Type": "application/json",
|
||||
DEVICE_ID: deviceId,
|
||||
DEVICE_NAME: "Chrome",
|
||||
Origin: "https://ebank.tpb.vn",
|
||||
PLATFORM_NAME: "WEB",
|
||||
PLATFORM_VERSION: "120",
|
||||
Referer: "https://ebank.tpb.vn/retail/vX/",
|
||||
SOURCE_APP: "HYDRO",
|
||||
"Sec-Fetch-Dest": "empty",
|
||||
"Sec-Fetch-Mode": "cors",
|
||||
"Sec-Fetch-Site": "same-origin",
|
||||
"User-Agent":
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
||||
"sec-ch-ua":
|
||||
'"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": '"macOS"',
|
||||
},
|
||||
data: data,
|
||||
};
|
||||
|
||||
axios
|
||||
.request(config)
|
||||
.then((response) => {
|
||||
resolve(response.data);
|
||||
})
|
||||
.catch((error) => {
|
||||
throw error;
|
||||
});
|
||||
});
|
||||
}
|
||||
async function getHistories(token, accountId, deviceId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const axios = require("axios");
|
||||
let data = JSON.stringify({
|
||||
pageNumber: 1,
|
||||
pageSize: 400,
|
||||
accountNo: accountId,
|
||||
currency: "VND",
|
||||
maxAcentrysrno: "",
|
||||
fromDate: "20231002",
|
||||
toDate: "20240102",
|
||||
keyword: "",
|
||||
});
|
||||
|
||||
let config = {
|
||||
method: "post",
|
||||
maxBodyLength: Infinity,
|
||||
url: "https://ebank.tpb.vn/gateway/api/smart-search-presentation-service/v2/account-transactions/find",
|
||||
headers: {
|
||||
APP_VERSION: "2023.12.08",
|
||||
Accept: "application/json, text/plain, */*",
|
||||
"Accept-Language": "vi,en-US;q=0.9,en;q=0.8",
|
||||
Authorization: `Bearer ${token}`,
|
||||
Connection: "keep-alive",
|
||||
"Content-Type": "application/json",
|
||||
DEVICE_ID: deviceId,
|
||||
DEVICE_NAME: "Chrome",
|
||||
Origin: "https://ebank.tpb.vn",
|
||||
PLATFORM_NAME: "WEB",
|
||||
PLATFORM_VERSION: "120",
|
||||
SOURCE_APP: "HYDRO",
|
||||
"Sec-Fetch-Dest": "empty",
|
||||
"Sec-Fetch-Mode": "cors",
|
||||
"Sec-Fetch-Site": "same-origin",
|
||||
"User-Agent":
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
||||
"sec-ch-ua":
|
||||
'"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": '"macOS"',
|
||||
},
|
||||
data: data,
|
||||
};
|
||||
|
||||
axios
|
||||
.request(config)
|
||||
.then((response) => {
|
||||
resolve(response.data);
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function getBankAccount(token, deviceId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let config = {
|
||||
method: "get",
|
||||
maxBodyLength: Infinity,
|
||||
url: "https://ebank.tpb.vn/gateway/api/common-presentation-service/v1/bank-accounts?function=inquiry",
|
||||
headers: {
|
||||
APP_VERSION: "2023.12.08",
|
||||
Accept: "application/json, text/plain, */*",
|
||||
"Accept-Language": "vi",
|
||||
Authorization: `Bearer ${token}`,
|
||||
Connection: "keep-alive",
|
||||
"Content-Type": "application/json",
|
||||
DEVICE_ID: deviceId,
|
||||
DEVICE_NAME: "Chrome",
|
||||
PLATFORM_NAME: "WEB",
|
||||
PLATFORM_VERSION: "120",
|
||||
SOURCE_APP: "HYDRO",
|
||||
"Sec-Fetch-Dest": "empty",
|
||||
"Sec-Fetch-Mode": "cors",
|
||||
"Sec-Fetch-Site": "same-origin",
|
||||
"User-Agent":
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
||||
"sec-ch-ua":
|
||||
'"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
|
||||
"sec-ch-ua-mobile": "?0",
|
||||
"sec-ch-ua-platform": '"macOS"',
|
||||
},
|
||||
};
|
||||
|
||||
axios
|
||||
.request(config)
|
||||
.then((response) => {
|
||||
resolve(response.data);
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// async function run() {
|
||||
// const infoLogin = await handleLogin(info.username, info.password);
|
||||
// console.log(infoLogin);
|
||||
// const token = infoLogin.access_token;
|
||||
// const histories = await handleGetHistory(token);
|
||||
// console.log(histories);
|
||||
// }
|
||||
|
||||
// run();
|
||||
|
||||
module.exports = { handleLogin, getBankAccount ,getHistories };
|
Reference in New Issue
Block a user