UNPKG

orkuthidebot

Version:

Library Orkut Hide Bot: fungsi QRIS, OTP, dan mutasi transaksi

66 lines (57 loc) 2.11 kB
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 };