Обычная карточная оплата выглядит как одно действие пользователя, но внутри это цепочка из пяти-шести взаимодействий: между сайтом, его процессором, эквайером, платёжной системой, эмитентом карты и иногда ещё антифрод-сервисом. Знать эту цепочку полезно: когда оплата зависает или возвращается ошибка, обычно понятно, где именно она застряла.
Шаг 1. Сайт собирает данные
Вы вводите номер карты, срок и CVV. Большинство адекватных сайтов в этот момент не отправляют данные себе на сервер: страница работает через iframe платёжного провайдера (Stripe, Adyen, CloudPayments - кто угодно). Это значит, что номер карты видит только процессор; сам сайт получит только токен.
Шаг 2. Авторизация
Процессор отправляет запрос эквайеру (банк продавца), тот - платёжной системе (Visa, Mastercard), та - эмитенту вашей карты. На каждом шаге система проверяет: формат данных, антифрод, баланс. Параллельно может включиться 3DS - тогда добавляется ещё один обход с подтверждением.
Если хоть один шаг отклоняет операцию, в ответ возвращается код ошибки. Декодировать их можно: do not honor обычно значит отказал эмитент, insufficient funds - баланс, restricted card - карта временно заблокирована.
Шаг 3. Холд
При успехе деньги не списываются мгновенно. Они холдируются - резервируются на балансе. Списание (capture) происходит позже: иногда через секунды, иногда через несколько дней (например, отель ставит холд при бронировании и списывает после выезда).
Это объясняет частую жалобу: отменил заказ, а деньги ушли. На самом деле они в холде; продавец просто не нажал отменить в админке. В выписке холд можно отличить по статусу pending - если он там есть.
Шаг 4. Клиринг и settlement
Раз в сутки эквайер собирает все успешные операции и пересылает их в платёжную систему. Та превращает холд в реальное списание и переводит деньги продавцу за вычетом своей комиссии. Для пользователя в этот момент в выписке холд превращается в completed.
Где это полезно знать
Если оплата отображается как pending - деньги уже зарезервированы, но ещё не у продавца. При возврате они обычно отменяются быстрее. Если же операция уже completed - возврат пойдёт отдельной транзакцией и займёт от 1 до 14 рабочих дней.