Home
Softono
tpay-php

tpay-php

Open source MIT PHP
25
Stars
27
Forks
1
Issues
8
Watchers
2 weeks
Last Commit

About tpay-php

tpay-php is a comprehensive PHP library designed to integrate all payment methods available through the Tpay payment gateway. It enables developers to securely process transactions, handle bank selections, manage BLIK payments, and utilize card payment solutions including Card Basic, Card On-Site, and saved card functionality. The library supports full transaction lifecycle operations such as creating transactions, retrieving status, issuing refunds, and generating transaction reports via a robust API. Installation is straightforward via Composer or Git, requiring only the configuration of API access keys obtained from the Tpay merchant panel. Key features include an internal logging system that records confirmations, notifications, outgoing requests, and exceptions, with options to disable logging or customize log paths. It supports compliance with PSR logging standards for flexible integration. The software includes a template customization feature allowing users to override default phtml template files for

Platforms

Web Self-hosted

Languages

PHP

Links

Tpay

Library for all payment methods available in Tpay.

Latest stable version PHP version License CI status Type coverage

Polish version :poland: wersja polska

Installation

Install via Composer:

composer require tpay-com/tpay-php

Install via Git over SSH:

git clone [email protected]:tpay-com/tpay-php.git

Install via Git over HTTPS:

git clone https://github.com/tpay-com/tpay-php.git

Manual download: https://github.com/tpay-com/tpay-php/archive/master.zip

Configuration

The only thing you need to do is to set your API access data via $this-> (see examples). You can generate access keys in Tpay's merchant panel.

The loader.php file handles all required class loading, so you can include this file to any file you are editing. (remember to configure your current working path correctly).

All methods described in Tpay documentation can be easily executed by extending required class in main src directory (see examples).

Basic Payments and bank selection forms

Example of usages: basic, bank selection HTML form, bank selection API form, BLIK form.

Transaction API / create, get, refund, report

Example of usages: create transaction, refund transaction, refund transaction status.

Card Basic / Card On-Site

Example of usages: card basic form, card on-site gateway, card payment links builder, card on-site gateway with saved cards.

Logs

Library has own logging system to save all confirmations and notifications sent by Tpay.com server, outgoing requests and exceptions. Be sure that file src/Logs directory is writable and add rule to Apache .htaccess or NGINX to deny access to this area from browser. The log files are created for each day separately under Logs directory.

The logging is enabled by default, but you can disable this feature with:

Logger::disableLogging();

You can also set your own logging path by this command:

Logger::setLogPath('/my/own/path/Logs/');

You can also set you own Logger by this command it has to be compatible with Psr\Log\LoggerInterface:

Logger::setLogger(new CustomLogger());

The logs file names will be assigned automatically.

Custom templates path

You can set your own templates path, so you can copy and modify the phtml template files from this library.

Util::$customTemplateDirectory = '/my/own/templates/path/';

Language

Currently, the library supports two languages (English and Polish). Default language is English. Changing language example:

// All Tpay class constructors load Lang class
$tpay = new BankSelectionExample();

// After this line all static messages (input labels, buttons titles etc.) will be displayed in Polish
(new Util())->setLanguage('pl');

// If you want to access translations manually, use:
$language = new Lang();
$language->setLang('pl'); // for setting language
$language->l('pay'); // to echo translated key

License

This library is released under the MIT License, but uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.md).