| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- @page "{id:int}"
- @model Admin.Pages.Payments.Danal.Cancel.ViewModel
- @using Domain.Entities.Payments.ValueObject
- @using SharedKernel.Extensions
- @{
- ViewData["Title"] = "다날 취소 상세";
- string MethodName(PaymentMethod m) => m switch
- {
- PaymentMethod.Card => "신용카드",
- PaymentMethod.VirtualAccount => "가상계좌",
- PaymentMethod.Mobile => "휴대폰",
- PaymentMethod.Transfer => "계좌이체",
- PaymentMethod.NaverPay => "네이버페이",
- PaymentMethod.KakaoPay => "카카오페이",
- PaymentMethod.Payco => "페이코",
- PaymentMethod.Integrated => "통합",
- _ => "-"
- };
- }
- <div class="container">
- <h3>@ViewData["Title"]</h3>
- <hr />
- <partial name="_StatusMessage" />
- @if (Model.Data is null)
- {
- <div class="alert alert-danger">취소 내역을 불러올 수 없습니다.</div>
- }
- else
- {
- var cancel = Model.Data;
- var isSuccess = cancel.ResponseCode == "0000";
- <h5 class="mb-3">다날 취소 정보</h5>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">PK</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.ID</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">회원</label>
- <div class="col-sm-10"><div class="form-control-plaintext">[@cancel.MemberID] @(cancel.MemberName ?? "-") / @cancel.MemberEmail</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">결제 수단</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@MethodName(cancel.Method)</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">취소 유형</label>
- <div class="col-sm-10">
- <div class="form-control-plaintext">
- @if (cancel.CancelType == Domain.Entities.Payments.Danal.ValueObject.DanalCancelType.Full)
- {
- <span class="badge bg-danger">전액 환불</span>
- }
- else
- {
- <span class="badge bg-warning text-dark">부분 환불</span>
- }
- </div>
- </div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">거래번호</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.TransactionID</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">주문번호</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.OrderID</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">취소 요청 금액</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.Amount.ToString("N0") 원</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">CPID</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.MerchantID</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">취소 요청자</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.CancelRequester ?? "-")</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">취소 사유</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.CancelReason ?? "-")</div></div>
- </div>
- <hr />
- <h5 class="mb-3">다날 취소 응답</h5>
- @if (string.IsNullOrEmpty(cancel.ResponseCode))
- {
- <div class="alert alert-warning">취소 응답이 기록되지 않았습니다.</div>
- }
- else
- {
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">응답</label>
- <div class="col-sm-10">
- <div class="form-control-plaintext">
- @if (isSuccess)
- {
- <span class="badge bg-success">성공</span>
- }
- else
- {
- <span class="badge bg-danger">실패</span>
- }
- [@cancel.ResponseCode] @cancel.ResponseMessage
- </div>
- </div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">원거래 ID</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.OriginalTransactionID ?? "-")</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">취소된 금액</label>
- <div class="col-sm-10">
- <div class="form-control-plaintext">@(cancel.CancelledAmount.HasValue ? cancel.CancelledAmount.Value.ToString("N0") + " 원" : "-")</div>
- </div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">승인 일시</label>
- <div class="col-sm-10">
- <div class="form-control-plaintext">@(string.IsNullOrEmpty(cancel.TransDate) && string.IsNullOrEmpty(cancel.TransTime) ? "-" : $"{cancel.TransDate} {cancel.TransTime}")</div>
- </div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">남은 금액 (Balance)</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.Balance.HasValue ? cancel.Balance.Value.ToString("N0") + " 원" : "-")</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">잔여 결제 (RemainedAmount)</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.RemainedAmount.HasValue ? cancel.RemainedAmount.Value.ToString("N0") + " 원" : "-")</div></div>
- </div>
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">승인 발생 일시</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@(cancel.ApprovalDateTime ?? "-")</div></div>
- </div>
- }
- @if (cancel.UpdatedAt is not null)
- {
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">수정 일시</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.UpdatedAt.GetDateAt()</div></div>
- </div>
- }
- <div class="row mb-2">
- <label class="col-sm-2 col-form-label">등록 일시</label>
- <div class="col-sm-10"><div class="form-control-plaintext">@cancel.CreatedAt.GetDateAt()</div></div>
- </div>
- <hr />
- <div class="d-grid gap-2 text-center d-md-block">
- <a href="/Payments/Danal/Cancel@(Request.QueryString)" class="btn btn-sm btn-secondary">뒤로가기</a>
- </div>
- <br />
- <br />
- <br />
- }
- </div>
|