Collection: wallets
Menyimpan data wallet toko — saldo, rekening bank, dan DOKU sub-account.
Struktur Dokumen
json{
"_id": "uuid-string",
"store_id": "uuid-string",
"balance": 150000,
"processing_balance": 50000,
"pending_balance": 0,
"total_withdrawn": 500000,
"bank_account": {
"bank_code": "BCA",
"account_number": "1234567890",
"account_name": "John Doe"
},
"doku_sub_account_id": "SAC-xxxx-xxxxxxxxxxxxx",
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-06-25T14:30:00.000000Z"
}
Field
| Field | Type | Deskripsi |
|---|
_id | string (UUID) | Primary key |
store_id | string (UUID) | Foreign key ke stores._id |
balance | int | Saldo tersedia (bisa ditarik) |
processing_balance | int | Saldo sedang diproses (withdraw PENDING/PROCESSING) |
pending_balance | int | Saldo pending (belum settle) |
total_withdrawn | int | Total yang sudah ditarik |
bank_account | object | Rekening bank untuk withdraw |
bank_account.bank_code | string | Kode bank (BCA, BNI, Mandiri, dll) |
bank_account.account_number | string | Nomor rekening |
bank_account.account_name | string | Nama pemilik rekening |
doku_sub_account_id | string | DOKU sub-account ID (SAC-xxx) |
created_at | DateTime | Waktu dibuat |
updated_at | DateTime | Waktu terakhir diupdate |
Relasi
| Relasi | Type | Ke |
|---|
store | belongsTo | stores via store_id |
transactions | hasMany | wallet_transactions via wallet_id |
Query Umum
javascript// Cari wallet by store
db.wallets.findOne({ store_id: "uuid-store" })
// Cek saldo
db.wallets.find({ balance: { $gt: 0 } })
// Wallet dengan processing balance
db.wallets.find({ processing_balance: { $gt: 0 } })