Investigation Toolbox

Cara Baca Halaman

1. Cari transaksi berdasarkan transaction_no.
2. Jalankan aksi simulasi dari Action Center (query/retry/callback/rollback/refund).
3. Cocokkan log internal vs upstream setelah aksi dijalankan.

Case Study: Customer Paid vs Merchant Pending

Transaksi: TXN-20260728122430-VTQ2UA | Merchant: PT ABC

MONITOR

Action Center (Simulasi Real)

Jalankan aksi operasional langsung untuk transaksi yang sedang diinvestigasi.

target: TXN-20260728122430-VTQ2UA

1) Query Now

Menambahkan query log terbaru dan update last_queried_at transaksi.

2) Retry Outbox

Memaksa dispatch outbox sinkron untuk simulasi retry notifikasi merchant.

3) Simulate Callback SUCCESS

Membuat callback log valid, set status SUCCESS, settlement, lalu kirim outbox.

4) Rollback Status

Kembalikan status ke state sebelumnya berdasar history, update log, lalu kirim outbox.

5) Simulate Refund SUCCESS

Membuat data refund, memproses status SUCCESS, tulis callback refund, lalu kirim outbox.

6) Simulate Refund FAILED

Membuat data refund, memproses status FAILED, tulis callback refund, lalu kirim outbox.

Catatan: status transaksi tetap PENDING jika hanya menjalankan Query/Retry. Simulasi refund hanya dapat dijalankan untuk transaksi SUCCESS.

Investigation Flow

1

Check QRIS_TRANSACTION

SUCCESS

2

Verify CALLBACK_LOG

Signature valid

3

Inspect OUTBOX

SENT, retry=0

4

Manual Query

Transaction is failed.

Diagnostic View

Open Simulator

Internal

{
    "transaction_no": "TXN-20260728122430-VTQ2UA",
    "status": "SUCCESS",
    "amount": "15000.00",
        "merchant_notified": true
}

Upstream

{
    "external_id": "EXT-MANJO-20260728122430682-UJV9DU",
        "query_result_code": "4045101",
        "payment_state": "Transaction is failed."
}
No critical mismatch detected from latest snapshot.

Live Execution Logs

12:25:52 [INFO] Callback valid | duplicate=no | status=PROCESSED
12:25:35 [WARN] Query attempt #1 => Transaction is failed.