Overview
Tochka
Enable secure Tochka payments for your store
Платежи Точка Банка для Medusa
Плагин Medusa для приёма платежей через Точка Банк.
Read README in English ↗
Возможности
- 🔗 Бесшовная интеграция с платёжной системой Точка Банк
- 🧾 Формирование онлайн-чеков в соответствии с 54-ФЗ (российские фискальные требования)
- 1️⃣ Одностадийные (автосписание) и 2️⃣ двухстадийные (авторизация/холдирование) сценарии оплаты
- 🔄 Полные и частичные возвраты
- 🔔 Вебхук-уведомления о статусах платежей в реальном времени
- 🛡 JWT-верификация вебхуков с использованием JWK публичных ключей для повышенной безопасности
- 💳 Множественные способы оплаты - банковские карты, СБП (Система Быстрых Платежей) и другие
- 🔍 Подробное логирование для отладки и мониторинга
- 🏦 Эквайринговые операции - полная интеграция с платформой интернет-эквайринга Точка Банк
Требования
- Medusa v2.7.0 или выше
- Node.js v20 или выше
- Аккаунт Точка Банк с подключенным интернет-эквайрингом
- JWT токен и client ID от Точка Банк
- Публичный ключ webhook от Точка Банк (для верификации вебхуков)
Установка
123yarn add medusa-payment-tochka# илиnpm install medusa-payment-tochka
Конфигурация
Добавьте плагин в ваш Copy to clipboardmedusa-config.ts:
1234567891011121314151617181920module.exports = defineConfig({modules: [// ... другие модули{resolve: "@medusajs/medusa/payment",options:{providers: [{resolve: "medusa-payment-tochka/providers/payment-tochka",id: "tochka",options: {tochkaJwtToken: process.env.TOCHKA_JWT_TOKEN,clientId: process.env.TOCHKA_CLIENT_ID,webhookPublicKeyJson: process.env.TOCHKA_WEBHOOK_PUBLIC_KEY,tochkaApiVersion: "v1.0", // опционально, по умолчанию "v1.0"developerMode: process.env.NODE_ENV !== "production", // опционально, по умолчанию falsepreAuthorization: false, // опционально, включить двухстадийные платежиpaymentPurpose: "Оплата заказа", // опционально, описание платежа по умолчаниюwithReceipt: true, // опционально, включить формирование чеков
Переменные окружения
Создайте файл Copy to clipboard.env со следующими переменными:
12345678# ОбязательныеTOCHKA_JWT_TOKEN=ваш_jwt_токен_от_точка_банкTOCHKA_CLIENT_ID=ваш_client_id_от_точка_банкTOCHKA_WEBHOOK_PUBLIC_KEY='{"kty":"RSA","e":"AQAB","n":"значение_n_вашего_публичного_ключа"}'# ОпциональныеTOCHKA_API_VERSION=v1.0TOCHKA_DEVELOPER_MODE=false
Поддержка API
Этот плагин обеспечивает комплексную поддержку API эквайринга Точка Банк:
Платёжные операции
- Создание платёжной операции - Генерация ссылок для оплаты
- Получение статуса платежа - Проверка статуса платёжной операции
- Подтверждение платежа - Завершение двухстадийных платежей
- Возврат платежа - Обработка полных или частичных возвратов
- Платежи с чеками - Формирование фискальных чеков в соответствии с российским 54-ФЗ
Поддержка вебхуков
- JWT-верификация - Безопасная валидация вебхуков с использованием JWK публичных ключей
- Обновления в реальном времени - Мгновенные уведомления о статусе платежей
- Маппинг статусов - Автоматическое преобразование в статусы платежей Medusa
Поддерживаемые способы оплаты
- Банковские карты (Visa, Mastercard, Мир)
- СБП (Система Быстрых Платежей)
- Рассрочка (Долями, Тинькофф)
Тестирование
12345# Запуск тестовnpm test# Запуск тестов в режиме наблюденияnpm run test:watch
Разработка
12345# Запуск в режиме разработкиnpm run dev# Сборка плагинаnpm run build
Лицензия
Распространяется на условиях лицензии MIT.
Поддержка
Если у вас возникли проблемы или вопросы по этому плагину, пожалуйста:
- Проверьте GitHub Issues
- Создайте новую проблему, если ваша ещё не зарегистрирована
- Предоставьте подробную информацию о вашей настройке и проблеме, с которой вы столкнулись
Участие в разработке
Мы приветствуем участие в разработке! Пожалуйста, не стесняйтесь отправлять Pull Request.


