آبشار در سطح ارائه دهنده
1) آبشار چیست و چرا در iGaming است
ارائه دهنده آبشاری - انتخاب پویا و/یا سوئیچینگ متوالی بین چند PSP/خریدار برای تلاش پرداخت همان و یا برای توزیع ترافیک به طور کلی. اهداف:- AR↑/ DR↓: دور زدن صادر کنندگان «فریبنده»، انتخاب بهترین PSP برای یک BIN/geo/method خاص.
- هزینه ↓: IC + +/نشانه گذاری پایین تر در بخشی از سبد، به حداقل رساندن تعمیر در میکرو بلیط.
- انعطاف پذیری: شکست در حوادث، تخریب 3DS، راهروهای پرداخت در حال سقوط.
- انطباق: انطباق با جغرافیای سیاسی، تحریم ها، ممنوعیت ها و مجوزهای محلی.
2) الگوهای آبشار
1. متوالی
PSP_A → (نرم کاهش/امتناع tekhnichesky) → PSP_B → PSP_C.
یک «پنجره باریک» از retrays استفاده می شود تا تکراری/خطرات نگهداری چندگانه وجوه ایجاد نشود.
2. موازی (تقسیم ترافیک/چند بازو)
توزیع جریان (٪/قاعده) بین PSP های چندگانه برای معیار، یادگیری قانون و کاهش شکست مرتبط.
3. چسبنده BIN/GEO چسبنده
حفظ «بهترین» PSP برای یک BIN/صادر کننده/جغرافیایی خاص (با TTL ذخیره می شود).
4. روش آگاه/ویژگی آگاه
ارائه دهندگان مختلف برای کارت، A2A، کیف پول، روش های محلی ؛ با توجه به ویژگی های 3DS-rails، رفتار DCC/FX، نشانه گذاری.
5. محدود آگاه/SLA آگاه
حسابداری برای محدودیت های ارائه دهنده، ذخایر، حوادث SLA، قطع و تاخیر بودجه.
3) قوانین موتور: ورودی
ویژگی های کارت: BIN/IIN، نام تجاری، بدهی/اعتباری، تجاری/حق بیمه، کشور صادر کننده.
جغرافیایی و انطباق: کشور بازیکن (IP/GPS/SIM/KYC)، تحریم ها، مجوزها.
معامله: مقدار (واحد جزئی)، ارز، کانال (وب/برنامه)، نرخ خطر.
تاریخچه ارائه دهندگان: AR/DR توسط BIN/geo/روش برای آخرین 15-60 دقیقه، سهم نرم کاهش، 3DS-pass-rate.
هزینه: IC + +/نشانه گذاری/تعمیر، گسترش FX، رزرو نورد٪.
محدودیت ها: ارائه دهنده نرخ محدود، تعمیر و نگهداری/حوادث، کلاه گردش روزانه.
خروجی: لیست اولویت مسیرهای '[(PSP، MID، require_3DS، retry_window_ms، max_attempts)].
4) عقب نشینی، idemotence و ایمنی
Idempotency-key در هر تلاش (user_id+order_id+nonce) مشترک برای همه ارائه دهندگان در آبشار.
Retray تنها در نرم کاهش (بودجه network/3DS/timeout/insufficient)، هرگز با «سخت» کدهای (به سرقت رفته، دوباره افتخار نیست، و غیره).
Anti-duling: وضعیت «مجاز »/« CAPTURED» آبشار را بسته است ؛ تمام شاخه های دیگر لغو شده است.
ویندوز: 1 retray ≤ 2-5 ثانیه، کل بودجه ≤ 15-30 ثانیه، از جمله UX.
سیاست 3DS: اگر اولین بار بدون 3DS افتاد، ممکن است در شاخه دوم/سوم صعود کند.
5) 3DS، تغییر مسئولیت и AR
انتخاب «frictionless »/« چالش» بستگی به خطر و پشتیبانی PSP (auth محول، TRA، لیست سفید).
در «سخت» جغرافیایی/صادر کنندگان - 3DS مجبور در بخشی از سبد.
پیگیری تغییر مسئولیت توسط ارائه دهندگان: جایی که اغلب به دست می آید - انتقال BIN های خطرناک در آنجا.
6) هزینه: IC++، مخلوط، تعمیر و FX
برای هر PSP، در نظر گرفتن نرخ موثر = تبادل + طرح + نشانه گذاری + ثابت + FX لغزش.
در آبشار، از تابع قیمت در به ثمر رساندن مسیر استفاده کنید:- 'Score = + w2 ( ) + w3 ( ) + w4 (..
- میکرو بلیط: وزن ثابت بالاتر است → ارائه دهندگان با ثابت کم ترجیح داده می شوند.
- به طور جداگانه، در نظر بگیرید رزرو٪ و بودجه T + N - بر جریان کش تاثیر می گذارد.
7) حوادث، قطع و مسیریابی
خوراک سلامت: وضعیت PSP/راهرو (API auth، 3DS ACS، ریل های پرداخت).
Auto-failover: تغییر مسیر فوری زمانی که AR/سلامت زیر آستانه است.
Cut-off-aware: قبل از بستن حل و فصل، اجتناب از ضبط جزئی در PSP با T + N بی دست و پا
Throttling: به منظور «سوزاندن» محدودیت ارائه دهنده، ارسال ترافیک.
8) مدل داده حداقل
sql
-- Providers and MIDs
CREATE TABLE ref. providers (
provider TEXT PRIMARY KEY, model TEXT, pricing_model TEXT, fx_policy TEXT, reserve_pct NUMERIC, meta JSONB
);
CREATE TABLE ref. mids (
mid TEXT PRIMARY KEY, provider TEXT REFERENCES ref. providers, country TEXT, method TEXT, descriptor TEXT, meta JSONB
);
-- Cascade Rules/Profiles
CREATE TABLE ref. cascade_profiles (
profile_id BIGSERIAL PRIMARY KEY, name TEXT, version TEXT, enabled BOOLEAN, meta JSONB
);
CREATE TABLE ref. cascade_rules (
rule_id BIGSERIAL PRIMARY KEY, profile_id BIGINT REFERENCES ref. cascade_profiles,
geo TEXT, bin_from TEXT, bin_to TEXT, method TEXT,
provider TEXT, mid TEXT, require_3ds BOOLEAN, priority INT,
retry_on_soft JSONB, max_attempts INT, ttl_seconds INT, enabled BOOLEAN, meta JSONB
);
-- Online Provider Performance Metrics (Sliding Window)
CREATE TABLE live. provider_stats_15m (
provider TEXT, method TEXT, geo TEXT, bin6 TEXT,
approvals INT, declines INT, soft_declines INT, three_ds_pass INT,
avg_latency_ms INT, updated_at TIMESTAMP
);
-- Transactions with idempotency and selected route
CREATE TABLE payments. auth_attempts (
attempt_id BIGSERIAL PRIMARY KEY, idempotency_key TEXT, step INT,
provider TEXT, mid TEXT, require_3ds BOOLEAN, status TEXT, decline_code TEXT,
amount_minor BIGINT, currency TEXT, bin TEXT, geo TEXT,
started_at TIMESTAMP, finished_at TIMESTAMP, meta JSONB
);
9) قالب های تجزیه و تحلیل SQL
9. 1. امتیاز ارائه دهنده آنلاین (AR و سهم نرم افزاری)
sql
SELECT provider, method, geo,
SUM(approvals) AS appr,
SUM(declines) AS decl,
ROUND(100. 0 SUM(approvals) / NULLIF(SUM(approvals+declines),0), 2) AS ar_pct,
ROUND(100. 0 SUM(soft_declines) / NULLIF(SUM(declines),0), 2) AS soft_share_pct
FROM live. provider_stats_15m
WHERE updated_at > now() - INTERVAL '20 minutes'
GROUP BY 1,2,3
ORDER BY ar_pct DESC, soft_share_pct DESC;
9. 2. اثر آبشار در سفارشات (گام تبدیل)
sql
WITH s AS (
SELECT idempotency_key,
MAX(step) AS steps,
BOOL_OR(status='APPROVED') AS approved
FROM payments. auth_attempts
WHERE started_at BETWEEN:from AND:to
GROUP BY 1
)
SELECT steps,
COUNT() AS orders,
100. 0 SUM(approved::int) / NULLIF(COUNT(),0) AS conv_pct
FROM s
GROUP BY 1
ORDER BY 1;
9. 3. BIN چسبنده: بهترین ارائه دهنده BIN6
sql
SELECT bin6,
provider,
ROUND(100. 0 SUM(approved)::NUMERIC / NULLIF(COUNT(),0), 2) AS ar_pct
FROM (
SELECT LEFT(bin,6) AS bin6, provider, (status='APPROVED') AS approved
FROM payments. auth_attempts
WHERE started_at BETWEEN:from AND:to
) t
GROUP BY 1,2
QUALIFY ROW_NUMBER() OVER (PARTITION BY bin6 ORDER BY ar_pct DESC) = 1;
9. 4. همه در نرخ گرفتن
sql
SELECT provider,
SUM(amount_reporting) AS volume_rep,
SUM(interchange_amt + scheme_amt + markup_amt + auth_amt + refund_amt + cb_amt + gateway_amt + fx_spread_amt) AS fees_rep,
100. 0 SUM(interchange_amt + scheme_amt + markup_amt + auth_amt + refund_amt + cb_amt + gateway_amt + fx_spread_amt)
/ NULLIF(SUM(amount_reporting),0) AS take_rate_pct
FROM finance. settlement_fees
JOIN dw. transactions_flat USING (provider)
WHERE period_start_at >=:from AND period_end_at <:to
GROUP BY 1
ORDER BY take_rate_pct;
10) KPI ها و داشبورد
AR/DR توسط ارائه دهنده و BIN/geo/method (پنجره های آنلاین 15/60 دقیقه و روز به روز).
مرحله تبدیل: سهم مصوبات در شعبه 1، 2، 3.
نرخ٪ و FX-لغزش توسط ارائه دهنده/MID.
3DS نرخ عبور و سهم تغییر مسئولیت.
سلامت/SLA: تاخیر، زمان بندی، میزان خطا، حوادث.
رزرو و بودجه: رزرو٪ و T + N نرخ ضربه توسط ارائه دهنده.
11) هشدار و آستانه
مسیریابی تخریب: افت AR در ارائه دهنده انتخاب شده> Y bps در 10-30 دقیقه.
Soft-decline surge: افزایش سهم soft-decline باعث ایجاد شاخه دیگری از آبشار میشود.
ناهنجاری 3DS: افت نرخ عبور 3DS> X٪ در خوشه صادر کننده/BIN خاص.
Take-Rate Spike: همه در رشد هزینه> آستانه bps.
سلامت پایین: نقض SLA (تاخیر/خطا) - авто -failover.
رانش سیاست - تلاش بدون مشخصات آبشار idempotency_key/bez - P1.
12) آزمون AB و آموزش قانون
راهزن چند بازو یا تقسیم ترافیک ثابت به مسیرهای جدید.
کاوش/بهره برداری: بخشی از ترافیک را برای «یادگیری» BIN چسبنده نگه دارید.
افق رتبه بندی: آنلاین (15/60 دقیقه) برای حوادث و هفته/ماه برای هزینه.
Guardrails: حداقل نرخ AR/max برای متوقف کردن آزمایش.
13) موارد انطباق و «شدید»
احترام به تحریم ها/مجوزها/geoblocks: برخی از ارائه دهندگان نمی توانند به کشورها/روش های فردی خدمت کنند.
روش یکسان/بازگشت به منبع: آبشار نباید سیاست بازگشت را بشکند.
Tokenization/PCI: یک طرح توکن واحد بین PSP ها (نشانه های شبکه/vault).
Chargebacks: ورود به سیستم که شاخه گرفتن از طریق گذشت - برای اختلافات.
14) بهترین شیوه (کوتاه)
1. Retract تنها نرم کاهش، با یک idempotency_key واحد.
2. AR/3DS/soft-decline تله متری زنده و ارائه دهندگان خدمات بهداشتی را حفظ کنید.
3. ساخت تابع قیمت گذاری مسیر (AR در مقابل هزینه در مقابل SLA در مقابل FX).
4. استفاده از آزمون های BIN و AB چسبنده ؛ versioning پروفایل آبشار.
5. آگاه باشید: در پایان روز ضبط جزئی انجام ندهید.
6. دارای playbooks failover: PSP/ACS/پرداخت قطره راهرو.
7. داده ها و مسئولیت های جداگانه: چه کسی PAN را نگه می دارد، چه کسی اختلافات را رهبری می کند
8. نگهداری دفتر کل توسط ارائه دهنده: انتشار و نوشتن آف.
15) چک لیست پیاده سازی
- کارت ارائه دهنده/MID, قیمت گذاری (IC++ مخلوط), سیاست FX, ذخایر, T + N.
- قوانین موتور: پروفایل ها، قوانین، کدهای نرم، سیاست 3DS، محدودیت ها.
- روتر: idempotency، retrays، timeouts، حافظه پنهان BIN چسبنده.
- تله متری: معیارهای AR/DR/3DS/latency/health زنده ؛ هشدار ها
- مدیریت حوادث و کتابهای بازی شکست خورده.
- ETL برای هزینه ها/FX/رزرو ؛ ویترین های نرخ و مرحله تبدیل.
- روش های آزمون AB و guardrails.
- مستندات: محدودیت انطباق، بازده همان روش، مسئولیت.
خلاصه
آبشار در سطح ارائه دهنده است «سعی کنید یکی دیگر از PSP», اما یک نظم و انضباط: معیارهای زندگی می کنند, قوانین موتور هوشمند, idempotence دقیق, تاکتیک های 3DS درست, حسابداری برای هزینه/FX/ذخایر و سناریوهای شکست آماده ساخته شده. این معماری AR را افزایش می دهد، نرخ همه را کاهش می دهد و حلقه پرداخت را در برابر تصادفات و محدودیت های قانونی مقاوم می کند.