refactor: dto, requests, connector

This commit is contained in:
2026-01-19 10:46:57 +03:00
parent b2786d8606
commit 78e1e82331
32 changed files with 894 additions and 42 deletions

View File

@@ -0,0 +1,46 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/../vendor/autoload.php';
use Apoloz\AlfaBank\AlfaBank;
use Apoloz\AlfaBank\Enums\Environment;
use Apoloz\AlfaBank\Requests\Files\UploadFileRequest;
/**
* Пример загрузки файла для KYC (Знай своего клиента).
* Сначала создается бенефициар, банк возвращает ссылку для загрузки паспорта.
* Затем SDK загружает файл по этой ссылке.
*/
$baas = AlfaBank::baas(
certificatePath: __DIR__ . '/../tests/test_cert.pem',
privateKeyPath: __DIR__ . '/../tests/test_key.pem',
environment: Environment::SANDBOX
);
// 1. Предположим, мы получили ссылку из ответа CreateBeneficiaryRequest
$uploadUrl = 'https://baas.alfabank.ru/filebox/secure-file-transfer/12345?X-Amz-Signature=...';
// 2. Открываем файл
$filePath = __DIR__ . '/../tests/test_cert.pem'; // Для примера берем любой файл
$fileResource = fopen($filePath, 'r');
try {
// 3. Загружаем файл методом PUT (как требует Alfa Bank S3 Proxy)
$response = $baas->send(new UploadFileRequest($uploadUrl, $fileResource));
if ($response->status() === 200) {
echo "Файл успешно загружен в банк!\n";
} else {
echo "Ошибка загрузки: " . $response->body() . "\n";
}
} catch (\Exception $e) {
echo "Ошибка: " . $e->getMessage() . "\n";
} finally {
if (is_resource($fileResource)) {
fclose($fileResource);
}
}