צוללות ומפלסים
1) בסיס קונספטואלי
סוחר משנה (באנגלית: Sub-servant) הוא ישות משפטית המקבלת תשלומים דרך הסוחר/ספק הראשי (PayFac/platform/operator). הזרמות מזומנים עוברות לחשבון מאסטר MID/פלטפורמה, ואז הפלטפורמה משלמת לסוחר משנה (פיצול/סריקה).
Discading היא אסטרטגיה של עסקה רציפה או מקבילה המנתבת באמצעות מספר רכישות PSP/MID לפי הכללים (GEO, BIN, תעריף, סיכון, טעינה) כדי להגדיל את ההרשאה ולהפחית את העלות.
PayFac-model - פלטפורמה בתור ”רוכש מיני”: עלייה למטוס של סוחר משנה (KYB/PCI), הקצאה של תת-אמצע, כללים אחידים של KYC/AML ומחלוקות, הסדר מרכזי ותשלומים.
2) איפה ומתי אתה צריך את זה ב ־ iGaming
רב מותגים/תווית לבנה: מפעיל אחד, עשרות תת-מותגים/אולפנים.
שוק תוכן: פלטפורמה - MoR/PayFac, אולפנים - צוללות (revshare, splits).
סיכון גבוה/גיאו-מיקס: מפלי PSP מפחיתים כשלים, זעזועים ועלויות תשלום.
שיטות מקומיות/מסדרונות תשלום: אתה צריך לבחור ספק על הנסוג.
3) אחריות ותפקידים
4) היררכיה של מידים ותיאורים
מאסטר אמצע (פלטפורמה)
Sub-MID (s) └─ על ידי Brand/Geo/Method
פרופילי ניתוב └─ (PSP1 # PSP2... קסקייד)
המלצות:- תיאורים נפרדים בתת-אמצע: פחות מחלוקות.
- שיטות cards/A2A/local נפרדות על ידי תת-אמצע לאנליטיקה טהורה ובקרת מילואים.
- פרופילי ניתוב גרסה (v1/v2) עבור A/B.
5) קסקיידס: כיצד לבנות
5. 1. פתרון על-לטוס
בעת אישור: בחר מסלול לפי הכללים (GEO, BIN/IIN, מותג, כרטיס חיוב/אשראי, רמת סיכון, מגבלת PSP, AR/DR נוכחי, תעריף/FX, תקריות SLA).
5. 2. סוגי מפלים
המשך: PSP_A (ירידה רכה) □ PSP_B PSP_C.
פיצול תנועה:% מהתנועה לפסיכומטרי שונים לסימון ספסל ועיצוב.
אבטחת בריכת סל מוצלחת לטוב ביותר.
5. 3. הגבלות
קרא אידמפוטנטיות (כדי לא ללכוד כפול).
מסכים עם PSP על ניסיונות חוזרים ונשנים (חלון, קודים רכים).
תן דעתך למדיניות 3DS ולשינויי אחריות בכל מסלול.
6) התיישבות, T + N, עתודות ופיצולים
לכל PSP/רוכש יש חתך/T + N משלו ושמורה מתגלגלת משלו.
הפלטפורמה מצרפת קבלות ברמת תת-אמצע ושומרת על פנקס רזרבה עם לוח שנה לשחרור.
תשלומים לסוחרי משנה: נטו עמלות & רזרבה + חלקם (revshare/CPA) עבור תקופת הדיווח.
תמיכה בפיצול על ידי עסקה (פלטפורמה/סטודיו/שיוך/מס) או על ידי מאמר אחר תקופה.
7) אנטי-פראוד, 3DS ומגבלות ברמת הסוחר
סף ניקוד שונה לשווקים בכיתות A/B/C.
3DS כללי BIN/geo/check (חובה/רך/שלב).
מהירות מוגבלת (קלט/פלט, ניסיונות קלפים) ומכסה על ידי צוללת.
תחומים ”אפורים”: גבולות מחמירים יותר, רק שיטות לבנות ותשלומים דחויים.
8) תעריפים ותעריפים
קחו בחשבון את שיעור ההשתלטות האפקטיבי על ידי הצוללת: עמלות PSP (מתחלפים/scheme/markup/קבוע) + FX slippage + platform share + reserve-effect.
השתמש ב ־ ICC++ וב ־ BIN-ניתוב כדי להפחית את העלות המשולבת במפל.
9) נתונים ומודל מינימלי
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
10. 1. עלות יעילה לצוללת
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. יעילות מפל (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. איזון על ידי צוללת
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. הסדר תשלום נטו
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) לוחות מחוונים ו ־ KPIs
AR/DR by cascade: על ידי GEO/BIN/method/PSP, נתח של 3DS, רך-ירידה.
קח שיעור% ועמלות ערימה רכיבים על ידי צוללת.
יחס CB/שיעור החזר על תת-אמצע.
שמור שיווי משקל ושחרר זמן הגעה משוער על ידי Submerchant/PSP.
התיישבות SLA: T + N שיעור פגע, עיכובים מימון.
בריאות תשלום: תדירות וסכומי תשלומים לצוללות, עיכובים.
FX Slippage בקסקיידס (אפקטיבי נגד התייחסות).
12) התראות וסף
ניתוב הידרדרות: סתיו AR> Y bps שעה-שעה על כלל.
CB Spike: צמיחת סוחר משנה> X bps w/w.
חוסר איזון מילואים: רזרב לדג 'ר נכשל - P1.
עיכוב פשרה: הפרת PSP T + N.
Take-Rate Spike: עלות צמיחה> סף (עמלות או FX).
סחיפת מדיניות: עסקאות ללא התחייבות לפרופיל/כלל/אידמפוטנטיות - P1.
עיכוב תשלום: תשלום מאוחר לסוחר המשנה> SLA.
13) עלייה למטוס וציות סוחר משנה
ESC/סנקציות/REP: חבילות של מסמכים, מוטבים, מקורות מימון.
PCI/אבטחה: אסימון, איסור אחסון PAN בתת-הסוחר.
מדיניות החזר/בונוס: סטנדרטים אחידים, כרטיסי SLA.
דיווח מצורף: בנפרד על ידי מותג, גיאו, שיטות.
גבולות/פקקים: תחלופה יומית/שבועית, תשלומים, החזרים דחויים עבור סיכון גבוה.
14) המנהגים הטובים ביותר (קצר)
1. פרופילי ניתוב גרסה ואחסון להסביר יומני החלטה.
2. שמור סל דביק ו A/B בדיקות PSP ליציבות ומחיר AR.
3. עמלות מפפיט/FX/reserve לרמה של תת-הסוחר; תשלום נטו של עמלות על SLA.
4. Idempotency + retry-policy רק על ידי רך-down; לציית למגבלות PSP.
5. תיאורים ותת-מידות ייחודיים למותג/גיאו: פחות מחלוקות.
6. ספר חשבונות עם לוח שנה שחרור והתראות החמצות.
7. דוחות שקופים לסוחר משנה: דמי פיענוח, רזרבה, אף-אקס, סכסוכים.
8. ספרי השמעה: PSP/מסדרון טיפה - ניתוב מיידי.
15) רשימת מימושים
[ ] Directories ”suberchants”, ”routing _ profiles”, ”routing _ rules”.
[ ] פרוטוקולי KYB/KYC/AML ואחסון מצב.
[ ] ראוטר עם אידמפוטנטיות והיגיון רך ירידה.
[ ] לייבא קבצי פשרה של PSP * ”הסדר _ עמלות” + פנקס רזרבה.
[ ] מנגנון תשלום לסוחרי משנה + פעולות/חוקים.
[ ] לוחות מחוונים AR/DR/CB/עמלות/רזרבה + התראות.
[ מסמכי ]: מדיניות מחלוקת, חוקי 3DS, גבולות, ו-SLA.
תקציר
צוללות מספקות קנה מידה וגמישות, וקסקדות מספקות יציבות, המרה ועלות הניתנת לניהול. הארכיטקטורה מההיררכיה של MIDs, פרופילי ניתוב, עמלות שקופות/רזרבות חשבונאיות ותאימות קפדנית הופכת לולאת תשלום מורכבת של GEO למערכת צפויה: הרשאה גבוהה, דרישה נמוכה, תשלומים מהירים ומינימום הפתעות על סיכונים.