namespace Application.Abstractions.Payment;
/// 프론트엔드에 전달할 클라이언트 설정
public sealed record DanalClientConfig(
string ClientKey,
string MerchantID
);
/// 결제 승인 결과 (다날 API 응답 전체)
public sealed record DanalConfirmResult(
bool Success,
string? Code,
string? Message,
string? TransactionID,
string? OrderName,
int? TotalAmount,
int? DiscountAmount,
string? UserName,
// 카드
string? TransDate,
string? TransTime,
string? CardCode,
string? CardName,
string? CardNo,
byte? InstallmentMonths,
string? ApproveNo,
// 휴대폰
string? ApprovalDateTime,
string? AuthKey,
// 계좌이체
string? AccountNumber,
string? BankCode,
string? UserId,
string? UserEmail,
// 가상계좌
string? BankName,
string? ExpireDate,
string? ExpireTime,
string? VirtualAccountNumber,
string? UseCashReceipt
);
/// 결제 취소 결과 (다날 API 응답 전체)
public sealed record DanalCancelResult(
bool Success,
string? Code,
string? Message,
string? OriginalTransactionID,
int? CancelledAmount,
string? TransDate,
string? TransTime,
string? Balance,
string? RemainedAmount,
string? ApprovalDateTime
);