wago-payment-sdk
v1.0.0
Published
Official Node.js SDK untuk layanan pembayaran [WAGO Payment ID](https://wago-id.web.id).
Readme
WAGO Node.js SDK
Official Node.js SDK untuk layanan pembayaran WAGO Payment ID.
Instalasi
npm install wago-payment-sdkPenggunaan
Inisialisasi
const { Wago } = require('wago-payment-sdk');
const wago = new Wago({
appId: 'APP_ID_ANDA',
apiKey: 'API_KEY_ANDA',
webhookSecret: 'WEBHOOK_SECRET_ANDA' // Opsional, diperlukan untuk verifikasi webhook
});Membuat Transaksi
Anda dapat menyisipkan is_sandbox: true untuk mengetes tanpa memotong kuota real Anda.
async function main() {
try {
const trx = await wago.createTransaction({
order_id: 'INV-' + Date.now(),
nominal: 150000,
customer_name: 'Budi Santoso',
payment_method: 'QRIS',
is_sandbox: true // Aktifkan mode simulasi
});
console.log("Berhasil:", trx);
} catch (error) {
console.error("Gagal:", error.message);
}
}
main();Mengecek Status Transaksi
async function cekStatus() {
const status = await wago.getTransactionStatus('INV-12345');
console.log(status);
}Memvalidasi Webhook (Contoh Express.js)
app.post('/webhook/wago', (req, res) => {
const signature = req.headers['x-wago-signature'];
const timestamp = req.headers['x-wago-timestamp'];
try {
// rawBody bisa berupa JSON string atau object
const isValid = wago.verifyWebhook(req.body, signature, timestamp);
if (isValid) {
console.log("Webhook sah! Proses transaksi:", req.body.order_id);
res.status(200).json({ status: "ok" });
} else {
res.status(403).json({ error: "Invalid signature" });
}
} catch (error) {
res.status(500).json({ error: error.message });
}
});