Tpay E-commerce Payment Adapter
Платёжный адаптер Tpay для @payloadcms/plugin-ecommerce: BLIK, банковские переводы и карты с проверкой вебхуков и учётом склада.
Установка
pnpm add @wellmade-online/payload-ecommerce-tpay Описание
Пакет реализует контракт PaymentAdapter из `@payloadcms/plugin-ecommerce` и подключает один мерчант-аккаунт Tpay к магазину на Payload CMS 3. Покупателям доступны три способа оплаты: BLIK, pay-by-link банковские переводы и оплат картой. Адаптер работает как замена или дополнение к встроенному Stripe-адаптеру. Оформление заказа идёт через redirect-флоу. Витрина вызывает `POST /api/payments/tpay/initiate`, адаптер создаёт транзакцию в статусе pending, формирует параллельную транзакцию в Tpay и возвращает paymentUrl. После оплаты Tpay присылает серверное уведомление на эндпоинт `/api/payments/tpay/notifications` и одновременно возвращает браузер покупателя. Оба пути сходятся в один блок финализации, защищённый от гонок: двойной колбэк не списывает склад дважды. Адаптер проверяет JWS-подпись тела уведомления через заголовок X-JWS-Signature и, если указан корневой сертификат Tpay, дополнительно проверяет цепочку. Уведомления без валидного security code отклоняются. Конфигурация передаётся через опции, и каждый ключ имеет fallback в переменные окружения: `TPAY_CLIENT_ID`, `TPAY_CLIENT_SECRET`, `TPAY_MERCHANT_ID`, `TPAY_SECURITY_CODE`, `TPAY_SANDBOX`. Если `clientId` или `clientSecret` не заданы, адаптер выбрасывает ошибку при запуске. Поля `payerSuccessUrl` и `payerErrorUrl` управляют адресами возврата покупателя. Без них эндпоинт `confirm-order`, который списывает остатки на складе, не вызывается. При установке адаптер добавляет группу полей `tpay` (transactionId, title, paymentUrl, shippingAddress, stockClaimedAt) в коллекцию `transactions`, поэтому требуется миграция. Поле `stockClaimedAt` гарантирует, что триггер списания склада сработает ровно один раз на транзакцию, и его удобно использовать при сверке остатков. Адаптер поддерживает Payload 3.83.0 и новее, протестирован на 3.88.0, ограничен линейкой 3.x без заявлений о совместимости с 4.x. В пакет входит клиентский модуль `tpayAdapterClient` для витрины и отдельные эндпоинты для поллинга статуса BLIK-транзакций, поскольку шестизначный код BLIK требует цикла опроса, а не единичного подтверждения. Таймауты вызовов к API Tpay по умолчанию 15 секунд, запрос сертификата 5 секунд, оба значения настраиваются.
О пакете
- Имя пакета
@wellmade-online/payload-ecommerce-tpay- Последняя версия
0.1.0- Размер
- 224 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 9
- Последняя публикация
- 14 сент. 2026 г.
Похожие плагины
Ещё в категории «Коммерция»Product Reviews
Плагин добавляет в Payload v3 коллекцию reviews с оценкой от 1 до 5, модерацией статусов и данными aggregateRating для Google.
Stripe
Связывает коллекции Payload с ресурсами Stripe, обрабатывает webhook-события и проксирует вызовы API.
Google Merchant Center Ecommerce Integration
Синхронизируйте продукты из Payload CMS с Google Merchant Center.
Barcodes
Добавляет штрихкоды Code 128, EAN-13 и QR в коллекции товаров Payload с печатью этикеток и опциональными кнопками в админке.
AI Manager
Плагин Payload для автогенерации товарных описаний, заголовков, атрибутов и переводов через Claude, ChatGPT, Gemini или Kimi с пропуском уже сгенерированного контента.
EU VAT
Рассчитывает НДС ЕС для магазинов на Payload и записывает разбивку по каждому заказу: ставки, реверсивный заряд, проверку VIES и отчёт OSS.