mirror of
https://github.com/valitydev/swag-payments.git
synced 2024-11-06 09:35:22 +00:00
add error mapping draft (#168)
* add error mapping draft * add werker 'dev' rule * add 'dev' make target helper * add merchant errors; refactor client errors * update payment error type * add payment error code descriptions * update client payment errors list * apply review comments * apply review comments * apply review comments * apply review comments * apply review comments * apply review comments
This commit is contained in:
parent
9a7dd8879c
commit
0de2fa30c4
3
Makefile
3
Makefile
@ -6,3 +6,6 @@ build:
|
||||
|
||||
start:
|
||||
npm start
|
||||
|
||||
dev:
|
||||
wercker dev --publish 3000 --direct-mount
|
||||
|
20
spec/definitions/PaymentError.yaml
Normal file
20
spec/definitions/PaymentError.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
description: |
|
||||
[Ошибка, возникшая в процессе проведения платежа](#tag/Error-Codes)
|
||||
type: object
|
||||
required:
|
||||
- code
|
||||
properties:
|
||||
code:
|
||||
description: Основной код ошибки
|
||||
type: string
|
||||
subError:
|
||||
description: Детализация описания ошибки
|
||||
type: object
|
||||
required:
|
||||
- code
|
||||
properties:
|
||||
code:
|
||||
description: Детализация кода ошибки
|
||||
type: string
|
||||
subError:
|
||||
$ref: '#/definitions/PaymentError/properties/subError'
|
@ -13,4 +13,4 @@ properties:
|
||||
- refunded
|
||||
- failed
|
||||
error:
|
||||
$ref: '#/definitions/LogicError'
|
||||
$ref: '#/definitions/PaymentError'
|
||||
|
@ -662,3 +662,161 @@ tags:
|
||||
| **504** | Платформа превысила допустимое время обработки запроса, результат запроса не определён. Попробуйте отправить запрос повторно или выяснить результат выполнения исходного запроса, если повторное исполнение запроса нежелательно. |
|
||||
|
||||
[5xx]: https://tools.ietf.org/html/rfc7231#section-6.6
|
||||
|
||||
|
||||
## Ошибки платежа
|
||||
|
||||
Ошибки, передаваемые в платежную форму (отображаются плательщикам):
|
||||
|
||||
| Код | Описание |
|
||||
| --- | -------- |
|
||||
| InvalidPaymentTool | Неверный платежный инструмент (введен номер несуществующей карты, отсутствующего аккаунта и т.п.) |
|
||||
| AccountLimitsExceeded | Превышены лимиты (например, в личном кабинете плательщика установлено ограничение по сумме платежа, стране списания) |
|
||||
| InsufficientFunds | Недостаточно средств на счете |
|
||||
| PreauthorizationFailed | Предварительная авторизация отклонена (введен неверный код 3D-Secure, на форме 3D-Secure нажата ссылка отмены) |
|
||||
| RejectedByIssuer | Платёж отклонён эмитентом (установлены запреты по стране списания, запрет на покупки в интернете, платеж отклонен антифродом эмитента и т.п.) |
|
||||
| PaymentRejected | платёж отклонён по иным причинам |
|
||||
|
||||
Ошибки, передаваемые в ЛК мерчанта (отображаются только вам):
|
||||
|
||||
- rejected_by_inspector
|
||||
|
||||
Отклонено сервисом противодействия мошенничеству
|
||||
|
||||
- preauthorization_failed
|
||||
|
||||
Ошибка предавторизации (3DS)
|
||||
|
||||
- authorization_failed:
|
||||
|
||||
Ошибка авторизации платежа у провайдера
|
||||
|
||||
- unknown
|
||||
|
||||
Неизвестная ошибка авторизации
|
||||
|
||||
- merchant_blocked
|
||||
|
||||
Мерчант заблокирован
|
||||
|
||||
- operation_blocked
|
||||
|
||||
Операция платежа заблокирована
|
||||
|
||||
- account_not_found
|
||||
|
||||
Аккаунт не найден
|
||||
|
||||
- account_blocked
|
||||
|
||||
Аккаунт заблокирован
|
||||
|
||||
- account_stolen
|
||||
|
||||
Аккаунт украден
|
||||
|
||||
- insufficient_funds
|
||||
|
||||
Не хватает средств
|
||||
|
||||
- account_limit_exceeded:
|
||||
|
||||
Превышен лимит на счете плательщика
|
||||
|
||||
- unknown
|
||||
|
||||
Объект лимита неизвестен
|
||||
|
||||
- amount
|
||||
|
||||
Лимит на сумму
|
||||
|
||||
- number
|
||||
|
||||
Лимит на количество попыток
|
||||
|
||||
- provider_limit_exceeded:
|
||||
|
||||
Превышен лимит на мерчанта у провайдера (вас или платформы RBKmoney)
|
||||
|
||||
- unknown
|
||||
|
||||
Объект лимита неизвестен
|
||||
|
||||
- amount
|
||||
|
||||
Лимит на сумму
|
||||
|
||||
- number
|
||||
|
||||
Лимит на количество попыток
|
||||
|
||||
- payment_tool_rejected:
|
||||
|
||||
Платёжный интрумент отклонён
|
||||
|
||||
- unknown
|
||||
|
||||
Неизвестный платёжный интрумент
|
||||
|
||||
- bank_card_rejected:
|
||||
|
||||
Банковская карта отклонена
|
||||
|
||||
- unknown
|
||||
|
||||
Причина неизвестна
|
||||
|
||||
- card_number_invalid
|
||||
|
||||
Неверный номер карты
|
||||
|
||||
- card_expired
|
||||
|
||||
Истёк срок действия карты
|
||||
|
||||
- card_holder_invalid
|
||||
|
||||
Неверный владелец карты
|
||||
|
||||
- cvv_invalid
|
||||
|
||||
Неверный CVV код
|
||||
|
||||
- issuer_not_found
|
||||
|
||||
Эмитент не найден
|
||||
|
||||
- security_policy_violated
|
||||
|
||||
Нарушения политики безопасности
|
||||
|
||||
- temporarily_unavailable
|
||||
|
||||
Временная недоступность третьих сторон
|
||||
|
||||
- rejected_by_issuer
|
||||
|
||||
Отклонено эмитентом
|
||||
|
||||
|
||||
Например, в случае некорретного CVV:
|
||||
|
||||
```
|
||||
|
||||
{
|
||||
"code": "authorization_failed",
|
||||
"subError": {
|
||||
"code": "payment_tool_rejected",
|
||||
"subError": {
|
||||
"code": "bank_card_rejected",
|
||||
"subError": {
|
||||
"code": "cvv_invalid"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Если вы получили ошибку, которой нет в данном описании, обратитесь в техническую поддержку.
|
||||
|
@ -12,6 +12,12 @@ build:
|
||||
url: ${SLACK_WEBHOOK_URL}
|
||||
username: "wercker"
|
||||
|
||||
dev:
|
||||
steps:
|
||||
- npm-install
|
||||
- npm-test
|
||||
- internal/shell
|
||||
|
||||
release-epic:
|
||||
steps:
|
||||
- script:
|
||||
|
Loading…
Reference in New Issue
Block a user