Spring boot kim's Shop/리팩토링 14

Springboot 로그인 리팩토링! with ResponseCookie

access/refresh토큰을 쿠키로 주고 있었다 프런트가 http->https가 된 이후로 크롬에서 테스트를 안 해봤는데 우연히 들어갔다가 samesite이슈에 걸려서 쿠키를 다시 발급하게 됐다 cookie->ResponseCookie로 변경하였다 cookieService httponly옵션은 없으니 수기로 작성해주자! 추가 httponly옵션 있음 테스트 이슈가 사라지고 잘 로그인된다! (Csrf토큰은 그냥 마음대로 만든곳이니 무시해주세요)

Springboot 결제시스템 리팩토링!(3) 가상계좌 입금전 부분취소 with 세틀뱅크

마지막 페이즈이다 제일 어려웠다 가상계좌는 입금 전/후로 나뉜다 거기서도 부분취소가 제일 문제가 된다 입금 후라면 그냥 환불이지만 입금 전이라면... 복잡해진다 일단 세틀 뱅크 사이트를 보는데 채번 수정? 은 찾지 못했다 대신 가상계좌 채변을 서버에서 다시 받을 수 있었다 그래서 이렇게 만들었다 시나리오 부분 취소-> 새로 채번 받기->db수정-> 기존 채번 취소 paymentService는 똑같으므로 참고 바랍니다 https://cordingmonster.tistory.com/162 Spring boot 결제취소/예약취소 리팩토링!(1) with 세틀뱅크/카카오페이 일반 결제 취소 = 카드/카카오페이/가상계좌 입금 후 = 돈이 들어온 후 환불만 해주면 됨 시나리오 요청-> 취소가능 여부 검증-> 예약/..

Spring boot 결제시스템 리팩토링!(2) with 세틀뱅크/카카오페이

일반 결제 취소 = 카드/카카오페이/가상계좌 입금 후 = 돈이 들어온 후 환불만 해주면 됨 시나리오 요청-> 취소가능 여부 검증-> 예약/상품 테이블 선택 아이템 삭제-> 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기-> 아이디별 환불 pg사 전송 가상계좌 미입금 부분 취소 = 채번 새로 받은 후 기존 채번취소 요청 요청-> 취소가능 여부 검증-> 예약/상품 테이블 선택 아이템 삭제-> 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기-> 새 채번 요청-> 새 계좌/가격 상품/예약/결제 테이블 수정-> 채번 취소 요청 고비는 크게 두 가지였다 1. 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기 2. 새 계좌/가격 상품/예약/결제 테이블 수정-> 채번 취소 요청 일단 최선을 다..

Springboot 예약내역 페이지 리팩토링! with left join

이전 원가+예약 내역 join 후 카드/카카오페이/가상계좌 이렇게 나눠져서 또 db를 들렀다가 왔다 현재 left join으로 다 들고 오게 했다 dao 날짜 미지정 검색 @Query(value = "select a.*,b.price,c.*,v.*,k.* from reservation a inner join product b on a.seat=b.product_name left join card c on a.payment_id=c.cmcht_trd_no left join vbank v on a.payment_id=v.vmcht_trd_no left join kakaopay k on a.payment_id=k.ktid where a.email=? order by a.id desc limit ?,?",nat..

Springboot 결제 시스템 리팩토링!(1) 카드/가상계좌 세틀뱅크

바보였다 테스트 신청하자마자 하면 되는 거였는데 3일 전에 알고 부랴부랴 시스템을 개편했다 진짜 힘들었다 변동사항 결제 요청 이전 아임 포트-> 세틀 뱅크 현재 세틀 뱅크 디렉트 연결 예약시스템 이전 총액 받기->가상계좌라면 날짜 받기 현재 필요 정보 한 번에 다 받기 예약+결제 이전 예약 시도-> 결제 후 검증-> db저장 현재 예약 시도-> 결제/상품 임시 테이블 저장-> 결제 검증-> 메인테이블 저장 임시 테이블은 재고에 안 잡히고 결제 영향도 없는 테이블이다 그냥 스프링 스케줄러+배치로 하루에 한 번씩만 비워주면 될 거 같다 테이블 구조도 변경하였다 예약은 예약정보만/결제는 결제정보만 들고 있을 수 있게 했다 결제 테이블도 card/vbank/kakaopay 이렇게 종류별로 나눴다 아 개편하는데 ..

톰캣!https만들기!

세틀 뱅크 가상계좌가 계속 이 상태이다 왜 이런지 모르겠다 http여서 그런가 https를 만드는 법을 찾아봤다 한 4시간 이것만 했다 진짜.. 결론은 톰캣 버전 차이였다.. 진작 공식문서를 봤어야 했었다.. cmd 관리자 실행 후 "%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA 그러면 C:\Users\Administrator에 파일이 생긴다 그리고 톰캣 설정 다른 번전과 많이 달랐다 그래서 4시간 동안 헤맨 거 같다.. 결과 https://localhost:8443/index.html 와우 프런트 서버가 https가 되었다 백엔드도 있는 거 같던데 오늘 시간 버린 거 https인증서까지 확실히 해야겠다 문제는 세틀뱅크 가상계좌는 아직도 저모양이..

1차 리팩토링 목록

part1회원/part2구매가 얼추 끝나서 part3인 게시판에 들어가기전에 리팩토링을 할것이다 1.백엔드에 존재하는 controller를 없앨것이다 2.현재 쓸모없는 enum을 제거할것이다 3.카카오api리팩포링 -너무 구현에 집중해 다 때려박아놨다 4.팝업창 구현 5.프런트 자바스크립트 (선택 ) -프런트는 뭐.. 통신만 할 수 있게 해놔서 기가막히다 20210913 세틀뱅크 테스트하는 방법을 찾았다 카드연동은 성공했고 가상계좌만 연동하면된다 연동후에 리팩토링 하자 ㅋㅋ

Springboot 결제시스템 (7) 카카오페이 연동

가상계좌를 다룰 방법을 찾았다 세틀 뱅크 테스트는 매번 취소는 불가능하지만 입금 전 수정/카드결제가 가능했다 그래서 카카오페이를 직접 연동하기로 하고 세틀 뱅크를 pg사로 붙였다 네이버 페이는 사업자 등록증이 필요하다 테스트 계정 범위 1. 세틀 뱅크로 입금 전 수정 가능 2. 세틀 뱅크 일반 결제 가능 3. 카카오페이 불가능 -따로 직접 붙임 4. 입금 후 부분 취소 불가능 -db만 수정해주고 기분만 내야겠다 5. 일반 결제는 동일하게 부분 취소/환불 가능 카카오페이를 붙이면서 현재 예약시스템도 뜯어고쳤다 이전에는 예약/일반상품을 따로 구별하려고 했다 하지만 이제는 물건을 구매했을 때 예약상품이든 일반상품이든 요청을 하면 결제 검증을 하고 예약/상품에 따라 crud가 일어난다 우선 카카오페이를 붙여보자..

Springboot 예약+결제시스템 리펙토링!

1. 아임 포트에서 가상계좌 테스트를 지원한다 2. 부트 페이는 이제 없어도 된다 3. 구조변경이 불가피 해졌다 abstract클래스 이클래스는 결제 검증이 끝나고 예약 dto에게 전달해줄 변수들을 들고 있다 nomalPaymenrtClazz 추상 클래스를 상속받아 일반 결제 결제 검증 후-> paidproduct테이블에 insert 할 때 사용된다 현재는 paymethod하나이지만 나중에 더 많아질 때를 대비해 만들어 놓았다 vbankpaymentclazz 가상계좌 요청 시 사용되는 클래스이다 역시 추상 클래스의 상속 후 사용한다 vbank테이블에 insert 할 때 사용된다 reservationService 흐름도 바뀌었다 결제 검증 우선 후 paymentabstract paymentabstract=..