TossPaymentModels.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. namespace Application.Abstractions.Payment;
  2. /// <summary>프론트엔드에 전달할 토스 클라이언트 설정</summary>
  3. public sealed record TossClientConfig(
  4. string ClientKey
  5. );
  6. /// <summary>
  7. /// Toss Payment 객체 결과 (승인/취소/조회 공용 — 필요 필드만).
  8. /// Success=false 면 Code/Message 에 Toss 에러 응답 {code, message} 가 담긴다.
  9. /// </summary>
  10. public sealed record TossPaymentResult(
  11. bool Success,
  12. string? Code,
  13. string? Message,
  14. string? PaymentKey,
  15. string? OrderID,
  16. string? Status,
  17. int? TotalAmount,
  18. string? Method,
  19. DateTime? ApprovedAt,
  20. string? ReceiptUrl,
  21. // 가상계좌 (status = WAITING_FOR_DEPOSIT)
  22. string? VirtualAccountNumber,
  23. string? VirtualAccountBankCode,
  24. string? VirtualAccountHolder,
  25. DateTime? VirtualAccountDueDate,
  26. IReadOnlyList<TossCancelDetail> Cancels,
  27. string? RawJson
  28. );
  29. /// <summary>Toss Payment.cancels[] 항목</summary>
  30. public sealed record TossCancelDetail(
  31. string? TransactionKey,
  32. int CancelAmount,
  33. string? CancelReason,
  34. DateTime? CanceledAt
  35. );