Skip to Content
BackendSNKRS 앱에 카카오페이 결제 추가하기
💻 Backend2023년 7월 12일

SNKRS 앱에 카카오페이 결제 추가하기

#e-commerce#payment-expansion#backend#kakaopay
Payment Expansion · Series 2 · Integration Rollout5 / 14Backend
채널별 결제수단 설정을 수정하고 공통 라이브러리를 배포한 과정입니다.

Nike.com에서 제공하던 카카오페이를 SNKRS 앱에서도 사용할 수 있도록 추가하는 작업을 맡았습니다. 결제 연동을 처음부터 구현하는 작업은 아니었습니다. 기존 연동을 재사용하고, 앱 채널에서도 해당 결제수단을 사용할 수 있도록 설정을 바꾸는 일이었습니다.

설정 변경은 작았지만 배포 대상은 여러 서비스였습니다. 설정이 공통 결제 라이브러리에 들어 있었기 때문입니다.

채널별 결제수단 설정

당시 결제 시스템은 웹과 앱을 서로 다른 채널로 구분하고, 채널마다 사용할 수 있는 결제수단을 관리했습니다. 웹에서 카카오페이로 결제할 수 있다고 해서 앱에서도 바로 사용할 수 있는 구조는 아니었습니다.

공통 라이브러리의 채널별 매핑에 SNKRS 앱의 카카오페이를 활성화하는 설정을 반영했습니다. 같은 결제 연동을 사용하더라도, 어느 채널에 제공할지는 별도로 결정하는 방식이었습니다.

라이브러리 변경과 서비스 배포

설정을 수정한 다음에는 그 버전의 라이브러리를 사용하는 워커 서비스를 다시 빌드하고 배포해야 했습니다. 라이브러리 저장소에 변경이 들어간 것과 실제 서비스에 반영된 것은 서로 다른 시점입니다.

그래서 설정값뿐 아니라 각 서비스가 참조하는 라이브러리 버전도 확인해야 했습니다. 공통 설정을 한 곳에서 관리하면 서비스마다 같은 내용을 따로 수정할 필요가 줄어듭니다. 반면 오래된 버전을 사용하는 서비스가 남아 있으면 채널에 따라 동작이 달라질 수 있습니다.

채널과 환경을 나눠 설정하는 구조는 검증 범위를 정하는 데도 도움이 됐습니다. 테스트 환경이나 디버깅 앱에서 먼저 확인하고, 앱 채널에서 결제수단이 노출되는지와 이후 결제 과정을 이어서 확인할 수 있었습니다.

공통 설정의 변경 범위

이 작업은 SNKRS 앱의 결제수단을 추가하기 위한 변경이었지만, 수정한 코드는 여러 서비스가 공유하고 있었습니다. 대상 채널을 잘못 지정하면 다른 채널의 결제수단에도 영향을 줄 수 있어, 앱에서 카카오페이가 보이는지만 확인해서는 부족했습니다. 기존 웹 채널의 설정도 함께 살펴봐야 했습니다.

이후 결제 로그를 켜고 끄는 기능에서도 공통 라이브러리를 통해 여러 서비스에 설정을 전달하는 구조를 활용했습니다. 다만 이번 설정은 라이브러리를 빌드하고 배포해야 바뀌었고, 로그 설정은 운영 중에 전환할 수 있다는 차이가 있었습니다.

다음 글에서는 기존 연동을 확장하던 작업에서 이어서 카카오페이 v2를 새로 구축한 과정을 다룹니다.

Last updated on