Przelewy24 gateway for the Omnipay PHP payment processing library
Omnipay is a framework agnostic, multi-gateway payment processing library for PHP 8.0+. This package implements Przelewy24 support for Omnipay.
For more information about the Przelewy24 API, take a look at the manual
This gateway can be installed with Composer:
$ composer require avatec/omnipay-p24
The following gateways are provided by this package:
- Przelewy24
require_once __DIR__ . '/vendor/autoload.php';
use Omnipay\Omnipay;
/** @var \Omnipay\Przelewy24\Gateway $gateway */
$gateway = Omnipay::create('Przelewy24');
$gateway->initialize([
'merchantId' => 'YOUR MERCHANT ID HERE',
'posId' => 'YOUR POS ID HERE',
'crc' => 'YOUR CRC KEY HERE',
'testMode' => true,
]);
$params = array(
'sessionId' => 2327398739,
'amount' => 12.34,
'currency' => 'PLN',
'description' => 'Payment test',
'returnUrl' => 'www.your-domain.nl/return_here',
'notifyUrl' => 'www.your-domain.nl/notify_here',
'card' => array(
'email' => 'info@example.com',
'name' => 'My name',
'country' => 'NL',
),
);
$response = $gateway->purchase($params)->send();
if ($response->isSuccessful()) {
$response->redirect();
} else {
echo 'Failed';
}
Optionally you can specify the payment channels allowed adding the 'channel' parameter in the Gateway initialization call.
$gateway->initialize([
//[...]
'channel' => Gateway::P24_CHANNEL_CC,
]);
For a list of all the supported values for 'Channel' you can read the przelewy24 documentation
require_once __DIR__ . '/vendor/autoload.php';
use Omnipay\Omnipay;
/** @var \Omnipay\Przelewy24\Gateway $gateway */
$gateway = Omnipay::create('Przelewy24');
$gateway->initialize([
'merchantId' => 'YOUR MERCHANT ID HERE',
'posId' => 'YOUR POS ID HERE',
'crc' => 'YOUR CRC KEY HERE',
'testMode' => true,
]);
$params = array(
'sessionId' => 2327398739,
'amount' => 12.34,
'transactionId' => 12345678,
'method' => 63,
'currency' => 'PLN',
'statement' => 'p24-H00-B00-J00',
'sign' => 'sign hashed'
);
$response = $gateway->completePurchase($params)->send();
if ($response->isSuccessful()) {
echo 'Success';
} else {
echo 'Failed';
}
If you are having general issues with Omnipay, we suggest posting on Stack Overflow. Be sure to add the omnipay tag so it can be easily found.
If you want to keep up to date with release anouncements, discuss ideas for the project, or ask more detailed questions, there is also a mailing list which you can subscribe to.
If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.
$ composer test
If you discover any security related issues, please email info@ticketswap.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.