인프런 커뮤니티 질문&답변
[스프링] 트랜잭션 실패 시 외부 API 요청 취소
작성
·
507
0
흐름은 이렇습니다.
유저에게 입금이체하는 메소드에서,
외부 API를 호출해서 유저에게 입금이체를 함
외부 API에게 응답 메시지를 받고, DB에 입금 내역, 상품 상태 등을 저장함
그리고 이 입금이체 메소드(1)에 @Transactional 어노테이션을 붙여놨습니다. 만약 DB에 입금과 상품을 저장하다가 예외나 에러가 생긴다면 롤백이 되겠죠.
그런데... 제 쪽 DB만 롤백되는 거지 외부 API 요청은 롤백이 되는게 아니잖습니까? ㅠㅠ. 그럼 예외, 에러 발생 시 외부 API를 호출해서 입금이체 취소를 하려고 했는데 이게 또 엄청나게 복잡하더군요... 카드결제가 아니라, 입금이체라 그런지 수취인에게 허락을 받아야 입금한 돈을 다시 돌려받을 수 있다고 합니다.
그래서 대체 이 부분을 어떻게 처리해야할지 모르겠어요. 막막하네요. 어떤 해결책이 있을까요?
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




