Files
alfa-bank-sdk/examples/10_sbp_reversal_history.php

44 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";
}