using Application.Abstractions.Messaging;
using SharedKernel.Results;
namespace Application.Features.Api.Payment.Toss.Webhook;
///
/// 토스 일반결제 웹훅 처리 (PAYMENT_STATUS_CHANGED / DEPOSIT_CALLBACK).
/// 일반결제 웹훅은 서명 헤더가 없으므로 본문을 신뢰하지 않는다 —
/// paymentKey 로 조회 API 를 재호출해 그 결과만 반영한다.
/// PaymentKey 가 없으면(DEPOSIT_CALLBACK) OrderID 로 TossConfirm 에서 보강한다.
///
public sealed record Command(
string? EventType,
string? PaymentKey,
string? OrderID
) : ICommand;