PHP wrapper for www.przelewy24.pl.
- PHP >=7.1.3
composer require mnastalski/przelewy24-php
use Przelewy24\Przelewy24;
$przelewy24 = new Przelewy24([
'merchant_id' => '12345',
'crc' => 'aef0...',
'live' => false, // `true` for production/live mode
]);
$transaction = $przelewy24->transaction([
'session_id' => 'unique order identifier from your application',
'url_return' => 'url to return to post transaction',
'url_status' => 'url to which the transaction status webhook will be sent',
'amount' => 'transaction amount as an integer (1.25 PLN = 125)',
'description' => 'transaction description',
'email' => 'buyer email address',
]);
Retrieve the transaction's token:
$transaction->token();
Retrieve the redirect URL to the payment gateway:
$transaction->redirectUrl();
$webhook = $przelewy24->handleWebhook();
$przelewy24->verify([
'session_id' => 'unique order identifier from your application',
'order_id' => $webhook->orderId(), // przelewy24 order id
'amount' => 'transaction amount as an integer (1.25 PLN = 125)',
]);
Should Przelewy24's API return an erroneous response, an ApiResponseException::class
(which extends Przelewy24Exception::class
) will be thrown. You can therefore use a try/catch
block to handle any errors:
use Przelewy24\Exceptions\Przelewy24Exception;
try {
$przelewy24->transaction([
// ...
]);
} catch (Przelewy24Exception $e) {
// Handle the error...
}