피드로 돌아가기
올리브영 테크블로그Backend
원문 읽기
올리브영 결제수단 연동, 이렇게만 하면 끝!
올리브영이 API 연동을 통해 올리브영 현대카드 리워드와 모바일 상품권 2가지 결제수단을 주문서에 통합
AI 요약
Context
올리브영의 주문결제 시스템에 새로운 결제수단이 필요했습니다. 기존 시스템에는 올리브영 현대카드 리워드(PLCC 카드 사용 시 자동 적립되는 리워드)와 난수번호 기반의 모바일 상품권이 결제 옵션으로 존재하지 않았습니다.
Technical Solution
- API 인증 처리: Basic Authentication 방식으로 Authorization 헤더에 인증키를 포함시켜 보안 확보
- HashMap을 활용한 요청 헤더 구성: Content-Type을 "application/json"으로 설정하고 API 인증키 추가
- HttpClientUtil 클래스의 jsonToJsonUtfSend 메서드를 사용하여 JSON 데이터를 외부 API에 전송
- 4가지 API 엔드포인트 구현: (1) 사용 가능 금액 조회 API (2) 금액 사용 API (3) 금액 취소 API (4) 소멸 예정 금액 조회 API
- 결제 실패 시 롤백 처리: 금액 사용 후 주문 오류 발생 시 취소 API를 호출하여 사용된 금액 반환
- JsonResponse 객체에 API 응답을 담아 성공/실패 상태 반환 및 고객에게 결제 완료 또는 오류 메시지 표시
Key Takeaway
외부 시스템과의 API 연동 시 명확한 API 문서 기반의 구현과 함께, 결제 실패 시나리오에 대한 롤백 로직(특히 취소 API 호출)을 누락하지 않는 것이 결제 시스템 안정성의 핵심입니다.
실천 포인트
커머스 결제 시스템을 구축하는 엔지니어가 외부 결제 수단을 API로 연동할 때, Basic Authentication 인증 방식과 JSON 기반의 HTTP 요청을 활용하여 사용 가능 금액 조회→금액 사용→(실패 시) 금액 취소의 3-step 트랜잭션을 구현하면, 부분 결제 실패에 따른 금액 누락을 방지할 수 있습니다.