Чӣ гуна пардохтҳои API барои провайдерҳо кор мекунанд
Пардохти API шартномаест байни аризаи шумо ва провайдер, ки "эҷод кардани пардохт", "тасдиқи" "баргардонидани маблағ", "пардохт кардани муштарӣ" ва "гирифтани вазъ" -ро ба зангҳои боэътимод ва такрорӣ табдил медиҳад. Дар зери кулоҳ даҳҳо қоидаҳо мавҷуданд: токенизатсия, idempotency, webhooks, зидди қаллобӣ, навбатҳо, SLA ва аудит. Дар зер харитаи амалии он аст, ки ин барои аксари провайдерҳо чӣ гуна кор мекунад.
Модели асосӣ: кадом субъектҳо қариб ҳамеша ҳастанд
Пардохт/Пардохт - кӯшиши аз ҳисоб баровардан (иҷозат додан + гирифтан ё фавран харидан).
Усули пардохт - корт (PAN/токен), суратҳисоби бонкӣ/тахаллус, ҳамён, усули маҳаллӣ.
Фармоишгар - фармоишгар/шахси пардохткунанда (баъзан ихтиёрӣ).
Пардохт/интиқол - пардохти содиротӣ ба муштарӣ/тоҷир.
Баргардонидан/Баргардонидан - бозгашт ба пардохти аввалия (пӯшида).
Чорабинии Webhook - огоҳиномаи асинхронӣ.
Баҳс/Пардохт - баҳс дар бораи шабакаи пардохт (барои кортҳо).
Фармоиш/ҳисобнома-фактура - заминаи тиҷорат дар атрофи пардохт.
Аутентификатсия ва амният
Калидҳои API/OA buth 2. 0/mTLS - барои сервер-сервер.
Аломатҳои муштарӣ нишонаҳои якдафъаина барои frontend мебошанд (то сирри худро равшан накунанд).
Токенизатсияи корт - PAN ба провайдер меравад; шумо танҳо нишонаро нигоҳ медоред.
PCI DSS - агар шумо PAN-ро бинед, шумо дар минтақаи PCI ҳастед; беҳтар аст, ки майдонҳои мизбон/SDK-ро пешгирӣ ва истифода баред.
Webhooks имзои HMAC - санҷидани он, ки ин ҳодиса аз провайдер омадааст.
Архитектураи дугона - пеши ҷамъиятӣ (JS/SDK) ва пушти хусусӣ (калидҳо, мантиқи хатар).
Идемпотенсия, навбатҳо ва пайдарҳамӣ
Idempotency-Key дар сарлавҳа: такрори дархост (бо гузашти вақт) нусхаро эҷод намекунад.
Outbox/Saga бо шумо: барои "фиристодани пардохт → навиштан ба дафтарча → интизор шудан webhook" мувофиқа карда шуд.
Retrai бо бозгашт - танҳо барои хатогиҳои муваққатӣ. Матритсаи retryable/retryable лозим аст.
Нуқтаҳои маъмулӣ (схемаҳо ва ҷараён)
1) Кортҳо (Visa/Mastercard ва ғайра)
POST/пардохтҳо - эҷод кардани пардохт ('маблағ', 'асъор', 'пардохт _ метод _ токен', 'гирифтан' = дурӯғ/ҳақиқат).
POST/пардохтҳо/{ id }/тасдиқ - shag 3-D Secure 2 (натиҷаи даъват/равона кардан).
POST/пардохтҳо/{ id }/гирифтан - гирифтан пас аз иҷозат (қисман/пурра).
POST/пардохтҳо/{ id }/баргардонидан - баргардонидан (қисман, то маблағи аслӣ).
GET/payments/{ id} - статус (ваколатдор, гирифташуда, ноком, requires_action).
3-D Secure/SCA: провайдер 'requires _ action' + 'client _ secret '/URL-ро барои мушкилот бармегардонад. Пас аз тасдиқи муштарӣ, фронт натиҷаро ба пушти шумо бармегардонад → шумо '/тасдиқ 'мекунед.
2) A2A/Бонкдории кушода (Пардохт аз ҷониби Бонк)
POST/пардохтҳо → вокуниш аз 'recrirect _ url' ба бонки муштариён.
Муштарӣ аз ҷониби бонк § webhook 'payment иҷозат дода шудааст. муваффақ/ноком '.
GET/payments/{ id} - ҳолати ниҳоӣ (аксар вақт танҳо асинхронӣ).
3) Усулҳои маҳаллӣ (PIX, Pay
POST/пардохтҳо → ба даст овардани 'qr _ code '/' deeplink '/' copy _ code'.
Корвандро нишон диҳед, webhook-ро дар бораи бақайдгирӣ интизор шавед.
Танаффусҳои рамзӣ ва TTL як қисми шартнома мебошанд.
4) Пардохтҳо
POST/пардохтҳо ('маблағ', 'асъор', 'destination _ token' ili 'card _ token '/' bank _ alias').
GET/payuts/{ id} - статусы ('навбат', 'фиристода', 'пардохт', 'ноком').
Webhooks 'пардохт. пардохтшуда/ноком 'манбаи ҳақиқат аст.
Давраи пӯшида: пеш аз алтернатива пардохт кардан ба манбаъ (баръакс) афзалтар аст.
Вебхукҳо: "манбаи ҳақиқат"
Чорабиниҳо: 'пардохт. интизорӣ/ваколатдор/гирифташуда/ноком ',' пардохт. requires_action', 'баргардонидан. муваффақ шуд ',' пардохт. пардохт ',' баҳс. офаридааст 'ва ғайра.
Таҳвил: бо бозхонди аз ҷониби HMAC имзошуда, аксар вақт "ҳадди аққал як бор" → idempotent-ро нигоҳ доред.
Таҷрибаи пешқадам: коркарди webhook → навсозии дафтар → ҷавоби 2xx. Ҳар гуна мантиқи тиҷорат пас аз асинхронӣ аст.
Коркарди хатогӣ ва вазъият
Рамзҳои HTTP: муваффақияти '2xx'; '4xx' хатогии муштарӣ (тасдиқ, қаллобӣ/нокомии бонк, аломати нодуруст); '5xx' - провайдер.
Причины отказов: 'нокифоя _ фондҳо', 'do _ not _ honor', 'дуздидашуда _ корт', 'limit _ overged', 'risk _ disk', 'bank _ дастнорас'.
Тирезаҳои Redo: барои 3DS - шумо наметавонед беохир бозпас гиред; барои A2A - равона/рамзи TTL дуруст аст; барои пардохтҳо - бозгашт.
Антифрауд ва хатар
Маълумот дар бораи изи ангушт ва рафтор - тавассути провайдери JS/SDK ё қабати худ.
Рӯйхатҳо: Хатари BIN, рӯйхати усулҳои сиёҳ/сафед/ASN/кишварҳо.
Дарвозаҳои танзимшаванда: маҳдудиятҳои воситаҳои нав, хунуккунӣ, суръат, ҳадди ниҳоии RG/AML.
Сиёсатҳо: 'гузариш/қадам ба қадам/нигоҳ доштан/блок' дар асоси баҳодиҳӣ + қоидаҳо.
Хусусиятҳо дар релсҳо
Кортҳо: авторизатсия vs клиринг (маблағро иваз кардан мумкин аст), 3DS2, баргардонидани амалиёти аслӣ, баҳсҳо/пардохтҳо.
A2A/Open бонкӣ: ҷараёни равона/ризоият, apruv баланд, арзиши кам; ҳама чиз асинхронӣ аст ва аз бонк хеле вобаста аст.
Суръати маҳаллӣ: QR/alias, webhook фаврӣ, TTL ва таркиби қатъӣ.
OCT/Push-to-Card (пардохтҳои кортӣ): ба шумо нишонаҳои корт, Дастгирии фондҳои зуд аз эмитент, бе 3DS лозим аст.
Версия ва мутобиқат
Версияҳои API: '/v1 ', "версияҳои маълумот" дар сарлавҳа ё phicheflags.
Тағироти ба қафо мувофиқ: танҳо майдонҳои харобнашаванда.
Амортизатсия: ҷадвали бозхондани нусхаҳои кӯҳна, дастурҳои муҳоҷират, нусхабардории веб-китобҳо ҳангоми муҳоҷират.
Мушоҳида ва SLA
Нишондиҳандаҳо: вақти ваколатдиҳӣ/пардохти p95, меъёри тасдиқи BIN/бонк/усул, ҳиссаи бозпас, webhooks-lag.
Сабтҳо: таносуб аз ҷониби 'request _ id', 'idempotency _ key', 'pay _ id'.
Огоҳиҳо: афзоиши саркашӣ аз бонк/кишвари мушаххас, афзоиши танаффус, такрори рӯйдодҳо.
Тозакунӣ ва молия
Китобча: вуруди дукарата, гузоришҳои ивазнашаванда, статусҳои 'ваколатдор/гирифташуда/баргардонидашуда'.
Композитсияи сеҷониба: дафтарчаи шумо ↔ webhooks ↔ ҳисоботи провайдер/бонк.
Истинодҳо: 'provider _ reference', 'network _ reference', 'payout _ reference' нигоҳ доред - ин дастгирӣро сарфа мекунад.
Сандбокс, сертификатсия ва истеҳсол
Қуттии қуттӣ: нишонаҳои санҷишӣ/кортҳо/бонкҳо, моделиронии 3DS/redirects, "тугмаҳо" барои статусҳои webhook.
Ҳолатҳои санҷиш: муваффақият/нокомӣ, мушкилоти 3DS, таъхири провайдер, такрори вебҳук, қисман гирифтан/баргардонидан, бекор кардани масир, пардохт ноком.
Go-live: калидҳои prod, домейнҳои webhook, IP-allowlist, имкон медиҳад, ки қаллобӣ, маҳдудиятҳо ва огоҳиҳо муқаррар карда шавад.
Намунаҳои хурд (схемавӣ)
Эҷод кардани пардохт (корт)
POST/v1/пардохтҳо
{
"маблағ": 9232, "асъор": "EUR", "payment_method_token":" pm_tok_123, "гирифтан": дуруст, "metadata": {"order _ id": "ORD-1001"}
}
→ 200 {"id": "pay_abc," "статус": "requires_action," "next_action": {" type ":" redirect "," url ":..."}}
Webhook оид ба бақайдгирии бомуваффақият
POST/webhooks
{
"намуди": "пардохт. гирифташуда," "маълумот": {"id ": "pay _ abc ", "маблағ ": 9232, "асъор":" EUR"," metadata": {" order _ id":" ORD-1001"}}}
}
Пардохт
POST/v1/пардохтҳо
{
"маблағ": 5000, "асъор": "EUR", "destination_token":" dest_tok_456, "метамаълумот": {"user _ id": "u _ 77"}
}
Рӯйхати санҷиши амалисозӣ
1. Меъмории асосӣ: сирри сервер алоҳида, асрори муштарӣ - як маротиба.
2. Idempotency: дар ҳар як занги хаттӣ + коркардкунандагони webhook idempotent.
3. Webhooks: имзои HMAC, ретрай, навбати вазифа, мониторинги ақибмонӣ.
4. 3DS/SCA ва масир: коркарди бекоркунӣ/танаффус, бори дигар дӯсти UX.
5. Антифрауд/маҳдудиятҳо: суръат, тафсилоти нав, рӯйхати сиёҳ, ҳадди RG/AML.
6. Китобдорӣ ва оштӣ: вуруди дукарата, мусолиҳаи сеҷониба, огоҳиҳои аномалӣ.
7. Оркестр: провайдери эҳтиётӣ, қоидаҳои масир аз рӯи BIN/кишвар/миқдор.
8. Мониторинг: панелҳои панелӣ меъёри/p95/бозхонд, огоҳиҳо аз ҷониби бонкҳо/усулҳоро тасдиқ мекунанд.
9. Ҳуқуқӣ/PCI: токенизатсия, сиёсати бозгашт, ҳалқаи пардохтҳои пӯшида.
10. Нақшаи таназзул: канали куштан, навбатҳо, режими дастӣ барои амалиёти муҳим.
Хатогиҳои зуд-зуд
Нигоҳ доштани PAN дар паҳлӯи он бидуни PCI ва токенизатсия.
Не idempotency → такрори пардохтҳо/пардохтҳо бо танаффус.
Мантиқ дар посухҳои синхронӣ бидуни назардошти вебхукҳо.
Як провайдер ба бозор, ҳеҷ камбудӣ/каскадҳо.
Не коркарди 3DS барҳам дода/равона карда намешавад → контейнерҳои такрории гумшуда.
Бастаи заиф → амалиёти "яхкардашуда" ва "гумшуда".
Набудани SLA-ҳои возеҳ ва огоҳиҳо → мушкилоте, ки муштарӣ мебинад, на шумо.
Мини-FAQ
Кадомаш боэътимод аст: ҳолати синхронӣ ё webhook?
Вебхук манбаи ҳақиқат аст; ҷавоби синхронӣ - танҳо "амал қабул карда шуд/лозим аст".
Оё шумо бе 3DS карда метавонед?
Аз танзим/хавф вобаста аст. Дар EC/UK - SCA ҳатмист; барои хатари баланд, қадам ба қадам беҳтар аст.
Чӣ тавр меъёри тасдиқро зиёд кардан мумкин аст?
Оркестри BIN/бонк/метод, рельсҳои маҳаллӣ, ретраҳои интеллектуалӣ, дескрипторҳои дуруст, зидди қаллобӣ бо FPR.
Чаро пардохт "фаврӣ" нест?
Аз роҳи оҳан (OST/A2A/маҳаллӣ), бонки қабулкунанда ва маҳдудиятҳо вобаста аст. Биёед равзанаи софдилонаи SLA ва ҷараёни вазъро дошта бошем.
Пардохтҳои API на танҳо "эҷод кардани пардохт" мебошанд. "Ин фан: аутентификатсияи бехатар → токенизатсия → idempotency § webhooks asynchronous → ledger ва пӯшиши → зидди қаллобӣ/AML → оркестр ва мониторинг. Равандро мувофиқи ин схема созед, каналҳои эҳтиётӣ ва UX-и шаффофро нигоҳ доред - ва қабати пардохти шумо зуд, пешгӯишаванда ва ба камбудиҳои бонкҳо ва провайдерҳо тобовар хоҳад буд.