forked from apoloz/alfa-bank-sdk
46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use Apoloz\AlfaBank\AlfaBank;
|
|
use Apoloz\AlfaBank\Enums\Environment;
|
|
use Apoloz\AlfaBank\Sbp\Requests\GetQrCodeRequest;
|
|
use Apoloz\AlfaBank\Sbp\Data\QrCodeRequestData;
|
|
|
|
// 1. Initialize SBP
|
|
$sbp = AlfaBank::sbp(
|
|
certificatePath: __DIR__ . '/certs/client.cer',
|
|
privateKeyPath: __DIR__ . '/certs/private.key',
|
|
keyNameAlias: 'my-alias', // Required for SBP signatures in some contexts
|
|
environment: Environment::SANDBOX
|
|
);
|
|
|
|
try {
|
|
echo "Generating Static QR Code...\n";
|
|
|
|
$payload = new QrCodeRequestData(
|
|
termNo: 'TEST_TERM_001',
|
|
qrcType: '01', // Static
|
|
amount: '15000', // 150.00 RUB
|
|
paymentPurpose: 'Test Payment'
|
|
);
|
|
|
|
$request = new GetQrCodeRequest($payload);
|
|
$response = $sbp->send($request);
|
|
|
|
if ($response->successful()) {
|
|
$qrData = $response->dto();
|
|
echo "QR Payload: " . $qrData->payload . "\n";
|
|
echo "QR Image URL: " . $qrData->image . "\n";
|
|
} else {
|
|
echo "Failed to generate QR.\n";
|
|
}
|
|
|
|
// Example of Pagination (if supported by SBP endpoints)
|
|
// $paginator = $sbp->paginate(new SomeSbpListRequest());
|
|
// foreach($paginator as $item) { ... }
|
|
|
|
} catch (\Exception $e) {
|
|
echo "Error: " . $e->getMessage() . "\n";
|
|
}
|