자 이제 테스트 페이지에서 입금 확인을 만들어주자
시나리오
입금확인->어떤종류인지 확인(예약인지/상품인지)->DB수정
웹 훅을 해야 하기 때문에
포트 포워딩을 꼭 해야 한다
restcontroller
아임 포트 여기로 던져준다
cancel/ready/paid든
paymentService
머 스타치 id가 vbank로 시작하는지 검사하자
if(status.equals("paid")&&merchantUid.startsWith("vbank"))
맞다면 impid를 이용해 찾는다
vBankDto vBankDto=vbankDao.findByPaymentId(paymentId);
상품/예약에 따라 테이블에 접근해 상태를 수정해준다
if(vBankDto.getKind().equals("reservation"))
결제된 상품 테이블에 등록해준다
insertPayment(nomalPayment, vBankDto.getPrice());
미결제 테이블에서 제거해준다
vbankDao.delete(vBankDto);
가상계좌 결제 시 impid앞에 붙는 vbank는
프런트에서 붙여 준다 즉 아주 자유롭게 조작이 가능하다
그러므로 구매 시 검증 로직을 추가해준다
iamportService
confrimBuy
가상계좌 결제 시=ready상태 결제가 이뤄졌을 시
vbank로 시작하지 않았다면 예외를 일으켜서 매번 취소를 한다
if(!merchantUid.startsWith("vbank"))
테스트
미완성된 예약 내역 페이지이다
레이아웃이야 이 정도로 끝낼 거고
예약 취소를 구현 중이다
다음 파트에서 설명해보자
테스트 가상계좌 입금통보 호출을 누르면
이렇게 바뀐다
정말 편리하게 테스트할 수 있다
깜빡하고 before를 안 찍었다
어쨌든 ready->paid/vbank->paid로 테이블이 이동되었다
페이지 역시 잘 반영된다
이제 예약 내역 페이지를 소개해보자!
'Spring boot kim's Shop > 결제 시스템' 카테고리의 다른 글
Springboot 결제시스템!(8) 환불하기 카카오페이/아임포트 (0) | 2021.09.10 |
---|---|
Springboot 결제시스템!(6) 아임포트 환불!(미완성) (0) | 2021.09.07 |
Springboot 결제시스템!(4) 가상계좌 +예약시스템 with아임포트 (0) | 2021.09.05 |
Springboot 결제시스템!(3) 가상계좌 날짜 발급 with아임포트 (0) | 2021.09.05 |
Springboot 결제시스템!(2) 아임포트 번외편 포트포워딩+웹훅! (0) | 2021.08.22 |