Daldırmalar ve basamaklar
1) Kavramsal taban
Bir alt tüccar, ana satıcı/sağlayıcı (PayFac/platform/operatör) aracılığıyla ödemeleri kabul eden bir tüzel kişiliktir. Nakit akışları ana MID/platform hesabına gider, daha sonra platform alt tüccara ödeme yapar (split/sweep).
Basamaklama, yetkilendirmeyi artırmak ve maliyeti azaltmak için kurallara (GEO, BIN, tarife, risk, yük) göre birkaç PSP/edinen/MID üzerinden sıralı veya paralel işlem yönlendirme stratejisidir.
PayFac-model -'mini-edinen'olarak platform: Bir alt-tüccarın (KYB/PCI) görevlendirilmesi, alt-MID'nin atanması, KYC/AML'nin tekdüze kuralları ve anlaşmazlıklar, merkezi çözüm ve ödemeler.
2) Nerede ve ne zaman iGaming'de ihtiyacınız varsa
Çok markalı/beyaz etiket: Bir operatör, düzinelerce alt marka/stüdyo - MID'leri/tanımlayıcıları ve raporlamaları korumak daha kolay.
İçerik pazarı: platform - MoR/PayFac, stüdyolar - denizaltılar (revshare, splits).
Yüksek risk/coğrafi karışım: PSP basamakları arızaları, olay şoklarını ve ödeme maliyetlerini azaltır.
Yerel yöntemler/ödeme koridorları: Anında ve geri dönüşte bir sağlayıcı seçmeniz gerekir.
3) Sorumluluklar ve roller
4) MID'lerin ve tanımlayıcıların hiyerarşisi
Master MID (platform)
Marka/Geo/Yöntem ile └─ Sub-MID (ler)
└─ Yönlendirme Profilleri (PSP1 - PSP2... Çağlayan)
Öneriler:- Alt-MID'de ayrı tanımlayıcılar: daha az anlaşmazlık.
- Saf analitik ve rezerv kontrolü için sub-MID ile ayrı cards/A2A/local yöntemleri.
- A/B için sürüm yönlendirme profilleri (v1/v2)
5) Cascades: Nasıl inşa edilir
5. 1. On-the-fly çözümü
Yetkilendirme yaparken: kurallara göre bir rota seçin (GEO, BIN/IIN, marka, banka/kredi kartı, risk sınıfı, PSP limiti, mevcut AR/DR, tarife/FX, SLA olayları).
5. 2. Cascades türleri
Ardışık: PSP_A - (yumuşak düşüş) - PSP_B - PSP_C.
Bölünmüş trafik: Kıyaslama ve dekorasyon için farklı PSP'lere trafiğin yüzdesi.
Yapışkan BIN: En iyi PSP için başarılı bir BIN havuzunun güvence altına alınması.
5. 3. Kısıtlamalar
Idempotency okuyun (çift yakalama için değil).
Tekrarlanan denemelerde PSP'ye katılıyorum (yeniden deneme penceresi, yumuşak kodlar).
Her rotada 3DS politikası ve sorumluluk değişimini göz önünde bulundurun.
6) Yerleşim, T + N, rezervler ve bölünmeler
Her PSP/edinen kendi kesme/T + N ve kendi haddeleme rezervine sahiptir.
Platform, MID-altı seviyedeki makbuzları toplar ve bir serbest bırakma takvimi ile bir rezerv defteri tutar.
Alt tüccarlara yapılan ödemeler: net ücret ve rezerv + raporlama dönemi için payları (revshare/EBM).
Destek, işleme göre (platform/stüdyo/bağlı kuruluş/vergi) veya döneme göre makaleye göre bölünür.
7) Antifraud, 3DS ve alt tüccar düzeyinde limitler
Pazarların A/B/C sınıfları için farklı puanlama eşikleri.
BIN/geo/check (zorunlu/soft/step-up) için 3DS kuralları.
Hız limitleri (giriş/çıkış, kart girişimleri) ve submerchant tarafından kapaklar.
"Gri" alt standartlar: daha katı sınırlar, sadece beyaz yöntemler ve ertelenmiş ödemeler.
8) Tarifeler ve alım oranı
Submershant tarafından etkili al-rate düşünün: PSP ücretleri (değişim/şema/işaretleme/sabit) + FX kayma + platform payı + rezerv etkisi.
Art arda karışık maliyetleri azaltmak için IC++ ve BIN yönlendirmesini kullanın.
9) Veri ve minimum model
sql
-- Directories
CREATE TABLE ref. submerchants (
sub_id BIGSERIAL PRIMARY KEY,
legal_name TEXT, brand TEXT, country TEXT, risk_class TEXT, status TEXT,
created_at TIMESTAMP, meta JSONB
);
CREATE TABLE ref. routing_profiles (
profile_id BIGSERIAL PRIMARY KEY,
name TEXT, version TEXT, enabled BOOLEAN, meta JSONB
);
CREATE TABLE ref. routing_rules (
rule_id BIGSERIAL PRIMARY KEY,
profile_id BIGINT REFERENCES ref. routing_profiles,
method TEXT, geo TEXT, bin_from TEXT, bin_to TEXT,
psp TEXT, mid TEXT, require_3ds BOOLEAN,
priority INT, soft_codes JSONB, enabled BOOLEAN, meta JSONB
);
-- Transactions linked to a sub-merchant and a route
CREATE TABLE payments. transactions (
id BIGSERIAL PRIMARY KEY,
sub_id BIGINT REFERENCES ref. submerchants,
profile_id BIGINT, rule_id BIGINT,
provider TEXT, mid TEXT, method TEXT, brand TEXT,
status TEXT, decline_code TEXT,
amount_original NUMERIC(18,6), currency_original TEXT,
amount_reporting NUMERIC(18,6), reporting_currency TEXT,
fx_reference_rate NUMERIC(18,10), fx_effective_rate NUMERIC(18,10),
authorized_at TIMESTAMP, captured_at TIMESTAMP, settled_at TIMESTAMP, funded_at TIMESTAMP,
user_id BIGINT, country_player TEXT, bin TEXT, three_ds_used BOOLEAN,
idempotency_key TEXT UNIQUE, meta JSONB
);
-- Phi and reserves for sub-merchant/provider/period
CREATE TABLE finance. settlement_fees (
sub_id BIGINT, provider TEXT, mid TEXT,
period_start TIMESTAMP, period_end TIMESTAMP,
interchange_amt NUMERIC, scheme_amt NUMERIC, markup_amt NUMERIC,
auth_amt NUMERIC, refund_amt NUMERIC, cb_amt NUMERIC, gateway_amt NUMERIC,
fx_spread_amt NUMERIC, reserve_delta NUMERIC, total_fees NUMERIC, currency TEXT
);
CREATE TABLE finance. reserve_ledger (
id BIGSERIAL PRIMARY KEY,
sub_id BIGINT, provider TEXT, mid TEXT,
hold_date DATE, release_due_date DATE,
hold_amount NUMERIC, released_amount NUMERIC,
cb_consumed NUMERIC, fines_consumed NUMERIC,
status TEXT, meta JSONB
);
-- Submerchant payments
CREATE TABLE payouts. submerchant_settlements (
sub_id BIGINT, period_start TIMESTAMP, period_end TIMESTAMP,
gross_sales NUMERIC, refunds NUMERIC, chargebacks NUMERIC,
fees_total NUMERIC, reserve_delta NUMERIC, revshare NUMERIC,
net_payable NUMERIC, currency TEXT, paid_at TIMESTAMP, statement_ref TEXT
);
10) SQL şablonları
10. 1. Submerchant başına etkili maliyet
sql
SELECT t. sub_id,
SUM(t. amount_reporting) AS volume_rep,
SUM(f. total_fees) AS fees_rep,
100. 0 SUM(f. total_fees) / NULLIF(SUM(t. amount_reporting),0) AS take_rate_pct
FROM payments. transactions t
JOIN finance. settlement_fees f
ON f. sub_id=t. sub_id
AND t. settled_at BETWEEN f. period_start AND f. period_end
WHERE t. settled_at BETWEEN:from AND:to
GROUP BY 1
ORDER BY take_rate_pct DESC;
10. 2. Kural gereği basamaklı verimlilik (AR/DR)
sql
SELECT r. profile_id, r. psp, r. mid,
COUNT() FILTER (WHERE t. status='APPROVED') AS approvals,
COUNT() FILTER (WHERE t. status='DECLINED') AS declines,
ROUND(100. 0 COUNT() FILTER (WHERE t. status='APPROVED') / NULLIF(COUNT(),0), 2) AS ar_pct
FROM payments. transactions t
JOIN ref. routing_rules r ON r. rule_id=t. rule_id
WHERE t. authorized_at BETWEEN:from AND:to
GROUP BY 1,2,3
ORDER BY ar_pct DESC;
10. 3. Submerchant tarafından rezerv dengesi
sql
SELECT sub_id,
SUM(hold_amount - released_amount - cb_consumed - fines_consumed) AS reserve_balance
FROM finance. reserve_ledger
WHERE hold_date <=:as_of
GROUP BY 1;
10. 4. Net ödenebilir uzlaşma
sql
SELECT s. sub_id,
SUM(s. gross_sales - s. refunds - s. chargebacks
- s. fees_total + s. reserve_delta - s. revshare) AS net_payable
FROM payouts. submerchant_settlements s
WHERE s. period_start >=:from AND s. period_end <:to
GROUP BY 1;
11) Gösterge panoları ve KPI'lar
AR/DR by cascade: GEO/BIN/method/PSP ile, 3DS payı, yumuşak düşüş payı.
Take-Rate % ve bileşen yığını ücretleri submerchant tarafından.
Alt-MID'de CB Oranı/Geri Ödeme Oranı.
Rezerv Dengesi ve Serbest Bırakma ETA, Submerchant/PSP tarafından.
Yerleşim SLA: T + N isabet oranı, finansman gecikmeleri.
Ödeme Sağlığı: Dalgıçlara yapılan ödemelerin sıklığı ve miktarları, gecikmeler.
FX Basamaklarda kayma (referansa karşı etkili).
12) Uyarılar ve eşikler
Routing Degradation: Fall AR> Y bps saat-saat kuralında.
CB Spike: Alt tüccarın ters ibraz büyümesi> X bps w/w.
Rezerv Dengesizliği: Rezerv Defteri Başarısız - P1.
Yerleşim Gecikmesi: PSP T + N ihlali - kademeli olarak otomatik geçiş.
Take-Rate Spike: maliyet artışı> eşik (ücretler veya FX).
Politika Sürüklenmesi: profil/kural/idempotency'ye bağlı olmayan işlemler - P1.
Ödeme Gecikmesi: Alt tüccar> SLA'ya geç ödeme.
13) Onboarding ve alt tüccar uyumu
ESC/yaptırımlar/REP: belge paketleri, yararlanıcılar, fon kaynakları.
PCI/güvenlik: tokenization, alt-tüccarda PAN depolamayı yasaklayın.
İade/bonus politikaları: üniforma standartları, SLA biletleri.
Toplu raporlama: marka, coğrafi, yöntemlere göre ayrı ayrı.
Limitler/kapaklar: günlük/haftalık cirolar, ödeme kapakları, yüksek riskli için ertelenmiş geri ödemeler.
14) En iyi uygulamalar (kısa)
1. Sürüm yönlendirme profilleri ve mağaza açıklama karar günlükleri.
2. AR stabilitesi ve fiyatı için yapışkan BIN ve A/B PSP testlerini saklayın.
3. Alt tüccar seviyesine Mappite ücretleri/FX/rezerv; SLA'da net ücret ödeyin.
4. Idempotency + retry-policy sadece yumuşak düşüş ile; PSP limitlerine uyun.
5. Tanımlayıcılar ve alt MID'ler markaya/geoya özgüdür: daha az anlaşmazlık.
6. Sürüm takvimi ve cevapsız sürüm uyarıları ile rezerv defteri.
7. Alt tüccara şeffaf raporlar: kod çözme ücretleri, rezerv, FX, anlaşmazlıklar.
8. Yük devretme oyun kitapları: PSP/koridor bırakma - anında yeniden yönlendirme.
15) Uygulama kontrol listesi
- Dizinler 'submerchants', 'routing _ profiles', 'routing _ rules'.
- KYB/KYC/AML protokolleri ve durum depolama.
- Idempotency ve yumuşak düşüş mantığı ile yönlendirici.
- PSP uzlaşma dosyalarını içe aktarın - 'settlement _ fee' + rezerv defteri.
- Alt tüccarlara ödeme mekanizması + eylemler/tüzükler.
- Gösterge Tabloları AR/DR/CB/ücretler/rezerv + uyarıları.
- Belgeler: Anlaşmazlık Politikası, 3DS Kuralları, Sınırlar ve SLA'lar.
Özet
Submershantlar ölçek ve esneklik sağlar ve basamaklar istikrar, dönüşüm ve yönetilebilir maliyet sağlar. MID'lerin hiyerarşisinden gelen mimari, sürümlü yönlendirme profilleri, şeffaf ücretler/rezervler muhasebesi ve sıkı uyumluluk, karmaşık bir çoklu GEO ödeme döngüsünü öngörülebilir bir sisteme dönüştürür: Yüksek yetkilendirme, düşük alma oranı, hızlı ödemeler ve risklerle ilgili minimum sürprizler.