42 lines
1.4 KiB
PHP
42 lines
1.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use Apoloz\AlfaBank\AlfaBank;
|
|
use Apoloz\AlfaBank\Enums\Environment;
|
|
use Apoloz\AlfaBank\Sbp\Requests\Reversal\GetQrcReversalHistoryRequest;
|
|
|
|
/**
|
|
* Пример получения истории возвратов по транзакции СБП.
|
|
* Полезно для отладки частичных возвратов или поиска зависших операций.
|
|
*/
|
|
$sbp = AlfaBank::sbp(
|
|
certificatePath: __DIR__ . '/../tests/test_cert.pem',
|
|
privateKeyPath: __DIR__ . '/../tests/test_key.pem',
|
|
keyNameAlias: 'my-alias',
|
|
environment: Environment::SANDBOX
|
|
);
|
|
|
|
$payrrn = '000000022112'; // Референс изначального платежа
|
|
$termNo = '90080567';
|
|
|
|
try {
|
|
$response = $sbp->send(new GetQrcReversalHistoryRequest($payrrn, $termNo));
|
|
$dto = $response->dto();
|
|
|
|
echo 'Найдено возвратов: ' . ($dto->refunds ? $dto->refunds->count() : 0) . "\n";
|
|
|
|
if ($dto->refunds) {
|
|
foreach ($dto->refunds as $refund) {
|
|
echo "--- \n";
|
|
echo "Сумма: {$refund->amount} коп.\n";
|
|
echo "Статус: {$refund->status}\n";
|
|
echo "ID операции в НСПК: {$refund->trxId}\n";
|
|
}
|
|
}
|
|
} catch (\Exception $e) {
|
|
echo 'Ошибка: ' . $e->getMessage() . "\n";
|
|
}
|