}
else
{
var confirm = Model.Data.Confirm;
var cancel = Model.Data.Cancel;
var isCardLike = confirm.Method is PaymentMethod.Card or PaymentMethod.NaverPay or PaymentMethod.KakaoPay or PaymentMethod.Payco;
var isMobile = confirm.Method == PaymentMethod.Mobile;
var isTransfer = confirm.Method == PaymentMethod.Transfer;
var isVAccount = confirm.Method == PaymentMethod.VirtualAccount;
}
else if (confirm.OrderStatus == PaymentStatus.Paid)
{
var isForcedCancel = confirm.ResponseCode != "0000";
if (isForcedCancel)
{
주의 — 다날 응답 코드가 [@(string.IsNullOrEmpty(confirm.ResponseCode) ? "응답 미수신" : confirm.ResponseCode)] 인 강제 환불입니다.
PaymentOrder.Status 는 Paid 이지만 DanalConfirm 응답이 비정상입니다. 다날 PG 콘솔에서 실제 거래 상태를 사전 확인 후 진행하세요.
}
다날 결제 승인 후 전액 취소가 가능합니다. (취소 금액: @confirm.Amount.ToString("N0") 원)
취소 요청자는 주체를 구분하기 위해 사용합니다. 취소 사유는 추후 거래 상태 식별 및 대응을 위해 활용됩니다.
}
else if (confirm.OrderStatus == PaymentStatus.Cancelled)
{
이미 취소된 주문입니다. (PaymentOrder.Status = Cancelled)
}
else if (confirm.OrderStatus == PaymentStatus.Failed)
{
결제가 실패한 주문입니다. 환불할 금액이 없습니다. (PaymentOrder.Status = Failed)
}
else if (confirm.OrderStatus is PaymentStatus.Pending or PaymentStatus.WaitingDeposit)
{
결제가 아직 완료되지 않았습니다. (PaymentOrder.Status = @confirm.OrderStatus) — 입금 대기 / 처리 중인 거래는 취소할 수 없습니다.