Обработка платежа¶
Перечень статусов¶
Статус платежа — определяет этап проведения транзакции. Статус может быть промежуточным и финальным.
Статус | Финальный | Значение |
---|---|---|
created | Начальный статус после создания инвойса, процессирование не начато. В ответе должен быть возвращен 201 (Created) статус-код HTTP, что означает успешное создание инвойса | |
expired | ✔ | Время ожидания обработки платежного инвойса превысило лимит (заданный в настройках выплаты свойством invoice_lifetime ). |
process_pending | Результат обработки транзакции неизвестен (например, не получен ответ платежного провайдера) и также может быть неизвестен в течение продолжительного времени. | |
processed | ✔ * | Подтверждает успешное процессирование платежа. |
process_failed | ✔** | Означает сбой процессирования. Статус может быть присвоен в случае повторяющейся ошибки и сбое получения ответа |
refund_pending | Результат возврата неизвестен (например, не получен ответ платежного провайдера) и также может быть неизвестен в течение продолжительного времени | |
partially_refunded | ✔ | Возврат произведен на сумму, меньшую чем сумма, указанная в инвойсе. |
refunded | ✔ | Платеж полностью возвращен. |
refund_failed | ✔ | Возврат завершился неуспешно. |
charged_back | ✔ | Платёж в полном объеме возвращён плательщику банком-эмитентом в порядке чарджбэка. |
partially_charged_back | ✔ | Платёж частично возвращён плательщику банком-эмитентом в порядке чарджбэка. |
* — Статус считается финальным, однако после него платеж может быть отклонен по дополнительным причинам или отправлен на возврат (рефанд или чарджбэк)
** — Статус определяется как финальный после достижения максимального количества попыток провести транзакцию (по умолчанию — 5)
Перечень резолюций¶
Код резолюции — это уточнение статуса транзакции.
При промежуточных и успешных финальных статусах резолюция получает код ok
. При неуспешных финальных статусах могут быть получены следующие резолюции:
Код резолюции | Описание |
---|---|
amount_conversion_error | Ошибка при конвертации суммы транзакции между валютами |
ACCESS_DENIED | Пользователь не авторизован или не имеет разрешения |
ACCESS_ERROR | Недостаточно прав для выполнения операции |
AMOUNT_IS_GREATER | Сумма транзакции превышает максимальную сумму, разрешенную провайдером |
AMOUNT_IS_LESS | Сумма транзакции меньше минимальной суммы, разрешенной провайдером |
ANTIFRAUD_ERROR | Платеж не прошел проверку на мошенничество (устаревшее) |
antifraud_error | Платеж не прошел проверку на мошенничество |
AUTH_3DS_REQUIRED | Требуется проверка 3D-Secure (устаревшее) |
AUTH_CVV_REQUIRED | Требуется ввод CVV |
AUTH_FATAL_ERROR | Фатальная ошибка авторизации (устаревшее) |
AUTH_LOOKUP_REQUIRED | Требуется проверка авторизации |
AUTH_OTP_REQUIRED | Требуется проверка OTP-Secure (устаревшее) |
auth_3ds_required | Требуется проверка 3D-Secure |
auth_fatal_error | Фатальная ошибка авторизации |
auth_otp_required | Требуется проверка OTP-Secure |
blocked_by_firewall | Транзакция заблокирована файрволом |
CARD_EXPIRED | Срок действия карты истек (устаревшее) |
CARD_IS_3DS_ENROLLED | Карта зарегистрирована в 3D-Secure |
CARD_IS_NOT_3DS_ENROLLED | Карта не зарегистрирована в 3D-Secure |
card_is_not_3ds_v2_enrolled | Карта не зарегистрирована в 3D-Secure версии 2 |
card_3ds_enrolled | Карта зарегистрирована в 3D-Secure |
card_blocked_by_invalid_pin | Карта заблокирована из-за неверных попыток ввода PIN-кода |
card_expired | Срок действия карты истек |
card_is_blocked_by_invalid_pin | Карта заблокирована из-за неверного ввода PIN-кода несколько раз |
card_is_lost | Карта утеряна |
card_is_lost_or_stolen | Карта утеряна или украдена |
card_is_stolen | Карта украдена |
card_lost | Карта заявлена как утерянная |
card_not_3ds_enrolled | Карта не зарегистрирована в 3D-Secure |
card_restricted | Использование карты ограничено |
card_restricted_by_acquirer | Использование карты ограничено эквайером |
card_status_is_restricted | Использование карты ограничено по местоположению |
card_status_is_restricted_for_provider | Использование карты ограничено для провайдера |
card_stolen | Карта заявлена как украденная |
card_type_not_supported | Тип карты не поддерживается |
card_usage_frequency_limit_violation | Превышен лимит частоты использования карты |
card_usage_issuer_limit_violation | Превышен лимит использования карты, установленный эмитентом |
card_usage_limit_violation | Превышен лимит использования карты |
card_verification_failed | Проверка карты не удалась |
client_auth_failed | Ошибка аутентификации клиента |
COMPLETE_AUTH_REQUIRED | Требуется полная авторизация |
connection_error | Произошла ошибка подключения |
contact_issuer | Произошла ошибка: свяжитесь с эмитентом для уточнения |
CREATED_FROM_STATEMENT | Создано из выписки |
CREDENTIALS_BLOCKED | Платежные данные заблокированы |
customer_blocked | Аккаунт клиента заблокирован |
customer_is_blocked | Аккаунт клиента заблокирован |
declined | Транзакция отклонена |
DECLINED_ERROR | Транзакция отклонена |
DUPLICATED_ID | Дублированный ID транзакции |
DUPLICATED_TRANSACTION | ID операции уже существует |
dynamic_pvv_expired | Срок действия динамического PVV-кода истек |
error | Что-то пошло не так |
expired | Срок действия транзакции истек |
fatal_card_expired | Срок действия карты истек, и ошибка считается фатальной |
FATAL_ISSUER_UNAVAILABLE | Эмитент карты недоступен, и ошибка считается фатальной |
fatal_decline | Транзакция отклонена, и ошибка считается фатальной |
fatal_error | Произошла фатальная ошибка во время транзакции |
fatal_invalid_card | Карта недействительна, и ошибка считается фатальной |
fatal_timeout | Соединение прервано из-за тайм-аута бездействия в транзакции |
fee_calculation_error | Ошибка подсчета комиссии |
FORBIDDEN_IP | IP-адрес запрещен |
forced_captured | Транзакция принудительно захвачена |
FUNCTIONALITY_IS_NOT_PERMITTED | Набор функций не разрешен для торгового аккаунта |
GATEWAY_INTERNAL_ERROR | Внутренняя ошибка шлюза |
GATEWAY_VALIDATION_PARAMS_ERROR | Ошибка валидации |
GENERAL_FATAL_ERROR | Фатальная ошибка, при которой дальнейшая обработка операции бессмысленна |
general_decline | Транзакция отклонена по общей причине |
INSUFFICIENT_FUNDS | Недостаточно средств (устаревшее) |
insufficient_funds | Недостаточно средств для завершения транзакции |
INTERNAL_ERROR | Системная ошибка (внутренняя) |
invalid_account | Недействительный аккаунт |
INVALID_3DS_CODE | Недействительный код 3D-Secure (устаревшее) |
invalid_3ds_code | Предоставленный код 3D-Secure недействителен |
INVALID_AMOUNT | Недействительная сумма платежа: недостаточно средств или превышен лимит транзакции (устаревшее) |
invalid_amount | Сумма транзакции недействительна |
INVALID_CARD | Номер карты недействителен (устаревшее) |
invalid_card | Используемая карта недействительна |
invalid_card_type | Тип используемой карты недействителен для этой транзакции |
invalid_cardholder | Информация о держателе карты недействительна |
INVALID_CARD_STATUS | Недействительный статус карты |
INVALID_CREDENTIALS | Платежные данные недействительны |
INVALID_CVV | CVV недействителен (устаревшее) |
invalid_cvv | Предоставленный CVV недействителен |
INVALID_DETAILS | Детали аккаунта недействительны (устаревшее) |
invalid_details | Предоставленные данные для транзакции недействительны |
invalid_expire_date | Дата истечения срока действия карты недействительна |
INVALID_LOOKUP_CODE | Предоставленный код поиска недействителен |
INVALID_METHOD | Используемый метод оплаты недействителен |
INVALID_OTP | OTP недействителен |
invalid_otp_code | Предоставленный OTP-код недействителен |
INVALID_PAN | PAN недействителен |
INVALID_PIN | PIN-код недействителен |
INVALID_RECIPIENT | Получатель недействителен |
INVALID_REQUEST | Недействительный формат запроса |
INVALID_TOKEN | Переданный токен недействителен |
issuer_decline | Транзакция отклонена эмитентом |
issuer_unavailable | Эмитент карты в настоящее время недоступен |
LIMIT_VIOLATION | Сумма транзакций превысила лимит эмитента (устаревшее) |
limit_violation | Нарушен лимит транзакции |
LOST_OR_STOLEN_CARD | Карта утеряна или украдена |
no_routes_by_conditions | Нет доступных маршрутов оплаты, соответствующих заданным условиям |
no_routes_by_history | Не найдены подходящие маршруты оплаты на основе истории транзакций |
ok | Процесс успешно завершен |
OK | Процесс успешно завершен (устаревшее) |
OPERATION_EXPIRED | Срок операции истек |
payment_hard_declined | Платеж был окончательно отклонен провайдером, повтор не возможен |
pin_tries_limit_was_reached | Неверный PIN-код был введен несколько раз, и лимит попыток был достигнут |
PROCESSING_ERROR | Ошибка обработки |
provider_error | Платежный провайдер возвращает ошибку |
provider_fatal_error | Платежный провайдер возвращает фатальную ошибку |
PROVIDER_MODERATION_REQUIRED | Требуется модерация провайдера |
RECIPIENT_NOT_FOUND | Получатель не найден |
reconcile_required | Требуется сверка |
refund_error | Произошла ошибка во время процесса возврата средств |
REQUEST_ERROR | Произошла ошибка при обработке запроса платежным провайдером |
reserve_calculation_error | Ошибка подсчета резерва |
ROUTING_ERROR | Ошибка маршрутизации |
SIGNATURE_ERROR | Недействительная подпись |
timeout | Произошел тайм-аут во время транзакции |
transaction_expired | Срок действия транзакции истек |
TRANSACTION_NOT_FOUND | Транзакция не найдена |
UNABLE_TO_DETERMINE_3DS_ENROLMENT | Невозможно определить регистрацию 3D-Secure |
UNABLE_TO_RECONCILE | Невозможно провести сверку транзакции |
unable_determine_3ds_enrolment | Невозможно определить статус регистрации 3D-Secure |
unknown | Произошла неизвестная ошибка |
UNKNOWN | Произошла неизвестная ошибка (устаревшее) |
Уровень детализации причины неуспешности транзакции зависит от уровня информационной открытости поставщиков услуг (PSP) и банков-эквайеров (для транзакций по карточным методам).
Обратите внимание!
- Перечень резолюций может быть расширен.
- Получение резолюции, отличной от указанной в перечне, не должно влиять на процессирование транзакции, так как этот атрибут имеет информационный характер.
- Финальность и успешность транзакции определяется исключительно статусом платежа (
status
).
Идентификация платежа¶
На разных этапах приема платежа идентификаторы обрабатываются с разными наименованиями. Связи между ними отображены на схеме ниже.
Note
Receiver Reference Number (RRN, номер получателя транзакции) и Acquirer Reference Number (ARN, номер транзакции, присваиваемый эквайером) используются только для карточных расчетов.