payselection/paykassa-php-client

dev-main 2025-03-06 12:39 UTC

This package is auto-updated.

Last update: 2025-04-06 12:50:02 UTC


README

Оглавление

Установка

Установить библиотеку можно с помощью composer:

composer require paykassa/paykassa-php-client

Начало работы

  1. Создайте экземпляр объекта клиента.
$apiClient = new \PaySelection\Library();
$apiClient->setConfiguration([
    "api_url" : "https://api.pay-kassa.com",
    "merchant_id" : "123",
    "secret_key" : "###########",
    "webhook_url" : "https://webhook.site/notification/"
]);

Значение webhook_url должно совпадать со значением WebhookUrl из запросов

  1. Вызовите нужный метод API.

Методы API

Create Receipt

Формирование кассового онлайн-чека в документации

Запрос используется для формирования кассового онлайн-чека. Используется идентификатор организации merchant_id, который можно получить/увидеть в ЛК Paykassa

try {
    $receiptItems = new ReceiptItems();
    $receiptItems->add(
        new ReceiptItemDetails(
            name: 'test name',
            price: 100,
            quantity: 1,
            sum: 100,
            payment_method: PaymentMethodType::FULL_PREPAYMENT,
            payment_object: PaymentObjectType::COMMODITY,
            vat: new VatDetails(
                type: VatType::NONE,
            )
        )
    );

    $receiptPayments = new ReceiptPayments();
    $receiptPayments->add(
        new PaymentDetails(
            type: 1,
            sum: 100,
        )
    );

    $receiptVats = new ReceiptVats();
    $receiptVats->add(
        new VatDetails(
            type: VatType::NONE,
        )
    );

    $receipt = new ReceiptDetails(
        new ClientDetails(
            email: 'test@test.com'
        ),
        new CompanyDetails(
            inn: '220221121221',
            payment_address: 'https://site.ru/'
        ),
        items: $receiptItems,
        payments: $receiptPayments,
        vats: $receiptVats,
        total: 100,
    );

    $response = $apiClient->createReceipt(new CreateCheckRequest(
        operation_type: OperationType::INCOME,
        order_number: 'Test receipt',
        receipt: $receipt
    ));
} catch (\Exception $e) {
    $response = $e->getMessage();
}

var_dump($response);

Check Receipt

Получение информации по чеку в документации

Запрос используется для получения информации по чеку, а также уточнение о его текущем статусе.

try {
    $response = $apiClient->checkReceipt('123');
} catch (\Exception $e) {
    $response = $e->getMessage();
}

var_dump($response);

Работа с webhooks

Webhook в документации

try {
    $result = $apiClient->hookPay();
} catch (\Exception $e) {
    $response = $e->getMessage();
}

var_dump($result);

License

MIT