PHPackages                             paysys/cardpay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. paysys/cardpay

ActiveLibrary

paysys/cardpay
==============

Library for Tatra bank CardPay gateway in Nette framework.

v0.1.2(6y ago)33.3k5[1 issues](https://github.com/PaySys/CardPay/issues)[2 PRs](https://github.com/PaySys/CardPay/pulls)MITPHPPHP &gt;=7.1

Since Mar 6Pushed 5y ago3 watchersCompare

[ Source](https://github.com/PaySys/CardPay)[ Packagist](https://packagist.org/packages/paysys/cardpay)[ Docs](https://github.com/PaySys/CardPay)[ RSS](/packages/paysys-cardpay/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (9)Versions (7)Used By (0)

PaySys\\CardPay
===============

[](#paysyscardpay)

[![Build Status](https://camo.githubusercontent.com/c2a9bc1e31233b1c9f1100edc7fc607bb5ff6d9d0e87ed3b28dc78171841b285/68747470733a2f2f7472617669732d63692e6f72672f5061795379732f436172645061792e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/PaySys/CardPay)[![Code Quality](https://camo.githubusercontent.com/3d16a8605cc2bcbf70258e1912a4494bc7c0e5b9d22b2600700fac76c12ec7d9/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5061795379732f436172645061792f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/PaySys/CardPay/)[![Code Coverage](https://camo.githubusercontent.com/adef01fc024a66b68ec08d5a8fe1a31724899082e4d700a5d1f885ccc54ca799/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5061795379732f436172645061792f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/PaySys/CardPay/)[![Packagist](https://camo.githubusercontent.com/8a19a77a0acdd20d1eb4cbfd1f6e22e4b2abc2b8970f7ad13ddd92b8a53c182c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f5061795379732f636172647061792e737667)](https://packagist.org/packages/PaySys/CardPay)[![MIT](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)

Library for implement CardPay gateway ([v1.5 with HMAC &amp; ECDSA](http://www.tatrabanka.sk/cardpay/CardPay_technicka_prirucka_HMAC.pdf)) from Tatra Banka in Nette framework.

Requirements
------------

[](#requirements)

Requires PHP 7.1 or later.

Use universal libraty [PaySys\\PaySys](https://github.com/PaySys/PaySys).

Installation
------------

[](#installation)

The best way to install Unique is use [Composer](http://getcomposer.org) package [`PaySys/CardPay`](https://packagist.org/packages/PaySys/CardPay).

```
$ composer require paysys/cardpay
```

Configuration
-------------

[](#configuration)

```
extensions:
	cardPay: PaySys\CardPay\DI\CardPayExtension

cardPay:
	mid: '1234'
	key: '64-bit hexadecimal string'
```

Events
------

[](#events)

### Object `PaySys\PaySys\Button`

[](#object-paysyspaysysbutton)

EventParametersDescription$onBeforePayRequest\\PaySys\\PaySys\\IPayment $paymentOccurs before pay request$onPayRequest\\PaySys\\PaySys\\IPayment $paymentOccurs on pay request### Service `PaySys\CardPay\Security\Response`

[](#service-paysyscardpaysecurityresponse)

EventParametersDescription$onResponsearray $parametersOccurs on response from bank$onSuccessarray $parametersOccurs on success payment response from bank$onFailarray $parametersOccurs on fail payment response from bank$onErrorarray $parameters, \\PaySys\\PaySys\\Exception $eOccurs on damaged response from bankExample
-------

[](#example)

### Generating payment button

[](#generating-payment-button)

Set `PaySys\CardPay\Payment`.

Button need `PaySys\PaySys\IConfiguration` service. Use DI generated factory `PaySys\PaySys\IButtonFactory` for getting configured `PaySys\PaySys\Button` component.

Now set `$onPayRequest` event on `PaySys\PaySys\Button` for redirect to CardPay gateway. Signed redirect URL is genereated by service `PaySys\CardPay\Security\Request->getUrl(PaySys\CardPay\Payment $payment)`.

```
class OrderPresenter extends Presenter
{
	/** @var \PaySys\PaySys\IButtonFactory @inject */
	public $cardPayButtonFactory;

	/** @var \PaySys\CardPay\Security\Request @inject */
	public $cardPayRequest;

	protected function createComponentCardPayButton()
	{
		$payment = new \PaySys\CardPay\Payment("12.34", "00456", "John Doe");
		$button = $this->cardPayButtonFactory->create($payment);
		$button->onPayRequest[] = function ($payment) {
			$this->redirectUrl($this->cardPayRequest->getUrl($payment));
		};
		return $button;
	}
}
```

### Process payment response

[](#process-payment-response)

#### Event-driven processing

[](#event-driven-processing)

Default is Bank response routed to included presenter `CardPay:CardPay:process`. In this case are automatic called events on service `PaySys\CardPay\Security\Response`.

For processing payment by events use for example [Kdyby\\Events](https://github.com/Kdyby/Events).

#### Own presenter

[](#own-presenter)

Too it's possible write own `Nette\Application\UI\Presenter` for hnadling payment. In this case are events called same as before example.

```
class OrderPresenter extends Presenter
{
	/** @var Nette\Http\IRequest @inject */
	public $httpRequest;

	/** @var \PaySys\CardPay\Security\Response @inject */
	public $bankResponse;

	public function actionProcessCardPay()
	{
		try {
			$this->bankResponse->paid($this->httpRequest->getQuery());
			// store info about payment
			$this->flashMessage('Thanks for payment.', 'success');
		} catch (\PaySys\PaySys\Exception $e) {
			// log
			$this->flashMessage('Payment failed. Please try it later.', 'danger');
		}
		$this->redirect('finish');
	}
}
```

Now just add route to configuration:

```
cardPay:
	rurl: Order:processCardPay
```

Exceptions
----------

[](#exceptions)

```
class \PaySys\PaySys\Exception extends \Exception {}
class \PaySys\PaySys\SignatureException extends \PaySys\PaySys\Exception {}
class \PaySys\PaySys\ServerException extends \PaySys\PaySys\Exception {}
class \PaySys\PaySys\InvalidArgumentException extends \PaySys\PaySys\Exception {}
class \PaySys\PaySys\ConfigurationException extends \PaySys\PaySys\Exception {}
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~189 days

Recently: every ~236 days

Total

6

Last Release

2416d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1110294?v=4)[Roman Mátyus](/maintainers/romanmatyus)[@romanmatyus](https://github.com/romanmatyus)

---

Top Contributors

[![romanmatyus](https://avatars.githubusercontent.com/u/1110294?v=4)](https://github.com/romanmatyus "romanmatyus (25 commits)")[![lawbrence007](https://avatars.githubusercontent.com/u/9402512?v=4)](https://github.com/lawbrence007 "lawbrence007 (1 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

---

Tags

gatewayBankcardpaytatrabank

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/paysys-cardpay/health.svg)

```
[![Health](https://phpackages.com/badges/paysys-cardpay/health.svg)](https://phpackages.com/packages/paysys-cardpay)
```

###  Alternatives

[shetabit/payment

Laravel Payment Gateway Integration Package

944330.1k5](/packages/shetabit-payment)[shetabit/multipay

PHP Payment Gateway Integration Package

291348.2k3](/packages/shetabit-multipay)[larabook/gateway

A Laravel package for connecting to all Iraninan payment gateways

24553.7k](/packages/larabook-gateway)[omalizadeh/laravel-multi-payment

A driver-based laravel package for online payments via multiple gateways

491.1k](/packages/omalizadeh-laravel-multi-payment)[parsisolution/gateway

A Laravel package for connecting to all Iraninan payment gateways

231.7k](/packages/parsisolution-gateway)[aharen/pay

Payment processing with Bank of Maldives/Maldives Payment Gateway (MPG), Maldives Islamic Bank (MIB) &amp; MFaisaa by Oooredoo Maldives.

271.1k](/packages/aharen-pay)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
