функционал
Депозиты (Пополнения)
$response = $client->deposit()->create(new DepositRequest(
orderId: 'order-123',
amount: 1000.00,
currency: 'RUB',
method: 'sbp',
callbackUri: 'https://your-site.com/callback',
successUri: 'https://your-site.com/success',
failUri: 'https://your-site.com/fail',
customerName: 'Иван Иванов',
));
Параметры DepositRequest
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
orderId | string | Да | Уникальный ID заказа в вашей системе |
amount | float | Да | Сумма платежа |
currency | string | Да | Валюта (RUB, EUR, USD, INR, ...) |
method | string | Нет | Код метода оплаты |
callbackUri | string | Нет | URL для колбэков о статусе |
successUri | string | Нет | URL редиректа при успехе |
failUri | string | Нет | URL редиректа при ошибке |
customerName | string | Нет | ФИО клиента |
customerFirstName | string | Нет | Имя клиента |
country | string | Нет | Страна (RU, KZ, IN, ...) |
email | string | Условно* | Email клиента |
phone | string | Условно* | Телефон в формате E.164 |
userIp | string | Нет | IP-адрес клиента |
userId | string | Нет | ID клиента в вашей системе |
assetOrBank | string | Нет | Код банка или криптоактива |
senderBank | string | Нет | Банк отправителя |
includeCommission | bool | Нет | Включить комиссию в сумму |
* Поля
phoneобязательны для валюты INR.
Пример для INR/UPI
$response = $client->deposit()->create(new DepositRequest(
orderId: 'order-123',
amount: 1000.00,
currency: 'INR',
method: 'upi',
callbackUri: 'https://your-site.com/callback',
email: 'customer@example.com',
phone: '+919876543210',
));
Выплаты (Payouts)
use Fynzah\DTO\Request\PayoutRequest;
$response = $client->payout()->create(new PayoutRequest(
amount: 5000.00,
method: 'card',
address: '4111111111111111',
recipient: 'Иван Иванов',
callbackUri: 'https://your-site.com/callback',
assetOrBank: 'sber',
));
Параметры PayoutRequest
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
amount | float | Да | Сумма выплаты |
method | string | Да | Код метода выплаты |
address | string | Да | Номер карты/телефона получателя |
recipient | string | Да | ФИО получателя |
orderId | string | Нет | Уникальный ID заказа |
currency | string | Нет | Валюта |
callbackUri | string | Нет | URL для колбэков |
assetOrBank | string | Нет | Код банка |
userId | string | Нет | ID клиента |
phone | string | Условно* | Телефон получателя |
email | string | Условно* | Email получателя |
* Поля
phoneобязательны для валюты INR.
Статус транзакции
// По ID транзакции
$status = $client->status()->getByTransactionId('txn-123');
// По ID заказа
$status = $client->status()->getByOrderId('order-123');
// Проверка статуса
if ($status->status->isSuccess()) {
// Платёж успешен
}
if ($status->status->isFailed()) {
// Платёж не прошёл
}
if ($status->status->isPending()) {
// Платёж в обработке
}
Информация
// Баланс
$balance = $client->info()->getBalance();
// Фиатный баланс
$fiatBalance = $client->info()->getFiatBalance();
// Методы оплаты
$methods = $client->info()->getMethods();
$methods = $client->info()->getMethods('RUB'); // фильтр по валюте
// Банки для депозитов
$banks = $client->info()->getBanks('RUB');
$banks = $client->info()->getBanks('RUB', 'sbp'); // фильтр по методу
// Курс
$rate = $client->info()->getRate();
$rate = $client->info()->getRate('sbp'); // фильтр по методу
// Банки для выплат
$payoutBanks = $client->info()->getPayoutBanks();
$payoutBanks = $client->info()->getPayoutBanks('RUB'); // фильтр по валюте
Public API
Public API работает без авторизации.
use Fynzah\Enum\TransactionStatus;
// Получить заказ
$order = $client->order()->get('order-123');
// Получить доступные методы
$methods = $client->order()->getMethods('order-123');
// Получить доступные банки
$banks = $client->order()->getBanks('order-123');
// Создать инвойс (выбор метода оплаты)
$invoice = $client->order()->createInvoice('order-123', 'sbp', [
'assetOrBank' => 'sber',
]);
// Обновить статус (только in_check, canceled, dispute)
$updated = $client->order()->updateStatus('order-123', TransactionStatus::IN_CHECK);