Cüzdan
Panel Kılavuzu
Limit & Ücret Şemaları

Panel — Limit & Ücret Şemaları

Bu uçları kim çağırır?Merchant panel
Taban yol
/api/panel/v1/wallet
Kimlik
Panel oturumu (JWT) — Authorization: Bearer <panel access token>. Token panel girişinden gelir; s2s imza anahtarı bu uçları AÇMAZ.
Yetki
RBAC izin kodu: wallet:limit:manage · wallet:fee:manageDört-göz: isteği yapan ile onaylayan aynı kişi olamaz — rol kapısıyla değil, kimlik karşılaştırmasıyla zorlanır.
Çapraz yüzey
s2s API'de yalnız POST fees/quote, GET end-users/:id/limits ve GET business-accounts/:id/commission vardır. Şema yönetiminin tamamı (17 uç: fee-schedules, commission-schedules, limit-schemes, fee-schedules/branch ve sürüm submit/approve zinciri) panele özeldir; imza anahtarıyla çağrılamaz.

Bu bölüm cüzdanın para davranışını belirler: kim ne kadar işlem yapabilir, ne kadar ücret öder, işletme ne kadar komisyon verir.

⚠️

Buradaki her değişiklik canlı para akışını etkiler. Ücret ve komisyon şemaları bu yüzden doğrudan düzenlenmez — sürümlenir ve onaydan geçer.

Limit şemaları

GET   limit-schemes
POST  limit-schemes
GET   limit-schemes/:id
PATCH limit-schemes/:id

Bir şema, KYC seviyesi × operasyon tipi × para birimi kesişiminde katmanlar (tiers) taşır: tekil işlem tavanı, günlük/aylık tutar ve adet tavanları.

⚠️

operationType: "*" satırı cüzdan toplamıdır: aynı yöndeki tüm operasyon tipleri tek sayacı paylaşır. Tipe özel satır kendi sayacını kullanır; ikisi birden tanımlıysa ikisi de uygulanır. Bir işleme ne tipe özel ne * satırı uyuyorsa işlem reddedilir. Programı canlıya almadan önce para çıkışı yapan tüm tipleri kontrol edin. Bkz. Limitler.

Şemayı programa bağlama: Panel — Programlar.

Ücret şemaları

GET   fee-schedules
POST  fee-schedules
GET   fee-schedules/:id/versions
GET   fee-schedules/branch           # tek bir dalı oku (programId, currency, operationType)
PUT   fee-schedules/branch           # tek bir dalı düzenle
PATCH fee-schedules/versions/:versionId
POST  fee-schedules/versions/:versionId/submit
POST  fee-schedules/versions/:versionId/approve
POST  fees/quote                     # test amaçlı ücret hesaplama

Ücret şeması bir matristir; tümünü tek seferde düzenlemek yerine dal bazlı düzenleyebilirsiniz (fee-schedules/branch) — belirli bir para birimi ve operasyon tipinin dalını okuyup değiştirirsiniz.

Değişikliği kaydettikten sonra fees/quote ile birkaç örnek tutar deneyin: eşik altı, eşik üstü ve tam eşikte. Matris hatalarının çoğu eşik sınırında ortaya çıkar.

Komisyon şemaları

GET   commission-schedules/:id/versions
PATCH commission-schedules/versions/:versionId
POST  commission-schedules/versions/:versionId/submit
POST  commission-schedules/versions/:versionId/approve

Komisyon, tahsilat yapan işletmeden alınır; ücret ise işlemi yapan kullanıcıdan. İkisi aynı işlemde birlikte bulunabilir.

Onay zinciri

Dört-göz onay zinciriDurum makinesi: taslak gönderilir, onay bekler; onaylanınca yürürlüğe girer ve sonunda emekliye ayrılır. Reddedilen taslak ayrı bir uçta biter.GÖNDERONAYLAEMEKLİ ETREDDETDRAFTPENDING_APPROVALACTIVERETIREDREJECTEDAÇIKLAMABEKLİYORYÜRÜRLÜKTEBİTİŞ
Aynı zincir ücret şemalarında, limit şemalarında ve sponsor politikasında çalışır. Onaylayan, gönderenden farklı olmak zorundadır — dört-göz kuralı servis katmanında zorlanır, arayüzde değil.
⚠️

Dört-göz: taslağı hazırlayan kişi onaylayamaz. Onaylanan sürüm aktifleşir, önceki sürüm emekliye ayrılır. Geçmiş işlemler kendi scheduleVersionId'leriyle izlenebilir kalır.

Canlıya alma disiplini

  1. Taslakta çalışın. Aktif sürümü hiç düzenlemezsiniz; her değişiklik yeni bir taslaktır.
  2. Quote ile sınayın. Kaydetmeden önce fees/quote ile eşik ve zaman dilimi dallarını doğrulayın.
  3. Onayı ayrı kişiye verdirin. Dört-göz kuralı, hatalı bir matrisin tek kişinin dikkatsizliğiyle canlıya çıkmasını engeller.
  4. Düşük hacimli saatte aktifleştirin. Yeni sürüm aktifleştiği andan itibaren geçerlidir.
  5. Aktivasyondan sonra kontrol edin. İlk birkaç işlemin scheduleVersionId ve ücret alanlarına bakın.

Yaygın hatalar

DurumSebepÇözüm
Bir operasyon tipinde tavan yokO tip için katman tanımlanmamışŞemaya katman ekleyin
Beklenmedik ücretYanlış eşik dalıappliedThreshold / appliedTimeKey alanlarına bakın
Sürüm aktifleşmiyorOnay adımı atlanmışsubmit → approve sırasını izleyin
Onay reddediliyorOnaylayan, taslağı hazırlayanla aynıFarklı bir operatör onaylamalı