PHP code example of sashalenz / privat24-business-api
1. Go to this page and download the library: Download sashalenz/privat24-business-api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sashalenz / privat24-business-api example snippets
return [
];
use Sashalenz\Privat24BusinessApi\Privat24BusinessApi;
// Транзакції за період (з курсорною пагінацією)
$response = Privat24BusinessApi::statements()
->token($token)
->transactions($startDate, $endDate, $acc, $followId, 20);
foreach ($response->transactions as $tx) {
// Sashalenz\Privat24BusinessApi\Types\Transaction
}
// Поточний операційний день / фінальна виписка за попередній день
Privat24BusinessApi::statements()->token($token)->interimTransactions();
Privat24BusinessApi::statements()->token($token)->finalTransactions();
// Баланси
Privat24BusinessApi::statements()->token($token)->balance($startDate);
Privat24BusinessApi::statements()->token($token)->interimBalance();
Privat24BusinessApi::statements()->token($token)->finalBalance();
// Health-check: phase === 'WRK' — банк приймає запити
Privat24BusinessApi::statements()->token($token)->settings();
use Sashalenz\Privat24BusinessApi\Privat24BusinessApi;
use Sashalenz\Privat24BusinessApi\RequestData\Payments\CreatePaymentRequest;
// Створення платіжного доручення
$response = Privat24BusinessApi::payments()
->token($token)
->create(new CreatePaymentRequest(
document_number: '42',
payer_account: 'UA77305299...', // IBAN відправника
payment_naming: 'ТОВ "Отримувач"',
payment_amount: '1250.50', // decimal-рядок
payment_destination: 'Оплата за послуги згідно рахунку №42',
recipient_account: 'UA74305299...', // IBAN отримувача
recipient_nceo: '12345678', // ЄДРПОУ/ІПН ('0000000000' — фізособа)
));
$response->payment_ref; // референс — він же REF у виписці після проведення
$response->payment_pack_ref;
// Стан платежу
$state = Privat24BusinessApi::payments()->token($token)->get($response->payment_ref);
$state->payment_status; // 'new' — очікує підписання
// Видалення непідписаного платежу (POST, 204)
Privat24BusinessApi::payments()->token($token)->delete($response->payment_ref);
use Sashalenz\Privat24BusinessApi\Privat24BusinessApi;
use Sashalenz\Privat24BusinessApi\Enums\SalaryGroupType;
use Sashalenz\Privat24BusinessApi\RequestData\Salary\{AddRecordRequest, CreatePacketRequest, UpdateReceiverRequest};
$api = Privat24BusinessApi::salaryProject()->token($token);
// Проєкти клієнта — разом із комісією банку (rko) за кожним
$api->groups();
// Знайти людину в довіднику (filter шукає по ПІБ / ІПН / табельному)
$found = $api->receivers(SalaryGroupType::SALARY, filter: '1234567890');
// Або завести. `id` з відповіді — це те, чим адресується рядок реєстру:
// збережіть його у себе, іншого способу знайти людину потім немає.
$receiverId = $api->updateReceiver(new UpdateReceiverRequest(
pan: 'UA743052990000026002000000002',
group: SalaryGroupType::SALARY,
fio: ['Мельник', 'Тарас'],
inn: '9876543210',
tabn: '7',
))->id;
$registers = Privat24BusinessApi::salaryRegisters()->token($token);
$packet = $registers->create(new CreatePacketRequest(
group: SalaryGroupType::SALARY,
salary: true, // це саме зарплата, а не інша масова виплата
packetName: 'Тиждень 34',
));
$registers->addRecord($packet->reference, new AddRecordRequest(
receiver: $receiverId,
amount: 1250.50,
comment: 'Зарплата за тиждень 34',
));
$registers->validatePacket($packet->reference); // віддати банку на перевірку
$registers->records($packet->reference); // статус кожного рядка + errorCode
$registers->header($packet->reference)->status; // PacketStatus