JungHoon Han

JungHoon Han님의 아티클

JungHoon Han

JungHoon Han

매달 자동결제되는 구독서비스 구현

부트캠프 최종 프로젝트로 제휴 맺은 전국의 헬스장, 필라테스, 크로스핏을 구독하여 이용할 수 있는 서비스를 만들었습니다.

팀의 리더를 맡아 프로젝트 아이데이션을 시작하였고, 구독 결제 기능을 사용하고 싶어 헬스장 구독 서비스를 기획하였습니다. 팀원이 정해지고 팀원들에게 하고 싶은 프로젝트나 기능이 있는지 물어봤지만 딱히 없다고 하여 기획했던 헬스장 구독 서비스를 보여주고 같이 진행해 보기로 하였습니다.


구독 결제 기능을 맡은 저는 테스트 결제가 가능하면서 개발자용 문서가 잘 정리된 PG 사를 찾았고, 토스페이먼츠와 아임포트로 추려졌습니다. 두 곳 모두 문서화가 잘 되어있었지만, 주니어 입장에서 아임포트의 문서가 조금 더 이해하기 쉽게 느껴졌고 스웨거 등 조금 더 친절하게 설명이 되어있다는 느낌을 받아 아임포트를 사용하여 정기결제를 구현하기로 하였습니다.

아임포트의 문서와 스웨거를 참고하여 결제로직을 짰는데 결제정보가 DB에 두 번 저장되는 이슈가 생겼습니다. 문서를 다시 보고 검색을 해보았지만 위와 같은 이슈는 없어 아임포트에 메일로 문의하였더니 웹훅을 사용한다면 정기결제와 관련된 모든 API는 웹훅(/webhook)을 사용하라는 답변을 받았습니다. 웹훅이라는게 아임포트 자체적으로 만든 기능인줄 알았으나 특정 이벤트가 발생하였을 때 callback URL로 이벤트 정보를 보내주는 방법이 웹훅이였습니다.


이 외에도 여러 개의 이슈를 마주하며 정기결제 기능을 구현하니 머릿속에 확실하게 저장되고 새로운 기능을 구현해냈다는 자신감이 생기고 개발자로써 한 걸음 나아간 거 같아 뿌듯했습니다.

4
0