forked from apoloz/alfa-bank-sdk
refactor: dto, requests, connector
This commit is contained in:
46
examples/11_file_upload_kyc.php
Normal file
46
examples/11_file_upload_kyc.php
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user