Нотатки з практики

Життєвий цикл платежу: від авторизації до розрахунку

Життєвий цикл платежу — це незмінна послідовність, якою платіж проходить від моменту схвалення до моменту, коли кошти надходять на рахунок мерчанта: авторизація, capture, кліринг, розрахунок і виплата. Кожен крок виконує рівно одне завдання, і після кожного гроші перебувають в іншому стані. Більшість людей уявляють платіж карткою як єдину подію в момент дотику, але насправді це ланцюжок. Майже все, що йде в платежах добре чи погано, пов'язане з тим, що ці кроки відбуваються окремо, а не одночасно.

Розуміння цього ланцюжка відрізняє платіж, що зводиться сам, від звернення в підтримку. Тож пройдімо його один раз від початку до кінця, по порядку.

Авторизація: холд, а не переказ

Авторизація — це запит, а не рух коштів. Коли картку прикладають до термінала, запит іде до емітента. Той перевіряє, що рахунок існує, з ним усе гаразд і на ньому достатньо коштів або кредитного ліміту на потрібну суму. Якщо так, емітент ставить холд, резервуючи гроші, щоб їх не можна було витратити двічі, і повертає код авторизації. Гроші ще не рухалися. Тепер у мерчанта є обіцянка, що кошти є, і вона діє впродовж вікна, визначеного платіжною схемою. Авторизацію можна скасувати (void) до того, як щось списано, а якщо її не використати, вона спливе сама. Через це баланс картки зменшується в ту ж мить, коли ви платите, а рядок у виписці закріплюється пізніше: зменшення — це холд, а не списання. Авторизацію можуть і відхилити одразу: через брак коштів, правило антифроду чи прострочену картку. Добрий gateway відрізняє м'яке відхилення, яке варто повторити, від жорсткого, яке повторювати не слід. Оскільки холд — це обіцянка емітента, що гроші є, мерчант може передавати товар лише на підставі коду авторизації, ще до того, як з рахунку клієнта пішла бодай одна одиниця валюти.

Capture: холд стає вимогою

Capture — це команда мерчанта «списати зараз». Вона перетворює холд на справжній запит на гроші. Capture буває повним, частковим (кінцева сума менша за авторизовану, наприклад відправлений товар дешевший за суму пре-авторизації) або відкладеним (авторизація під час замовлення, capture під час відправлення). Авторизація й capture одним кроком — стандарт для каси в магазині. Окрема авторизація з capture пізніше — це спосіб роботи готелів, АЗС і маркетплейсів, бо в момент пред'явлення картки вони не знають остаточної суми. Проміжок між авторизацією та capture — свідомий і корисний шов, у якому мерчант вирішує, скільки списати насправді.

Кліринг: пакет, що зводить рахунки

Платежі після capture не розраховуються по одному в реальному часі. Їх збирають у файли й обмінюються ними між еквайєром мерчанта та платіжними схемами пакетами. Це і є кліринг. На цьому кроці транзакції зіставляють, суми згортають у нетто, застосовують комісії схеми та інтерчейндж, щоб усі погодили, хто кому і скільки винен. Кліринг — це звірка, а не рух коштів: він формує погоджені підсумки, з якими працює наступний крок. Це також за своєю суттю пакетний процес, і саме тому платіж, що на касі здавався миттєвим, доходить грошима лише за кілька днів. Річ не в обмеженнях комп'ютерів. Схеми побудовано так, щоб ефективно згортати взаємні зобов'язання тисяч установ, обмінюючись погодженими підсумками раз на цикл, а не відправляючи переказ за кожну каву.

Авторизація — це обіцянка, capture — вимога, а розрахунок — єдиний крок, де гроші справді рухаються. Якщо плутати ці три речі, бізнес проводить виручку, якої ще не має.
— Protocore · Інженерія платежів

Розрахунок: гроші справді рухаються

Розрахунок — це момент, коли кошти справді переходять між банками. На основі згорнутих підсумків кліринґу схема переміщує гроші від емітентів до еквайєрів, і кожна установа розраховується за своєю нетто-позицією, а не за кожною окремою транзакцією. Розрахунок відбувається на дату валютування — день, коли кошти справді доступні. Тому платежі мають ритм T+1 або T+2: гроші реальні, але надходять за календарем схеми, а не за годинником клієнта. Усе до цього кроку було обліком, а тут записи в леджері стають балансом, який можна витрачати. Установа, яка винна за нетто, платить, а та, якій винні, отримує. Оскільки розрахунок нетто, суми, що реально рухаються між банками, становлять лише частку валового обсягу платежів за день. Саме тому схема з мільйонами транзакцій зводиться до керованої кількості розрахункових рухів.

Виплата: від еквайєра на ваш рахунок

Розрахунок доставляє гроші еквайєру, а виплата передає їх мерчанту. За графіком (щодня, щотижня чи на вимогу) еквайєр перераховує накопичений баланс мерчанта на його банківський рахунок за вирахуванням комісій за обробку та резерву під повернення й диспути. Саме цю суму бізнес бачить насправді, і саме тут звірка або працює, або болить. Виплата — це нетто-сума за багато транзакцій, тож зіставлення її з окремими замовленнями — окреме завдання. Якщо gateway проводить ідентифікатор кожного замовлення наскрізь, це тривіально, а якщо ні, кожна виплата перетворюється на таблицю в Excel. Потік нашого gateway, /products/gateway, побудований так, щоб виплата зводилася із замовленнями, з яких вона складається.

Де крипто додає міст

Криптоплатіж або платіж стейблкоїнами не замінює цей ланцюжок, а додає на його початок один етап конвертації. Замість холду авторизації від емітента платіж підтверджується в блокчейні: клієнт підписує переказ, а фіналізація настає, коли мережа додає підтвердження, а не коли банк схвалює холд. Після підтвердження off-ramp конвертує крипто у фіат, і далі гроші потрапляють у той самий шлях клірингу, розрахунку та виплати, що й усі інші платежі. Новизна обмежена першим етапом, а друга половина навмисно лишається буденною. Таке правило дизайну: розрахунок має бути звичайним, а нову механіку слід застосовувати лише там, де без неї ніяк. Адже казначейство, звірка й аудитор далі за ланцюжком не мають бачити, як платіж починався. Скільки підтверджень вважати фінальними — це питання політики, а не закон мережі: вища планка міняє швидкість на певність щодо реорганізації ланцюга, а off-ramp чекає на ту глибину, яку задає ризик-апетит, перш ніж випустити фіат у розрахунковий шлях.

Чому шви важливі в операційній роботі

Повернення, скасування й диспути прив'язані до конкретного етапу, і правильно визначити цей етап — це половина справи. Скасуєте до capture — це void авторизації: гроші не рухалися, повертати нічого. Скасуєте після розрахунку — це повернення коштів (refund): новий платіж у зворотному напрямку з власним життєвим циклом. Чарджбек сягає назад через кліринг, щоб витребувати вже розраховану суму. Якщо вважати все це одним «скасуванням», леджер розходиться з реальністю. Якщо ж розглядати це як операції над різними етапами, для кожного випадку є правильна дія, яку можна перевірити. Словник термінів — авторизація, capture, кліринг, розрахунок, дата валютування — зібрано на /glossary.

Головна думка, яку варто запам'ятати: платіж — це ланцюжок станів, а не подія. Авторизація резервує, capture заявляє вимогу, кліринг узгоджує, розрахунок переміщує, виплата доставляє, а криптоетап лише додає конвертацію на початку. До розрахунку гроші — обіцянка, а після нього — факт. Бізнес, який проводить їх раніше за факт, рахує гроші, яких ще не має. Знайте, в якому стані платіж, і решта платіжних операцій перестане бути загадкою.

Маєте систему для розробки?

Розкажіть, яку проблему треба розв’язати. Ми повернемося з архітектурою та планом.