<?php

declare(strict_types=1);

namespace App\Services\Billing\Gateway;

/**
 * Итог server-to-server сверки платежа (НЕ доверяем телу webhook —
 * статус берётся из ответа GET /payments/{id} к шлюзу).
 */
final class WebhookVerifyResult
{
    public function __construct(
        public readonly string $gatewayPaymentId,
        public readonly string $status,         // 'succeeded'|'pending'|'canceled'|... (термины шлюза)
        public readonly string $amountRub,      // DECIMAL-строка scale 2
        public readonly string $currency,       // 'RUB' — валюта сверенного платежа (защита от чужой валюты)
        public readonly ?string $paymentMethod, // 'card'|'sbp'|'yoo_money'|null
    ) {}

    /** В терминах ЮKassa оплачено = 'succeeded'. */
    public function isSucceeded(): bool
    {
        return $this->status === 'succeeded';
    }
}
