Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] : 토스페이먼츠 결제 API를 구현합니다. #62

Open
wants to merge 22 commits into
base: develop
Choose a base branch
from

Commits on Oct 16, 2024

  1. Refactor : viewCount Long- > long 수정

    - 변경 내용 1 : PrePersist 함수 삭제
    - 변경 내용 2 : viewCount null 체크 삭제
    - 변경 내용 3 : viewCount Long -> long
    
    이유 : Long을 쓰면 null을 고려해야 하지만, long을 쓰면 null을 고려할 필요가 없어짐
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    d5bea3d View commit details
    Browse the repository at this point in the history
  2. Fix : 페이징 element 카운트 쿼리 수정

    -변경 사항 1 : 페이징 카운트 처리에서 생겼던 전체 size를 잘못 계산하던 에러 수정
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    853c048 View commit details
    Browse the repository at this point in the history
  3. Feat : payment 도메인 구성

    - 추가한 내용 :
    1. Payment 엔티티 구성
    2. payment 관련 enum Type 구성
    - payStatus, payType
    3. payment DTO 구성
    4. Payment 관련 api 메세지 구성
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    bf0bfca View commit details
    Browse the repository at this point in the history
  4. Feat : 세션 임시 저장 엔드포인트 구성

    - 추가한 내용
    :
    1. controller, service, repository 레이어 구성
    2. orderId, amount를 세션에 임시 저장하는 엔드포인트 구성
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    0431fb4 View commit details
    Browse the repository at this point in the history
  5. Feat : wallet 도메인 구성

    - 추가한 내용 :
    1. wallet 엔티티 구성
    2. wallet 컨트롤러, 서비스, 레포지터리 레이어 구성
    3. user 엔티티와 wallet 엔티티간 양방향 관계 설정 및 연관관계 편의 메서드 구현
    -> 연관 관계 주인 쪽 user에서 처리
    4. wallet 엔티티와 payment 엔티티간 양방향 관계 설정 및 연관관계 편의 메서드 구현
    -> 연관 관계 주인 쪽 payment에서 처리
    
    미완 :
    1. user 엔티티 create 시에 wallet도 생성되게 처리 해야 한다.
    2. wallet 의 식별자를 uuid로 해야 할지 고민해야 함.
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    e4213bc View commit details
    Browse the repository at this point in the history
  6. Test : 세션에 값 임시 저장 테스트 추가

    -추가된 내용 :
    1. 세션에 orderId, amount 값을 임시 저장한 것이 제대로 저장되었는지 테스트
    이유 : 결제 최종 승인 요청 전에 값이 변조되지 않았는지 검증하기 위함
    
    미흡 :
    결제 요청 받았을 때, 세션에 값이 저장되지 않았을 경우에 대한 예외 처리 미완
    테스트 코드에 대한 부족함이 느껴져 찜찜함이 있다.
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    61b0401 View commit details
    Browse the repository at this point in the history
  7. Rename : PaymentController 소문자 -> 대문자

    단순 파일명 변경
    na0th committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    42bf230 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. .

    .
    na0th committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    50a7367 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3 from na0th/payment

    merge
    na0th authored Oct 19, 2024
    Configuration menu
    Copy the full SHA
    0efa6cf View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2024

  1. feat : User 생성 시 Wallet도 같이 생성

    변경한 내용 :
    1. 트랜잭션 단위로 User 생성과 Wallet 생성을 묶어서 처리
    2, 연관 관계 편의 메서드로 User와 Wallet 간 객체 참조 연결
    3. User의 영속성이 Wallet으로 전파되도록
    cascade.ALL 설정
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    6a26c84 View commit details
    Browse the repository at this point in the history
  2. feat : Wallet 도메인 메서드 추가

    추가한 내용 :
    1. wallet 충전 메서드
    2. wallet 생성 예외 메시지
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    8a08bec View commit details
    Browse the repository at this point in the history
  3. fix : 임시 이름 변경

    이유 :
    git이 paymentController -> PaymentController로 바꾼 것을 인식하지 못함
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    804ef09 View commit details
    Browse the repository at this point in the history
  4. fix : PaymentController로 고치기

    임시 이름에서 다시 변경
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    a89ccbd View commit details
    Browse the repository at this point in the history
  5. refactor : payment 도메인 리팩토링

    변경한 내용
    1. Controller 로직 -> Service 레이어로 옮김
    2. PayType, PayStatus 같은 Enum Type의 메서드명, 변수명을 변경
    3. PaymentRequest, Response 토스 페이먼츠 변수명에 맞게 변경
    3. paymentConfig url 변수명 변경
    
    ++
    4. chargeMoney에서 save()까지 책임 옮김
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    1da494a View commit details
    Browse the repository at this point in the history
  6. feat : Payment create 메서드, API 메세지, 예외 메세지 추가

    추가한 내용 :
    1. Payment 엔티티에 create 메서드 추가
    2. Payment 관련 Api 메세지 추가
    3. Payment 관련 예외 메세지 추가
    4. Http Client를 Config에서 Bean 등록
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    c4cd219 View commit details
    Browse the repository at this point in the history
  7. fix : UserDetailResponse 생성자 파라미터 갯수로 인한 빌드 에러

    변경한 내용 :
    필요없는 인자를 커밋해서
    빌드시 오류가 나던 것을 해결
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    c7c5e1a View commit details
    Browse the repository at this point in the history
  8. refactor : User.create 메서드를 createWithWallet 메서드로 변경

    변경한 내용 :
    1. User.create 메서드를 createWithWallet 메서드로 변경하면서 Wallet 생성 부분까지 한 번에 User를 생성하면서 맡도록 했음
    2. Service 레이어에서 Wallet 생성 책임을 User에 넘겼음
    3. 그로인해 AuctionInitializer 코드 변경(지갑 생성 부분)
    4. UserDetailsResponse walletId 필드 추가
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    2a69f5e View commit details
    Browse the repository at this point in the history
  9. test : Wallet 생성을 User 쪽에서 하면서 테스트 코드 변경

    변경한 내용 :
    1. wallet을 User쪽에서 한 번에 생성하면서 테스트 코드를 조금 변경함
    2. UserDetailsResponse에 walletId 필드를 추가해서 테스트코드의 생성자의 파라미터로 walletId 필드 추가해줌
    na0th committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    8921041 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2024

  1. refactor : 결제 리팩토링

    변경 및 추가한 내용 :
    1.  인터페이스로 HttpClient 같은 의존성에 간접 의존하도록 바꿈
    -> 변경에 유연하도록
    2. 토스페이로부터 온 응답을 HttpResponse에서 직접 만든 Response(Object)로 변환해서 처리
    -> 테스트 시 객체 생성이 쉬워지도록
    3. userId를 통해 Wallet 반환받는 메서드를 쿼리로 변경
    -> user.getWallet() 에서 JPQL 쿼리로 변경
    
    미완 :
    테스트 추가 필요
    na0th committed Dec 1, 2024
    Configuration menu
    Copy the full SHA
    8236348 View commit details
    Browse the repository at this point in the history
  2. test : 결제 관련 테스트 추가

    추가한 내용 :
    paymentKey 세션 임시 저장 확인 테스트
    결제 상태에 따른 메서드 처리 확인 테스트
    Wallet 조회, 충전 관련 테스트 추가 등등
    
    미완 :
    컨트롤러 테스트 추가 필
    na0th committed Dec 1, 2024
    Configuration menu
    Copy the full SHA
    f1ff1fa View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2024

  1. test : PaymentController 테스트 추가

    추가한 내용 :
    1. 컨트롤러 테스트 추가
    2. ExceptionHandler에 Invalid Session, PaymentDataMismatch 예외 추가 400번 반환
    3. Service 테스트 삭제
    -> 안 쓰이던 테스트
    na0th committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    812cb55 View commit details
    Browse the repository at this point in the history
  2. refactor : PaymentResponse 형식 변경

    변경한 내용 :
    토스 api 버전에 따라 response 형식이 달라서
    맞추기 위함.
    @JsonAlias를 통해 error object의 루트 레벨을 평탄화하여 code, message를 필드로 추가
    na0th committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    bf34aed View commit details
    Browse the repository at this point in the history