전체 글 269

Springboot 결제시스템(4) 결제검증

pg사에서 받은 정보를 검증하는 로직을 만들자 간단하게 금액만 비교하고 넘겨주자 (원래 실무에서는 훨씬 많은 검증을 하겠지만) 카카오페이연동 https://cordingmonster.tistory.com/221?category=1085850 세틀뱅크연동 https://cordingmonster.tistory.com/226 Springboot 세틀뱅크 카드/가상계좌결제(1) 결제창 호출 테스트 요청을 하고 https://develop.sbsvc.online/requestTest.do 세틀뱅크 개발 지원 서비스별 테스트 신청 develop.sbsvc.online 바로 테스트할 수 있다 1. 백엔드에서는 암호화만 잘해서 주면 된다 https://de.. cordingmonster.tistory.com 흐름 r..

Jang_bo_go 2022.03.16

Springboot 카카오페이 연동(3) 환불하기

https://developers.kakao.com/docs/latest/ko/kakaopay/cancellation Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 환불은 더 쉽다 진짜 세상 결제 api가 모두 카카오 페이 같다면 얼마나 좋을까 필수 값들을(20220315 기준) 던 저주기만 하면 된다 너무 쉬워서 설명할 게 없다.. 카카오 정말 대단하다 결제시스템을 매번 구축하면서 생각하는건 pg사 호출보다 실용적인 로직을 태워서 호출하는게 더 어렵다는 생각이든다

Springboot/Api 2022.03.15

카카오 문자열 압축 자바

와 level2시작부터 매웠다 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 아예 모르겠으면 포기하고 안해~ 하겠는데 알거같은데 해서 오기가 더 생겼던거 같다 sql limit 같은 방식을 생각하며 풀었다 초기 최대 글자 수 할당 int answer = s.length(); 자르기는 최대 절반 까지만 하면된다 for(int i=1;i

Springboot 카카오페이 연동(2) 결제승인

이제 클라이언트가 결제를 하면 지정했던 url로 카카오 쪽에서 다시 보내준다 이전에 성공/실패/취소에따라 url를 보내줬는데 그걸 보고 다시 보내주는 것이다 흐름 pg토큰을 받음->결제내역 요청-> 서버에서 검증-> db 이 화면을 받는 순간 우리 서버로도 pg토큰이 날아온다 1. 세션에서 tid/partner_order_id값을 꺼내 준다 String[] orderIdAndTid=httpSession.getAttribute("orderIdAndTid").toString().split(","); String mchtTrdNo=orderIdAndTid[0]; String tid= orderIdAndTid[1]; https://developers.kakao.com/docs/latest/ko/kakaopay/..

Springboot/Api 2022.03.14

Springboot 카카오페이 연동(1) 결제창 호출

카카오페이를 연동해보자 흐름 결제창 호출-> 검증-> 판별-> 실패 시 환불 사전 준비 카카오 개발자 센터가서 1. 간단히 어플 등록-> 카카오 로그인 활성화 2. 플랫폼 등록 웹사이트= web으로 3. 리다이렉트 url등록 서버 주소만 등록하면 된다 1. 카카오페이에게 요청 https://developers.kakao.com/docs/latest/ko/kakaopay/single-payment#prepare Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com /v1/payment/ready에게 POST로 헤더에 Authorization: Kakao..

Springboot/Api 2022.03.14

카카오 level1 전체

이틀 정도 걸려서 카카오 레벨 1 문제를 다 풀었다 레벨 1 이여서 그런지 무난히 풀었다 다만 한 문제가 이해가 안 가는 부분이 있었다 1. 인형 뽑기 -인형이 뽑히는 순서를 잘못 이해했다 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 처음에는 1=0,5=1,3=1,5=3,1=0,2=1,4=2 이렇게 각 배열 라인 끝에서 빼는 줄 알 았는데 ㅋㅋㅋ 알고 보니 모양자체가 인형뽑기 통 그 자체였다 ㅋㅋ 1=4,5=3,3=1,5=1,2=2..

Springboot 결제시스템(3) redis에 저장하기

이제 만들어 진정보를 redis 임시저장후 pg사로 요청하자 흐름 redis저장->pg사 조건으로 변수들만듬->프론트 엔드 전달->프론트에서 pg사 결제창 호출 redis저장 redis 커스텀 객체 map으로 저장하기 모른다면 https://cordingmonster.tistory.com/216?category=1084481 Springboot redis 커스텀 객체넣기 아주 쉽게 넣을 수 있다 redis 연동글 https://velog.io/@devsh/Redis-8-Spring-Boot-Redis-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0 [Redis - 8] Spring Boot Redis 사용해보기 Mac OS CatalinaSpring Boo.. cordi..

Jang_bo_go 2022.03.11

Springboot 결제시스템(2) 쿠폰,상품,주소,거리,매장검증

이제 제일 어려운 구간이다 흐름 쿠폰 1차 유효성 검사-> 매장별로 제품을 꺼낸다->상품을 검증한다->쿠폰 2차 검증한다 제품별 결제정보 생성->매장 조건에 부합하는지 검증한다 1. 쿠폰 1차 검사 쿠폰 유효성 검사 후 받는다 couponVo couponVo=couponService.CheckAndGet(couponName); 2. 매장별로 제품을 꺼낸다 매장 꺼내기 storeVo storeVo=storeService.getVo(storeId); 검증 전 일단 배달 가능 지역인지 확인 if(checkDeliverRadius(storeVo.getSaddress(),storeVo.getDeliverRadius(),tryOrderDto.getAddress())){ 이 함수 안에서 카카오 주소 api를 호출해 ..

Jang_bo_go 2022.03.11

Springboot 결제시스템(1) 매장별 분리

장바구니 후 결제를 눌렀을 때 처리를 해보자 일단 장바구니에 있는 제품들을 보면 각 다른 매장 ex) 00동 하나로마트의 바나나, 00동 이마트의 소고기 등 서로 다른 매장의 물품이 섞여 있을 수 있다 그걸 제일 먼저 분리하고 매장별로 상품을 묶어 검증을 하자 흐름 장바구니 가져오기->매장별 분리-> 쿠폰, 제품, 매장 조건 검증 ->redis에 결제 정보 담기->선택 pg사 호출 1. 장바구니 가져오기 all -전체 choice -선택 장바구니만 join으로 제품까지 같이 들고 온다 2. 매장별 분리 장바구니 속에든 제품 정보로 매장별로 묶어준다 3. 쿠폰, 제품, 매장 조건 검증 -하이라이트 구간이다 다음 글에서 써보자

Jang_bo_go 2022.03.11

Springboot redis 커스텀 객체넣기

아주 쉽게 넣을 수 있다 redis 연동글 https://velog.io/@devsh/Redis-8-Spring-Boot-Redis-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0 [Redis - 8] Spring Boot Redis 사용해보기 Mac OS CatalinaSpring Boot 2.42Java 8https://start.spring.io/ 에서 들어가서 설정을 동일하게 해주세요. LombokSpring Boot DevTools Spring WebSpring Data Redis자바 버전은 velog.io 아주 친절하게 설명해 놓으셨다 hash map으로 객체를 저장하려고 해서 redisTemplate.setHashValueSerializer(new Jacks..

Springboot/Redis 2022.03.08