| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 934 |
| Technical Name |
payment_adapt_it_tpay |
| License | OPL-1 |
| Versions | 18.0 19.0 |
Payment Provider: TPay (Poland)
TPay payment integration for Odoo 18.0. Supports BLIK, bank transfers, card payments with tokenization, subscriptions, and refunds.
Pay-by-link gateway
Customers are redirected to TPay's hosted payment page where they can pay via BLIK, a bank transfer, or a credit/debit card — whichever methods are enabled on your TPay account. After payment they return to your shop automatically.
- All major Polish banks
- BLIK one-code mobile payment
- Visa & Mastercard with 3D Secure
- Payment page language follows the customer's Odoo locale (PL, EN, DE, FR, RU, IT, ES, UK)
Card payments & tokenization
A dedicated card payment method routes directly to TPay's card processing (group ID 103) with 3D Secure. Logged-in customers can save their card; the token is stored in Odoo's payment vault and used for future one-click purchases.
- Last 4 digits of card stored on the token
- Works with Odoo Subscriptions — renewals charged automatically
- Duplicate token protection
Full & partial refunds
Refunds are initiated directly from the Odoo invoice or payment screen. The module calls the TPay REST API and tracks the refund status automatically.
- Full or partial amount
- Bank transfer refunds polled hourly via scheduled cron
- Card refunds confirmed via webhook
- Chargeback detection with automatic reconciliation
Get started in minutes
Copy your Client ID and Client Secret from the TPay merchant panel, paste them into the provider form, and hit Test API Connection — you'll get immediate confirmation that your credentials work before any real order is placed.
- In TPay panel: create an API application and copy the credentials
- In Odoo: open Payment Providers → TPay and paste Client ID & Secret
- Click Test API Connection to verify instantly
- Enable the provider — done
Use the built-in Test Mode toggle to run end-to-end tests against TPay's sandbox without touching live funds.
Features
JWS webhook verification
Mandatory RFC 7515 signature check against TPay's X.509 certificate chain on every notification.
md5 checksum (optional)
Secondary verification layer using the security code from your TPay panel.
Refund status cron
Hourly scheduled job polls pending refunds. Bank transfer refunds are asynchronous and do not produce a TPay webhook.
Sandbox & production
Switch environments with Odoo's built-in Test Mode toggle.
In-app connection test
"Test API Connection" button in provider settings verifies credentials without leaving Odoo.
Fraud detection signals
Customer IP and User-Agent forwarded to TPay to assist their anti-fraud systems.
How it works
1. Customer checks out
Selects TPay at checkout. Odoo creates a transaction via the TPay REST API.
2. Redirect to TPay
Customer pays on TPay's hosted page. No payment data passes through your server.
3. Signed webhook
TPay sends a JWS-signed notification. Odoo verifies the signature and updates the transaction.
4. Order confirmed
Invoice created, payment registered, sale order confirmed automatically.
Technical specifications
| Odoo version | 18.0 |
| TPay API | REST v3 |
| Authentication | OAuth 2.0 Client Credentials |
| Webhook security | JWS (RFC 7515) + optional md5 |
| Currency | PLN |
| Country | Poland |
| Refunds | Full and partial |
| Card tokenization | Supported |
| Recurring payments | Supported via saved tokens |
| Odoo Subscriptions | Compatible |
| License | OPL-1 |
Support
Developed and maintained by Adapt IT
dawid.gacek@adapt-it.plDostawca płatności: TPay (Polska)
Integracja płatności TPay dla Odoo 18.0. Obsługuje BLIK, przelewy bankowe, płatności kartą z tokenizacją, subskrypcje i zwroty.
Bramka pay-by-link
Klienci są przekierowywani na stronę płatności TPay, gdzie mogą zapłacić BLIKIEM, przelewem lub kartą — cokolwiek jest włączone na Twoim koncie TPay. Po płatności wracają automatycznie do sklepu.
- Wszystkie główne polskie banki
- Płatność BLIK jednym kodem
- Visa i Mastercard z 3D Secure
- Język strony płatności zgodny z ustawieniami Odoo (PL, EN, DE, FR, RU, IT, ES, UK)
Płatności kartą i tokenizacja
Dedykowana metoda kartowa kieruje bezpośrednio do systemu kart TPay (group ID 103) z uwierzytelnianiem 3D Secure. Zalogowani klienci mogą zapisać kartę; token jest przechowywany w Odoo i używany do kolejnych zakupów jednym kliknięciem.
- Współpraca z modułem Subskrypcji Odoo — odnowienia automatyczne
- 4 ostatnie cyfry karty przy tokenie
- Ochrona przed duplikatami tokenów
Pełne i częściowe zwroty
Zwroty są inicjowane bezpośrednio z faktury lub ekranu płatności Odoo. Moduł wywołuje API TPay i automatycznie śledzi status zwrotu.
- Pełna lub częściowa kwota
- Zwroty przelewowe odpytywane co godzinę przez cron
- Zwroty kartowe potwierdzane przez webhook
- Wykrywanie chargeback z automatyczną rekoncyliacją
Gotowy do działania w kilka minut
Skopiuj Client ID i Client Secret z panelu TPay, wklej je do formularza dostawcy i kliknij Testuj połączenie API — natychmiast zobaczysz potwierdzenie, że dane działają, zanim złożone zostanie pierwsze zamówienie.
- W panelu TPay: utwórz aplikację API i skopiuj dane uwierzytelniające
- W Odoo: otwórz Dostawcy płatności → TPay i wklej Client ID & Secret
- Kliknij Testuj połączenie API, by zweryfikować natychmiast
- Włącz dostawcę — gotowe
Użyj wbudowanego przełącznika Tryb testowy, aby przeprowadzić testy end-to-end w środowisku sandbox TPay bez angażowania prawdziwych środków.
Funkcje
Weryfikacja JWS
Obowiązkowy podpis RFC 7515 weryfikowany na podstawie certyfikatu X.509 TPay przy każdym powiadomieniu.
Suma kontrolna md5 (opcjonalna)
Dodatkowa weryfikacja z użyciem kodu zabezpieczającego z panelu TPay.
Cron synchronizacji zwrotów
Godzinne zadanie odpytujące oczekujące zwroty. Zwroty przelewowe są asynchroniczne i nie generują webhooka TPay.
Sandbox i produkcja
Przełączanie środowisk wbudowanym przełącznikiem trybu testowego Odoo.
Test połączenia API
Przycisk „Testuj połączenie API" w ustawieniach dostawcy — sprawdzenie danych bez wychodzenia z Odoo.
Sygnały antyfraudowe
IP i User-Agent klienta przekazywane do TPay jako wsparcie dla ich systemu wykrywania oszustw.
Jak to działa?
1. Klient finalizuje zamówienie
Wybiera TPay przy kasie. Odoo tworzy transakcję przez API TPay.
2. Przekierowanie do TPay
Klient płaci na stronie TPay. Dane płatności nie przechodzą przez Twój serwer.
3. Podpisany webhook
TPay wysyła powiadomienie podpisane JWS. Odoo weryfikuje podpis i aktualizuje transakcję.
4. Zamówienie potwierdzone
Faktura wystawiona, płatność zarejestrowana, zamówienie sprzedaży potwierdzone automatycznie.
Specyfikacja techniczna
| Wersja Odoo | 18.0 |
| API TPay | REST v3 |
| Uwierzytelnianie | OAuth 2.0 Client Credentials |
| Bezpieczeństwo webhooków | JWS (RFC 7515) + opcjonalne md5 |
| Waluta | PLN |
| Kraj | Polska |
| Zwroty | Pełne i częściowe |
| Tokenizacja kart | Obsługiwana |
| Płatności cykliczne | Obsługiwane przez zapisane tokeny |
| Subskrypcje Odoo | Kompatybilne |
| Licencja | OPL-1 |
Wsparcie
Opracowane i utrzymywane przez Adapt IT
dawid.gacek@adapt-it.plOdoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module