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;