orkuthidebot
Version:
Library Orkut Hide Bot: fungsi QRIS, OTP, dan mutasi transaksi
66 lines (57 loc) • 2.11 kB
JavaScript
const axios = require('axios');
const base64 = require('base-64');
async function cekMutasi(auth_username, auth_token, merchant) {
const redirectUrl = "https://app.orderkuota.com/digital_app/qris";
const encodedRedirect = base64.encode(redirectUrl);
// 🔐 Autologin untuk mendapatkan cookie
const autologinResponse = await axios.get("https://app.orderkuota.com/api/v2/autologin", {
params: {
auth_username,
auth_token,
redirect: encodedRedirect
},
headers: {
'User-Agent': "WebView",
'x-requested-with': "com.orderkuota.app"
},
maxRedirects: 0,
validateStatus: status => status === 302
});
const rawCookie = autologinResponse.headers['set-cookie']?.join(', ') || '';
const cookieChunks = [...rawCookie.matchAll(/\b[\w_]+=.*?(?=,\s\w+=|$)/g)];
const cookieHeader = cookieChunks.map(m => m[0]).join('; ');
// 🔗 Ambil referer QRIS
const qrisResponse = await axios.get("https://app.orderkuota.com/digital_app/qris", {
params: {
auth_username,
auth_token,
redirect: encodedRedirect
},
headers: {
'User-Agent': "WebView",
'x-requested-with': "com.orderkuota.app",
'Cookie': cookieHeader
},
maxRedirects: 0,
validateStatus: status => status === 302
});
const refererUrl = qrisResponse.headers['location'];
const timestamp = Date.now().toString();
// 📥 Request ke mutasi.php
const response = await axios.get("https://kasir.orderkuota.com/qris/curl/mutasi.php", {
params: {
timestamp,
merchant
},
headers: {
'User-Agent': "WebView",
'Accept': "application/json",
'content-type': "application/json",
'x-requested-with': "com.orderkuota.app",
'referer': refererUrl,
'accept-language': "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7"
}
});
return response.data;
}
module.exports = { cekMutasi };