PHPackages                             escolalms/przelewy24-php - 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. escolalms/przelewy24-php

ActiveLibrary

escolalms/przelewy24-php
========================

Przelewy24 PHP library

0.1.0(2y ago)043.4k↓100%MITPHPPHP ^8.1

Since Oct 5Pushed 2y agoCompare

[ Source](https://github.com/EscolaLMS/przelewy24-php)[ Packagist](https://packagist.org/packages/escolalms/przelewy24-php)[ Docs](https://github.com/mnastalski/przelewy24-php)[ RSS](/packages/escolalms-przelewy24-php/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (3)Versions (4)Used By (0)

Przelewy24 PHP library
======================

[](#przelewy24-php-library)

PHP wrapper for [Przelewy24](https://www.przelewy24.pl/).

If you are using Laravel, check out [mnastalski/przelewy24-laravel](https://github.com/mnastalski/przelewy24-laravel/).

Przelewy24's API documentation is available at .

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

[](#requirements)

- PHP &gt;=8.1

For lower PHP versions, check the [0.x](https://github.com/mnastalski/przelewy24-php/tree/0.x) versions.

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

[](#installation)

```
composer require escolalms/przelewy24-php
```

Usage
-----

[](#usage)

### Creating an instance

[](#creating-an-instance)

```
use Przelewy24\Przelewy24;

$przelewy24 = new Przelewy24(
    merchantId: 12345,
    reportsKey: 'f0ae...',
    crc: 'aef0...',
    isLive: false,
);
```

Setting `isLive` to `false` will use the [sandbox environment](https://sandbox.przelewy24.pl/panel/). Set it to `true` to use production/live mode.

### Creating a transaction

[](#creating-a-transaction)

```
$transaction = $przelewy24->transactions()->register(
    // Required parameters:
    sessionId: 'unique order identifier from your application',
    amount: 125,
    description: 'transaction description',
    email: 'buyer email address',
    urlReturn: 'url to return to after transaction',

    // Optional parameters:
    urlStatus: 'url to which the transaction status webhook will be sent',

    // client: 'Mateusz Nastalski',
    // currency: \Przelewy24\Enums\Currency::EUR,
    // language: Language::ENGLISH,
    // ...
);
```

Note that `amount` is passed as an integer, so if the actual amount is `1.25 PLN` you will need to pass `125` as value.

For the complete list of available parameters check the signature of [TransactionRequests::register()](src/Api/Requests/TransactionRequests.php#L22).

#### Return the transaction's token:

[](#return-the-transactions-token)

```
$transaction->token();
```

#### Return the URL to the payment gateway:

[](#return-the-url-to-the-payment-gateway)

```
$transaction->gatewayUrl();
```

### Listening for transaction status webhook

[](#listening-for-transaction-status-webhook)

To parse the webhook's payload, pass the whole request's POST data as an array to `handleWebhook()`:

```
// $requestData = $request->request->all();
// $requestData = $request->post();
// $requestData = json_decode(file_get_contents('php://input'), true);

$webhook = $przelewy24->handleWebhook($requestData);
```

`handleWebhook()` returns `TransactionStatusNotification::class`, which has a bunch of useful methods you can use to check the transaction's data, as well as verify the webhook's signature:

```
$webhook->amount();
$webhook->currency();
$webhook->orderId();
...
$webhook->isSignValid(...);
```

If you would like to make sure the incoming request's IP address belongs to Przelewy24 then a list of valid IPs is available in the `\Przelewy24\Constants\IpAddresses::V4` constant. A helper method that accepts a string with an IP address and returns a boolean is also available: `\Przelewy24\Constants\IpAddresses::isValid($ip)`.

### Verifying a transaction

[](#verifying-a-transaction)

```
$przelewy24->transactions()->verify(
    sessionId: 'unique order identifier from your application',
    orderId: $webhook->orderId(),
    amount: 125,
);
```

Similarly to registering a transaction, the `amount` is passed as an integer.

### Error handling

[](#error-handling)

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->transactions()->verify([
        // ...
    ]);
} catch (Przelewy24Exception $e) {
    // Handle the error...
}
```

###  Health Score

27

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.3% 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

Unknown

Total

1

Last Release

730d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c857f3115c790c573d0617d7e9ba4011269ef7b9dfdb003dc4388846a62b14f7?d=identicon)[qunabu](/maintainers/qunabu)

---

Top Contributors

[![mnastalski](https://avatars.githubusercontent.com/u/10223434?v=4)](https://github.com/mnastalski "mnastalski (29 commits)")[![mako321](https://avatars.githubusercontent.com/u/59456825?v=4)](https://github.com/mako321 "mako321 (3 commits)")[![dbojdo](https://avatars.githubusercontent.com/u/1272416?v=4)](https://github.com/dbojdo "dbojdo (1 commits)")[![KamilWojtalak](https://avatars.githubusercontent.com/u/48104288?v=4)](https://github.com/KamilWojtalak "KamilWojtalak (1 commits)")

---

Tags

paymentsPrzelewy24

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/escolalms-przelewy24-php/health.svg)

```
[![Health](https://phpackages.com/badges/escolalms-przelewy24-php/health.svg)](https://phpackages.com/packages/escolalms-przelewy24-php)
```

###  Alternatives

[mollie/mollie-api-php

Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.

60613.9M48](/packages/mollie-mollie-api-php)[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3604.0M25](/packages/mollie-laravel-mollie)[unicodeveloper/laravel-paystack

A Laravel Package for Paystack

649947.5k11](/packages/unicodeveloper-laravel-paystack)[mollie/magento2

Mollie Payment Module for Magento 2

1121.5M8](/packages/mollie-magento2)[chargebee/chargebee-php

ChargeBee API client implementation for PHP

787.8M8](/packages/chargebee-chargebee-php)[mnastalski/przelewy24-php

Przelewy24 PHP library

5295.5k2](/packages/mnastalski-przelewy24-php)

PHPackages © 2026

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