Multi-Outlet
Multi-Outlet memungkinkan satu merchant (satu entitas bisnis / satu billing) memiliki beberapa cabang, lokasi, atau counter yang masing-masing memiliki identitas QRIS sendiri.
Merchant (1 entitas bisnis)
├── Outlet A — NMID, MID, alamat tersendiri
│ ├── Device 1 — TID, serial number
│ └── Device 2 — TID, serial number
├── Outlet B — NMID, MID, alamat tersendiri
│ └── Device 3 — TID, serial number
└── Outlet C — ...
Merchant UMKM single-counter tetap berjalan seperti biasa — mereka memiliki 1 merchant + 1 outlet default yang transparan, tidak perlu perubahan apapun.
Model Hierarki Identifier
| Identifier | Granularitas | Catatan |
|---|---|---|
merchant_code (MRC-…) | Per merchant | Identitas Kesles canonical — tidak berubah |
nmid | Per outlet | BI standard, satu per titik usaha |
mid | Per outlet | Acquirer assign per outlet contract |
tid | Per device | Acquirer assign per terminal fisik |
serial_number | Per device | Hardware ID (manufacturer) |
Role Akses (Enterprise)
| Role | Cakupan | Akses |
|---|---|---|
owner (corporate) | Semua outlet | Aggregat revenue, setting corporate (rekening, branding), buat/hapus outlet |
admin | Outlet yang di-assign | Operasional outlet: devices, transaksi, staf outlet |
staff | 1 outlet, optional 1 device | Kasir harian |
viewer | 1 outlet atau semua | Read-only (audit, rekonsiliasi) |
Resolusi Transaksi PSP
Saat outlet menerima pembayaran, transaksi akan diattribute ke merchant → outlet → device secara internal oleh Kesles:
- PSP mengirim event dengan payload berisi NMID/MID/TID
- Kesles melakukan resolve ke outlet dan terminal yang tepat
- Transaksi tersimpan dengan attribution 3-tier:
merchant_id + outlet_id + terminal_id
Partner cukup mengirim NMID/MID/TID — response akan menyertakan outlet_id + merchant_id.
Settlement Fleksibel
Rekening settlement bisa dikonfigurasi per outlet atau corporate pooled:
- Corporate pooled: 1 rekening untuk semua outlet
- Per outlet: setiap outlet memiliki rekening tersendiri
Fallback otomatis ke rekening corporate kalau outlet tidak punya rekening sendiri.
Endpoint
GET /api/partner/v1/merchants/{merchant_id}/outlets
GET /api/partner/v1/merchants/{merchant_id}/outlets/{outlet_id}
GET /api/partner/v1/merchants/{merchant_id}/outlets/{outlet_id}/devices
GET /api/partner/v1/merchants/{merchant_id}/outlets/{outlet_id}/transactions
Semua endpoint memerlukan autentikasi partner token. Akses dibatasi ke merchant yang berada dalam portfolio partner (consent via partner_merchant_access).
Untuk mengaktifkan akses ke endpoint outlet, hubungi support@kesles.com.
Persiapan Integrasi
Untuk memastikan sistem Anda siap dengan struktur multi-outlet:
- Simpan
outlet_idbersamamerchant_iduntuk setiap merchant yang di-refer — response merchant menyertakandefault_outlet_id. - Transaksi menyertakan field
outlet_id— pastikan sistem downstream dapat menerima field ini. - Dashboard summary menyertakan
outlet_breakdown— pastikan UI partner dapat menangani array outlet.
Untuk mendaftar sebagai enterprise early-access, hubungi support@kesles.com.