orkuthidebot
Version:
Library Orkut Hide Bot: fungsi QRIS, OTP, dan mutasi transaksi
66 lines (57 loc) • 2.13 kB
JavaScript
const axios = require('axios');
const base64 = require('base-64');
async function cekStatusPembayaran(auth_username, auth_token, merchant, nominal) {
const redirectUrl = "https://app.orderkuota.com/digital_app/qris";
const encodedRedirect = base64.encode(redirectUrl);
// 🔐 Autologin untuk dapatkan cookie
const loginResponse = 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 rawSetCookie = loginResponse.headers['set-cookie']?.join(', ') || '';
const cookieChunks = [...rawSetCookie.matchAll(/\b[\w_]+=.*?(?=,\s\w+=|$)/g)];
const cookieHeader = cookieChunks.map(m => m[0]).join('; ');
// 🔗 Ambil referer dari /digital_app/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'];
// 📲 Cek status pembayaran QRIS
const timestamp = Date.now().toString();
const statusResponse = await axios.get("https://kasir.orderkuota.com/qris/curl/status_pembayaran.php", {
params: {
timestamp,
merchant,
nominal
},
headers: {
'User-Agent': "WebView",
'Accept': "application/json",
'content-type': "application/json",
'x-requested-with': "com.orderkuota.app",
'referer': refererUrl
}
});
return statusResponse.data;
}
module.exports = { cekStatusPembayaran };