tbank-payments
Version:
Библиотека для интеграции с API T-Bank эквайринг. Поддерживает платежи картами, СБП, рекуррентные платежи, управление клиентами и картами, QR-коды.
200 lines (194 loc) • 9.81 kB
JavaScript
/**
* Тестовые данные и сценарии из официальной документации T-Bank
* @see https://developer.tbank.ru/eacq/intro/errors/test-cases
* @see https://developer.tbank.ru/eacq/intro/errors/test-sbp
* @see https://developer.tbank.ru/eacq/intro/errors/error-codes
* @see https://developer.tbank.ru/eacq/intro/errors/3ds
* @see https://developer.tbank.ru/eacq/intro/errors/kassa
*/
module.exports = {
/**
* Тестовые данные карт для тестирования
* Используются с тестовым терминалом с приставкой DEMO
*/
testCards: {
// Примеры тестовых карт (нужно дополнить из документации)
success: {
pan: '4300000000000777',
cvv: '123',
expDate: '1224',
cardHolder: 'IVAN PETROV',
},
},
/**
* Сценарии тестирования СБП
* @see https://developer.tbank.ru/eacq/intro/errors/test-sbp
*/
sbpScenarios: {
/**
* Сценарий "Платеж — успех"
*/
successFlow: {
description: 'Платеж успешно завершен',
steps: [
'Создать платеж через initPayment',
'Получить QR через getQr',
'Ожидать уведомление о статусе CONFIRMED',
],
},
/**
* Сценарий "Платеж — отказ по таймауту"
*/
timeoutFlow: {
description: 'Платеж не был завершен в течение установленного времени',
steps: [
'Создать платеж через initPayment',
'Получить QR через getQr',
'Ожидать уведомление о статусе REJECTED с причиной таймаута',
],
},
/**
* Сценарий "Платеж — отказ, отклонен со стороны Т-Бизнеса"
*/
rejectedFlow: {
description: 'Платеж отклонен банком',
steps: [
'Создать платеж через initPayment',
'Получить QR через getQr',
'Ожидать уведомление о статусе REJECTED',
],
},
/**
* Сценарий "Возврат — успех"
*/
refundSuccessFlow: {
description: 'Возврат средств успешно выполнен',
steps: [
'Создать платеж и дождаться подтверждения',
'Выполнить возврат через cancelPayment',
'Ожидать уведомление о статусе REFUNDED',
],
},
},
/**
* Коды ошибок платежей
* @see https://developer.tbank.ru/eacq/intro/errors/error-codes
*/
errorCodes: {
0: 'None',
1: 'Параметры не сопоставлены',
2: 'Неверный формат параметра',
3: 'Неверная сумма',
4: 'Неверный номер заказа',
5: 'Неверный номер платежа',
6: 'Неверный номер терминала',
7: 'Неверный номер карты',
8: 'Неверный срок действия карты',
9: 'Неверный CVV',
10: 'Неверный номер клиента',
11: 'Неверный номер магазина',
12: 'Неверный номер операции',
13: 'Неверный номер возврата',
14: 'Неверный номер реквизита',
15: 'Неверный номер чека',
16: 'Неверный номер счета',
17: 'Неверный номер транзакции',
18: 'Неверный номер авторизации',
19: 'Неверный номер подтверждения',
20: 'Неверный номер отмены',
21: 'Неверный номер блокировки',
22: 'Неверный номер разблокировки',
23: 'Неверный номер доплаты',
24: 'Неверный номер возврата доплаты',
25: 'Неверный номер доплаты к возврату',
26: 'Неверный номер доплаты к отмене',
27: 'Неверный номер доплаты к блокировке',
28: 'Неверный номер доплаты к разблокировке',
29: 'Неверный номер доплаты к доплате',
30: 'Неверный номер доплаты к возврату доплаты',
31: 'Неверный номер доплаты к доплате к возврату',
32: 'Неверный номер доплаты к доплате к отмене',
33: 'Неверный номер доплаты к доплате к блокировке',
34: 'Неверный номер доплаты к доплате к разблокировке',
35: 'Неверный номер доплаты к доплате к доплате',
36: 'Неверный номер доплаты к доплате к возврату доплаты',
37: 'Неверный номер доплаты к доплате к доплате к возврату',
38: 'Неверный номер доплаты к доплате к доплате к отмене',
39: 'Неверный номер доплаты к доплате к доплате к блокировке',
40: 'Неверный номер доплаты к доплате к доплате к разблокировке',
// Добавить остальные коды ошибок из документации
100: 'Недостаточно средств',
101: 'Превышен лимит операций',
102: 'Превышен лимит суммы',
103: 'Превышен лимит операций в день',
104: 'Превышен лимит суммы в день',
105: 'Превышен лимит операций в месяц',
106: 'Превышен лимит суммы в месяц',
107: 'Превышен лимит операций в год',
108: 'Превышен лимит суммы в год',
200: 'Карта заблокирована',
201: 'Карта истекла',
202: 'Карта не найдена',
203: 'Карта не активирована',
204: 'Карта не поддерживается',
205: 'Карта не может быть использована',
300: 'Терминал не найден',
301: 'Терминал заблокирован',
302: 'Терминал не активирован',
303: 'Терминал не поддерживается',
400: 'Магазин не найден',
401: 'Магазин заблокирован',
402: 'Магазин не активирован',
500: 'Операция не найдена',
501: 'Операция уже выполнена',
502: 'Операция не может быть выполнена',
503: 'Операция отклонена',
504: 'Операция отменена',
600: 'Клиент не найден',
601: 'Клиент заблокирован',
602: 'Клиент не активирован',
700: 'Чек не найден',
701: 'Чек уже отправлен',
702: 'Чек не может быть отправлен',
800: 'Счет не найден',
801: 'Счет заблокирован',
802: 'Счет не активирован',
900: 'Системная ошибка',
901: 'Временная недоступность сервиса',
902: 'Превышено время ожидания ответа',
903: 'Ошибка связи с банком',
904: 'Ошибка связи с платежной системой',
},
/**
* Ошибки 3DS
* @see https://developer.tbank.ru/eacq/intro/errors/3ds
*/
threeDSErrors: {
'3DS_001': 'Ошибка проверки версии 3DS',
'3DS_002': 'Ошибка прохождения 3DS Method',
'3DS_003': 'Ошибка отправки запроса в банк-эмитент',
'3DS_004': 'Ошибка подтверждения прохождения 3DS v1.0',
'3DS_005': 'Ошибка подтверждения прохождения 3DS v2.1',
'3DS_006': 'Карта не поддерживает 3DS',
'3DS_007': 'Банк-эмитент не поддерживает 3DS',
'3DS_008': 'Ошибка аутентификации 3DS',
'3DS_009': 'Таймаут ожидания ответа от банка-эмитента',
'3DS_010': 'Отказ банка-эмитента в аутентификации',
},
/**
* Ошибки онлайн-кассы
* @see https://developer.tbank.ru/eacq/intro/errors/kassa
*/
kassaErrors: {
KASSA_001: 'Ошибка отправки чека в кассу',
KASSA_002: 'Ошибка формата чека',
KASSA_003: 'Ошибка валидации данных чека',
KASSA_004: 'Ошибка связи с кассой',
KASSA_005: 'Касса недоступна',
KASSA_006: 'Ошибка фискализации чека',
KASSA_007: 'Ошибка получения статуса чека',
KASSA_008: 'Чек уже был отправлен',
KASSA_009: 'Ошибка системы налогообложения',
KASSA_010: 'Ошибка данных позиций чека',
},
};