PHPackages                             appwilio/yakassa - 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. [Payment Processing](/categories/payments)
4. /
5. appwilio/yakassa

ActiveLibrary[Payment Processing](/categories/payments)

appwilio/yakassa
================

Yandex.Kassa payments

v0.5(5y ago)353.9k[1 PRs](https://github.com/appwilio/yakassa/pulls)MITPHP &gt;=7.1

Since Jun 14Compare

[ Source](https://github.com/appwilio/yakassa)[ Packagist](https://packagist.org/packages/appwilio/yakassa)[ RSS](/packages/appwilio-yakassa/feed)WikiDiscussions Synced 1w ago

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

Пакет для работы с Юмани.Кассой (бывшая Яндекс.Касса)
=====================================================

[](#пакет-для-работы-с-юманикассой-бывшая-яндекскасса)

 [![Latest Version on Packagist](https://camo.githubusercontent.com/d1efa74e17bcc13e52f167f0c8228e003552f3ebfe3fe6aa1aa66b7ccac4aa24/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61707077696c696f2f79616b617373612e7376673f7374796c653d666c6174)](https://packagist.org/packages/appwilio/yakassa) [![Testing](https://github.com/appwilio/yakassa/workflows/tests/badge.svg)](https://github.com/appwilio/yakassa/actions?workflow=tests) [![Quality Score](https://camo.githubusercontent.com/eb3cccf413d215f63e30603e2edca57b387c7a94204dce46b3292c2ebe7e4b9b/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f61707077696c696f2f79616b617373612e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/appwilio/yakassa) [![Code Coverage](https://camo.githubusercontent.com/d53a65893d4641df4e0629a95e1eff70af2188a828c9084c8f6b1c9134549ae1/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f61707077696c696f2f79616b617373612f6d61737465722e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/appwilio/yakassa/?branch=master) [![StyleCI](https://camo.githubusercontent.com/95f206467927884ec402d80c514e33c7df06b59fbea3505504a9589759fdf5ac/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f39323637323737372f736869656c643f7374796c653d666c6174)](https://styleci.io/repos/92672777) [![Total Downloads](https://camo.githubusercontent.com/5886c5f82ef802cdfb39e94f975886cf9d3828db85f270d8acc2c98d5d84fb42/68747470733a2f2f706f7365722e707567782e6f72672f61707077696c696f2f79616b617373612f646f776e6c6f6164733f666f726d61743d666c6174)](https://packagist.org/packages/appwilio/yakassa) [![License MIT](https://camo.githubusercontent.com/ea28bf5c9a1eec597660d8776b7ef1a823d3af847da76a924a32cb3baf75f766/68747470733a2f2f706f7365722e707567782e6f72672f61707077696c696f2f79616b617373612f6c6963656e73653f666f726d61743d666c6174)](https://raw.githubusercontent.com/appwilio/yakassa/master/LICENSE.md)

> **Ранняя альфа, использовать осторожно!**

Возможности:

- создание платёжной формы;
- передача данных согласно 54-ФЗ;
- обработка уведомлений `checkOrder` и `paymentAviso`.

Требования:

- php &gt;= 7.1
- Laravel &gt;= 5.3

Установка
=========

[](#установка)

```
composer require appwilio/yakassa
```

Подключение сервис-провайдера:

```
// config/app.php
'providers' => [
    ...
    Appwilio\YaKassa\YaKassaServiceProvider::class,
],
```

Настройки:

> [Описание параметров](https://tech.yandex.ru/money/doc/payment-solution/shop-config/parameters-docpage/).

```
// config/services.php
...
'yakassa' => [
    'test_mode'     => env('YAKASSA_TEST_MODE', true),
    'shop_id'       => env('YAKASSA_SHOP_ID', ''),
    'showcase_id'   => env('YAKASSA_SHOWCASE_ID', ''),
    'shop_password' => env('YAKASSA_SHOP_PASSWORD', ''),
],
...
```

Подготовка основных данных для платёжной формы
----------------------------------------------

[](#подготовка-основных-данных-для-платёжной-формы)

Заказ должен имплементировать интерфейс `\Appwilio\YaKassa\Contracts\YaKassaOrder`:

```
use Appwilio\YaKassa\Contracts\YaKassaOrder;

class Order implements YaKassaOrder
{
    public function getOrderSum(): float
    {
        return $this->total;
    }

    public function getCustomerNumber(): string
    {
        return $this->customer->id;
    }

    public function getOrderNumber(): ?string
    {
        return $this->id;
    }

    public function getPaymentType(): ?string
    {
        return 'PC';
    }

    public function getCustomerEmail(): ?string
    {
        return $this->customer->email;
    }

    public function getCustomerPhone(): ?string
    {
        return $this->customer->phone;
    }
}
```

### Дополнительные данные согласно требованиям 54-ФЗ

[](#дополнительные-данные-согласно-требованиям-54-фз)

> Внимание! Протокол дополняется, текущая версия 2.1. [Общая информация](https://kassa.yandex.ru/blog/fz54-developers), [описание изменений](https://kassa.yandex.ru/docs/API_Yandex.Kassa_54FZ_changes.pdf).

Заказ должен имплементировать интерфейс `\Appwilio\YaKassa\Contracts\YaKassaOrder54FZ`:

```
use Appwilio\YaKassa\Contracts\YaKassaOrder54FZ;

class Order implements YaKassaOrder54FZ
{
    public function getOrderSum(): float
    {
        return $this->total;
    }

    public function getCustomerNumber(): string
    {
        return $this->customer->id;
    }

    public function getItems(): iterable
    {
        return $this->items; // товары/услуги в заказе
    }

    public function getTaxSystem(): ?int
    {
        return YaKassaOrder54FZ::TAX_OSN;
    }

    public function getCustomerContact(): string
    {
        return $this->customer->phone;
    }

    public function getOrderNumber(): ?string
    {
        return $this->id;
    }

    public function getPaymentType(): ?string
    {
        return 'PC';
    }

    public function getCustomerEmail(): ?string
    {
        return $this->customer->email;
    }

    public function getCustomerPhone(): ?string
    {
        return $this->customer->phone;
    }
}
```

Каждая позиция заказа должна имплементировать интерфейс `\Appwilio\YaKassa\Contracts\YaKassaOrderItem54FZ`:

```
use Appwilio\YaKassa\Contracts\YaKassaOrderItem54FZ;

class OrderItem implements YaKassaOrderItem54FZ
{
    public function getAmount(): float
    {
        return $this->amount;
    }

    public function getQuantity(): float
    {
        return $this->quantity;
    }

    public function getTaxRate(): int
    {
        return YaKassaOrderItem54FZ::VAT_18;
    }

    public function getCurrency(): ?string
    {
        return null; // равнозначно RUB
    }

    public function getTitle(): string
    {
        return $this->product->title;
    }
}
```

Создание платёжной формы
------------------------

[](#создание-платёжной-формы)

В контролллере:

```
use Appwilio\YaKassa\YaKassa;

class OrdersController
{
    public function showPaymentForm(YaKassa $kassa, $orderId)
    {
        $order = Order::find($orderId);

        $paymentForm = $kassa->buildPaymentForm($order);

        return view('payment', ['form' => $paymentForm]);
    }
}
```

В шаблоне:

```

    @foreach ($form->toArray() as $k => $v)

    @endforeach

    ...

```

Обработка уведомлений
---------------------

[](#обработка-уведомлений)

> [Общее описание механизма уведомлений](https://github.com/yandex-money/yandex-money-joinup/blob/master/demo/010%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%B0%D0%BC%D0%BE%D0%BF%D0%B8%D1%81%D0%BD%D1%8B%D1%85%20%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2.md#%D0%A8%D0%B0%D0%B3-2-%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B-checkurl-%D0%B8-avisourl-%D0%BA%D0%BE%D0%BB%D0%B1%D0%B5%D0%BA%D0%B8)

```
use Appwilio\YaKassa\YaKassa;

class YaHookController extends Controller
{
    public function checkOrder(YaKassa $kassa)
    {
        $order = Order::find($kassa->getRequest()->getOrderNumber());

        if (! $order) {
            return $kassa->responseDeclined();
        }

        // используем реальное значение суммы заказа, а не присланное Я.Кассой
        $kassa->setGenuineOrderSumAmount($order->total);

        if (! $kassa->verify()) {
            return $kassa->responseUnauthorized();
        }

        return $kassa->responseAccepted();
    }
}
```

###  Health Score

30

—

LowBetter than 61% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.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

Every ~192 days

Total

8

Last Release

1997d ago

Major Versions

v0.1-alpha.3 → v2.x-dev2018-12-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2151259?v=4)[JhaoDa](/maintainers/jhaoda)[@jhaoda](https://github.com/jhaoda)

---

Top Contributors

[![jhaoda](https://avatars.githubusercontent.com/u/2151259?v=4)](https://github.com/jhaoda "jhaoda (15 commits)")[![un1ko85](https://avatars.githubusercontent.com/u/3129672?v=4)](https://github.com/un1ko85 "un1ko85 (3 commits)")

---

Tags

laravelpaymentsyandexяндексяндекс.касса

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/appwilio-yakassa/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

79227.1M206](/packages/laravel-mcp)[api-platform/laravel

API Platform support for Laravel

58190.1k19](/packages/api-platform-laravel)[forjedio/inertia-table

Backend-driven dynamic tables for Laravel + Inertia.js

272.0k](/packages/forjedio-inertia-table)

PHPackages © 2026

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