GH GambleHub

Қисман ва пурра рад мекунад

TL; ДР

Refand амалиёти баръакс аз рӯи миқдори гирифташуда мебошад. Пурра тамоми транзаксияро пӯшонида, қисман қисмро бармегардонад (метавонад қисман то пурра бошад). Муҳим: баргардонидан ба манбаъ, idempotence қатъӣ, сабти сабтҳо ва оркестр бо webhooks/retras. Меъёри баргардонидан, TTR p95, Хатогии баргардонидан ва бартараф кардани такрори/номутобиқатӣ тавассути худкори мусолиҳа.

1) Истилоҳот ва фарқиятҳои асосӣ

Баргардонидани пурра - Тамоми маблағи содиршударо бармегардонад ('баргардонидан _ маблағ = capture_amount').
Баргардонидани қисман - як қисмро бармегардонад ('0 <refund_amount <capture_amount'), қисми боқимондаро ба миқдори умумии' гирифтан _ маблағ 'медиҳад.
Баргардонидан ба манбаъ - бозгашт ба усули аслии пардохт/релсҳо (танзимкунандаи афзалиятнок/ҳатмӣ).
Беэътибор - бекоркунӣ барои забт кардан (агар бо релсҳо дастгирӣ карда шавад), refand ҳисобида намешавад.
Бозсозӣ/Пардохт - механикаи бонкӣ/роҳи оҳан берун аз ташаббуси шумо (баҳсҳо, пардохтҳо) - бо радкунӣ ошуфта нашавед.

2) Кай бояд қисман vs қисман бароварда шавад

Пурра:
  • Бекор кардани тамоми фармоиш/хизматрасонӣ, нусхабардории такрорӣ, хатои система.
  • Агар хизматрасонӣ пешниҳод нагардад (тибқи қоидаҳои истеъмолкунанда/танзимкунанда) ҳатмӣ мебошад.
Қисман:
  • Қисман бекор кардани хизматрасонӣ, тасҳеҳи мутаносиб (тахфиф, ҷуброн барои таъхир).
  • Маҳдудиятҳои техникӣ релсҳо (ҳадди аксар барои як амалиёт) - силсилаи қисман.
  • Нигоҳ доштани комиссияи пост-фактум (дар ҷое, ки танзим иҷозат дода мешавад) - камтар дар IGaming.
Ҳал: усули 'reason _ code × метод × юрисдиксия' матритса → сиёсат = пуррақисманҳарду, маҳдудиятҳо, сатҳи зарурии тасдиқ.

3) Сиёсатҳо ва маҳдудиятҳо

Баргардонидан ба манбаъ = бо нобаёнӣ дуруст аст; истисноҳо - тавассути парвандаҳои MLRO/мувофиқат (сабти ном).
Қатъи кор: refands ба N рӯз аз гирифтан иҷозат дода мешавад (бо усул/юрисдиксия).
Ҳисоби қисман Max: на бештар аз К қисман барои як пардохт (одатан K ≤ 5).
Маблағи қисман Min: на камтар аз ҳадди аққали техникии роҳи оҳан/PSP.

Матритсаи тасдиқ:
  • Агенти дастгирӣ: қисман ≤ X, пурра ≤ Y.
  • Менеҷер/Молия: аз ҳад зиёд, истисноҳои методӣ.
  • Хунуккунӣ дар кӯшиши такрорӣ (зидди паридан).

4) Меъморӣ ва ҷараёни рӯйдодҳо

Компонентҳо:
  • Оркестри пардохт манбаи ҳақиқат аст.
  • Хадамоти баргардонидан - API, idempotency, оркестри бознишастагӣ, чӯбкорӣ.
  • Адаптерҳои PSP - Интегратсияи метод.
  • Оштӣ - мусолиҳаи худкор, DLQ, ислоҳҳо.
  • Китобдорӣ/баҳисобгирӣ - постҳо, ноқисҳо, клиринг бо клиринг.
  • Хавф/мувофиқат - Санксияҳо/So-F сенарияҳои баҳснокро месанҷанд.
Пайдарпаӣ (қисман/пурра):

1. 'Баргардонидан. Эҷоди '(API) тасдиқкунӣ → (маҳдудиятҳо, тавозун, сиёсат, агар лозим бошад KYC/So

2. Генерация idempotency_key ('ҳаш (payment_id + refund_amount + сабаб + nonce)').

3. Занги PSP → 'Интизорӣ'.

4. Webhook/пурсиш → 'Муваффақият '/' НОКОМ'; ҳангоми танаффус - бозпас бо ҳамон калид.

5. Нашри чорабинӣ дар Кафка → Ledger, BI, огоҳиҳо.

6. Муқоисаи худкор: харитасозии 'провайдер _ баргардонидан _ id' барои сабти ном.

5) Idempotency ва зидди-мегирад

Ҳамон як refand ду маротиба ҳисоб карда намешавад: ҳама мантиқ тавассути нигаҳдории idempotency (KV/Redis + TTL).
Калидҳои payment_id × миқдори × сабаб (ва агар лозим бошад, 'қисман _ индекс').
Ретрейҳо ҳамон калидро истифода мебаранд.
Қисмати параллелӣ бо қуфлҳои сатрӣ/версияи оптимистӣ дар ҳаҷми умумӣ ҳифз карда мешаванд.

Псевдокод:
python def refund(payment_id, amount, reason, idem_key):
if idem_store. exists(idem_key): return idem_store. get(idem_key)
with tx():
p = db. get_payment(payment_id, for_update=True)
assert p. captured_amount - p. refunded_amount >= amount > 0 r = p. create_refund(amount, reason, status='PENDING', idem_key=idem_key)
resp = psp. refund(p. provider_txid, amount, idem_key)
return finalize(r, resp. status, resp. ext_id)

6) Модели маълумот (ҳадди аққал кофӣ)

json
{
"payment_id": "pay_123",
"captured_amount": 150. 00,
"currency": "EUR",
"refunded_amount": 40. 00,
"refunds": [
{
"refund_id": "rf_001",
"type": "partial    full",
"amount": 20. 00,
"reason_code": "PARTIAL_SERVICE",
"idempotency_key": "idem_a1",
"status": "PENDING    SUCCESS    FAILED",
"provider_refund_id": "psp_rf_9xz",
"created_at": "2025-11-03T12:00:00Z",
"credited_at": "2025-11-03T15:05:00Z",
"notes": "ticket #456"
}
],
"flags": {
"refund_to_source": true,
"jurisdiction": "EEA",
"kyc_tier_required": "tier2"
}
}

7) Хусусиятҳо дар релсҳои пардохт

Кортҳо (Visa/Mastercard)

Дастгирии пурра/қисман; аксар вақт каме қисман; TTR аз бонки муштарӣ вобаста аст (T + 1... Т + 5 бп).
Webhooks дар бораи муваффақият зуд ба даст меоянд, аммо бақайдгирӣ дар бораи партофтан метавонад дер → бошад, ки мо дар қолабҳои дастгирӣ шарҳ медиҳем.

A2A/Open бонкӣ/RTP

Аксар вақт бозгашти фаврӣ (баргардонидан/такони қарз); баъзе провайдерҳо танҳо пурра ё 1 қисман дастгирӣ мекунанд.
Ҳатмии қатъӣ ба ҳисоби аслӣ; баргардонидан ба манбаъ талаб карда мешавад.

Ҳамёнҳои электронӣ

Муқаррарӣ пурра/қисман; Дақиқаҳои TTR; маҳдудиятҳои қисман ва ҳадди аққал.

Ваучерҳо/Пешпардохт

Одатан, сиёсати § барои баргардонидан ба манбаъ дастрас нест: бозгашт ба ҳамёни дохилӣ ё ваучери дубора (агар провайдер медонад, ки чӣ тавр). Шартҳои мутобиқатро талаб мекунад.

Крипто

Релсҳо - ноустувор; беҳтараш ҳамчун усули refand истифода намешавад. Агар иҷозат дода шавад: бозгашт ба ҳамон суроға/мубодила бо қурби ҳуҷҷатгузорӣ ва комиссияҳо; Санҷиши AML.

8) Баҳисобгирӣ, оштӣ ва молия

Китобдор: 'DR Revenue/CR Cash' ҳангоми сабт; дар бораи баргардонидан - навиштан. Қисман мутаносибан инъикос карда мешавад.
Эътироф: дар IGaming, refand GGR-и давраи мувофиқро коҳиш медиҳад (сиёсати баҳисобгирӣ).
Мусолиҳа: мусолиҳаи ҳаррӯзаи 'савдогар _ баргардонидан _ id ↔ provider_refund_id', статусҳо, маблағҳо, нархҳои FX.
FX: мантиқи курсҳоро ислоҳ кунед (ҳангоми гирифтан ё ҳангоми баргардонидан), агар лозим бошад; шабакаи паҳншударо нигоҳ доред.

9) KPI, ҳадафҳо ва огоҳиҳо (Баргардонидани саломатӣ)

Меъёри баргардонидан = 'Баргардонидашуда _ Tx/ Captured_Tx'.
Таносуби маблағи баргардонидан = 'Баргардонидашуда _ Маблағ/ Captured_Amount'.
TTR p95 = p95 ('credited _ at - created_at') бо усул.
Меъёри хатогии баргардонидан = 'Нокомӣ/Кӯшида' (<0). 3%).
Баргардонидани манбаъ% ≥ 95% (дар ҷойҳои дастрас).
Ҳодисаҳои дукарата баргардонидан = 0.

Огоҳиҳо:
  • 'TTR p95' нисбат ба SLO бо усули P2 → баландтар аст.
  • Хӯшаҳо аз ҷониби 'Меъёри баргардонидан' дар як провайдер/BIN → P1 (санҷед/дубора).
  • Ҳама гуна 'Баргардонидани дукарата> 0' → P0 (яхкунонии фаврии худкор).

10) иловаро SQL

10. 1 Профили Refand

sql
SELECT
DATE_TRUNC('day', r. created_at) AS d,
method_code, provider,
COUNT() FILTER (WHERE r. status='SUCCESS')  AS refunds_ok,
COUNT() FILTER (WHERE r. status='FAILED')  AS refunds_fail,
SUM(r. amount) AS refunded_amount,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (r. credited_at - r. created_at))) AS ttr_p95_sec
FROM refunds r
JOIN payments p ON p. payment_id = r. payment_id
GROUP BY 1,2,3;

10. 2 Назорати тавозун барои қисман

sql
SELECT p. payment_id,
p. captured_amount,
SUM(r. amount) AS refunded_sum,
(p. captured_amount - SUM(r. amount)) AS refundable_left
FROM payments p
LEFT JOIN refunds r ON r. payment_id = p. payment_id AND r. status IN ('SUCCESS','PENDING')
GROUP BY 1,2
HAVING (p. captured_amount - SUM(r. amount)) < 0;

11) UX ва дастгирӣ

Қолабҳои паём бо усулҳо: мо таъхири эҳтимолии партофтани кортҳо, A2A - қариб фавран шарҳ медиҳем.
Статусҳо дар офис: 'Дар раванди → баргардонида шуд'; Санаи дохилшавиро нишон диҳед.
Сабабҳо (reason_code) - хондани инсон: 'Такрори такрорӣ', 'Бекор кардани хидмат', 'Ҷуброни қисман'.
Қисман хидматрасонӣ - танҳо бо маҳдудиятҳо ва қоидаҳои возеҳ бехатар аст.

12) Хатар ва мувофиқат

Мубориза бо шустушӯ: радкунӣ набояд ба канали алтернативӣ табдил ёбад; бо тасдиқи MLRO истисноҳо содир кунед.
Санксияҳо/REP: барои баргардонидани ҳисобҳо/тафсилоти "сурх" - санҷиши ҳатмӣ.
DSAR/Нигоҳдорӣ - Нишонаҳои нигоҳдорӣ дар доираи сиёсати нигоҳдорӣ.
Қоидаҳои маҳаллӣ: мӯҳлат ва тартиби баргардонидан (масалан, қоидаҳои истеъмолкунандагон) - дар сиёсат инъикос ёфтаанд.

13) Хатогиҳои зуд-зуд ва чӣ гуна аз онҳо канорагирӣ кардан

Аз сабаби набудани idempotency ва webhooks-ҳои такрорӣ → store idem key/status дубора ислоҳ кунед, тавозунро санҷед.
Қисман> тавозун → версияи сатр-қулф/оптимистӣ ва чекҳои қатъӣ.
Баргардонидани усули кросс-усул бидуни иҷозати мувофиқат → баргардонидани манбаъро вайрон мекунад.
Омезиши беэътибор ва баргардонидан дар гузоришҳо → таҳрифи KPI.
Дар байни PSP ва дафтарчаи шумо ягон санҷиши худкор вуҷуд надорад.

14) Китобҳои бозӣ

Афзоиши провайдер бармегардад → санҷиши нокомии авторизатсия/нусхабардорӣ, фурӯзон кардани нокомӣ, тамос бо PSP.
Қисман ҷубронпулии оммавӣ (маърака) → маҳдудияти қисман баланд бардошта, амалиёти гурӯҳиро фароҳам меорад ва мусолиҳаро тақвият медиҳад.
Хатои Webhooks → гузариш ба овоздиҳӣ, зиёд кардани idempotency TTL, таъхири худкор.
Баргардонидани истисно ба манбаъ (нодир) → густариши MLRO, пардохти ҳуҷҷатгузорӣ ва 'comp _ тасдиқ = ҳақиқат'.

15) Парвандаҳои санҷишӣ (UAT/Prod)

1. Баргардонидани пурра пас аз як забт § тавозунро дуруст барқарор мекунад.
2. Қисм қисман (3 ×) → ҷамъи ≤ гирифтан; пас барои боқимонда пурра.
3. Idempotency - Такрори ҳамон пурсиш → 1 натиҷа.
4. Webhook-bounce: 3 огоҳиномаи якхела → як сабти ном/қарз.
5. Ҳамоҳангсозӣ: номутобиқатии сунъӣ → ҳушдор ва худкор ислоҳ.
6. Маҳдудияти ҳуқуқҳо: агент наметавонад аз ҳадди қисман зиёд бошад.
7. Қатъи кор: кӯшиши дермондаи барқарорсозӣ → нокомии дуруст ва воридшавӣ.

16) Рӯйхати санҷиши амалисозӣ

  • сиёсати пурра/қисман + баргардонидан ба манбаъ бо юрисдиксия/усул.
  • Idempotency, retreats, webhooks ва овоздиҳӣ, DLQ.
  • Модели маълумот бо бақияи бозгашт ва reason_code.
  • Китобча ва ҳамарӯзаи худкор.
  • KPI/панели назоратӣ: Меъёри баргардонидан, TTR, хато, баргардонидани дукарата = 0.
  • Ҳуқуқ ва матритсаи татбиқ, қолабҳои дастгирӣ.
  • Ҳолатҳои санҷиши UAT ва огоҳиҳои сатҳи истеҳсолӣ.

Хулоса

Идоракунии Refand як интизоми қатъии равандҳо мебошад: баргардонидан ба манбаъ, номутаносибӣ, модели шаффофи маълумот, ҳамоҳангсозии худкор ва сиёсати қисман/пурраи фаҳмо. Бо чунин асосҳо, шумо TTR-ро паст нигоҳ медоред, хатогиҳоро ба сифр наздик мекунед, такрори имконнопазир ва мувофиқат ва молия бо ҳадафҳои тиҷорат ҳамоҳанг карда мешаванд.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Telegram
@Gamble_GC
Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.