orkuthidebot
Version:
Library Orkut Hide Bot: fungsi QRIS, OTP, dan mutasi transaksi
51 lines (41 loc) • 1.65 kB
JavaScript
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 };