KORAMP

Catatan & Audit

AuditLog, LedgerEntry double-entry, dan idempotensi webhook XenditWebhook.

AuditLog

AuditLog mencatat aksi penting di sistem:

KolomFungsi
actionJenis aksi.
entity / entityIdEntitas yang terlibat.
actorAktor: alamat dompet, admin, atau system.
metadataInformasi tambahan.
ipAddressAlamat IP (bila relevan).
createdAtWaktu kejadian.

LedgerEntry Double-Entry

LedgerEntry mencatat pergerakan dana dengan model double-entry:

  • direction: CREDIT atau DEBIT.
  • asset: IDR, SOL, ETH, atau BNB.
  • amount: jumlah.
  • reference: referensi transaksi.
  • Terhubung ke TopUpOrder atau SellOrder.

Setiap pergerakan memiliki sisi kredit dan debit yang seimbang, sehingga tidak ada dana yang tercatat tak berpasangan.

Idempotensi Webhook

Webhook Xendit disimpan di XenditWebhook dengan keunikan gabungan pada kind, event, orderId, dan payoutId. Ini memastikan event yang sama tidak diproses dua kali.

KolomFungsi
kindPAYMENT atau PAYOUT.
eventJenis event, misalnya payment.success.
orderIdID order Xendit.
payoutIdID payout Xendit.
payloadJSON mentah untuk audit.

Manfaat

Jejak audit ini mendukung rekonsiliasi, investigasi insiden, dan pertanggungjawaban operasional tanpa menyimpan data identitas pelanggan.