namespace Application.Abstractions.Payment; /// 프론트엔드에 전달할 토스 클라이언트 설정 public sealed record TossClientConfig( string ClientKey ); /// /// Toss Payment 객체 결과 (승인/취소/조회 공용 — 필요 필드만). /// Success=false 면 Code/Message 에 Toss 에러 응답 {code, message} 가 담긴다. /// public sealed record TossPaymentResult( bool Success, string? Code, string? Message, string? PaymentKey, string? OrderID, string? Status, int? TotalAmount, string? Method, DateTime? ApprovedAt, string? ReceiptUrl, // 가상계좌 (status = WAITING_FOR_DEPOSIT) string? VirtualAccountNumber, string? VirtualAccountBankCode, string? VirtualAccountHolder, DateTime? VirtualAccountDueDate, IReadOnlyList Cancels, string? RawJson ); /// Toss Payment.cancels[] 항목 public sealed record TossCancelDetail( string? TransactionKey, int CancelAmount, string? CancelReason, DateTime? CanceledAt );