<?php

namespace Modules\Payment\Data;

use Modules\Payment\Enums\RefundStatus;

/**
 * What a gateway hands back from refund() (PaymentGatewayInterface).
 */
readonly class RefundResultData
{
    /**
     * @param  array<string, mixed>  $gatewayPayload  Raw gateway response, persisted verbatim for audit.
     */
    public function __construct(
        public RefundStatus $status,
        public ?string $gatewayRefundId,
        public array $gatewayPayload,
        public ?string $message = null,
    ) {}
}
