UNPKG

orkuthidebot

Version:

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

51 lines (41 loc) 1.65 kB
const axios = require('axios'); const crypto = require('crypto'); function generateSignature(authToken, timestamp) { const cleanedToken = authToken.replace(/[^a-zA-Z0-9]/g, '').toUpperCase(); const message = `${cleanedToken}:${timestamp}`; const key = `000${timestamp}`; const sha = crypto.createHash('sha512'); sha.update(key); const shaClone = sha.copy(); shaClone.update(message); const digest = shaClone.digest('hex'); const last10 = digest.slice(-10); const middle = digest.slice(10, -10); const first10 = digest.slice(0, 10); return last10 + middle + first10; } async function fetchQrisMutasi(userId, authUsername, authToken) { const timestamp = Date.now().toString(); const signature = generateSignature(authToken, timestamp); const url = `https://app.orderkuota.com/api/v2/qris/mutasi/${userId}`; const payload = new URLSearchParams(); payload.append('auth_username', authUsername); payload.append('requests[qris_history][jenis]', 'kredit'); payload.append('requests[qris_history][page]', '1'); payload.append('auth_token', authToken); const headers = { 'User-Agent': 'okhttp/4.12.0', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip', 'Signature': signature, 'Timestamp': timestamp, 'Content-Type': 'application/x-www-form-urlencoded' }; try { const response = await axios.post(url, payload.toString(), { headers }); return response.data; } catch (error) { return error.response?.data || { error: error.message }; } } module.exports = { fetchQrisMutasi };