본문 바로가기

기록

환불 프로세스 자동화에 대한 경험과 기록

최근에 운영팀에서 수동으로 대부분 진행하던 환불 기능을 자동화 시켜 조금 더 효율적으로 운영할 수 있도록 개발을 진행하였다.

어떤식으로 진행했는지 기록을 남겨보려고 한다.

 

 

현재 어떤식으로 환불을 진행하고 있는가?

1. 가격이 비싼 상품이기 때문에 운영팀에서 환불 전화가 올 시 해지방어를 시도하고, 그래도 안되면 환불을 진행 하고 있다.

2. 환불을 하기 위해선 환불 선물지를 작성해야한다.

3. 환불 건이 들어오면 유저에게 수동으로 설문지 링크를 전달 해준다.

4. 환불 설문지가 완료가 되면 작성이 잘 완료 되었는지 확인을 하고, 어드민을 통해서 환불을 진행한다.

 

위와 같은 형태로 운영팀에서 환불을 진행 하고 있었다. 누가 봐도 수동으로 처리하는 부분과 신경써야하는 부분이 많아보이는 현재상황이였다.

 

그럼 어떤 부분을 자동화 시킬 수 있을까?

1. 환불 설문지를 수동으로 전송하는 부분

2. 설문지 작성이 잘 완료 되었는지 체크하는 부분

3. 어드민을 통해서 금액 환불을 하는 부분 

총 세 가지 부분이 운영인력 리소스가 많이 투입된다는것이 눈에 보였고, 해당 부분을 자동화 시켜야겠다고 마음을 먹었다.

 

일단 로직을 설계 하기전 운영팀과 미팅을 진행하여 요구 사항에 대해서 파악을 하였다.

 

 

운영팀의 요구사항 파악

1. 환불 설문지는 무조건 작성해야한다. 안내도 환불 설문지를 작성해야만 환불해준다 라고 하고있다.

2. 환불이 완료되면 완료가 되었다고 파악하고 싶다.

 

두 가지 요구사항이 있었고, 해당 내용을 기반으로 로직 설계 및 개발을 진행하였다.

 

일단 로직에 대해서 간단하게 설명해보겠다.

 

1. 운영자는 서버에게 환불신청을 요청한다.

2. 서버는 유저에게 설문지 URL이 포함된 알림톡을 전송한다.

3. 유저가 설문지 작성이 완료되면 TypeForm을 통해서 설문지 작성완료 webhook을 받게된다.

4. 서버는 환불신청건을 찾아서 PG사에 환불 요청을 한다.

5. 환불이 완료 되었다고 슬랙 메세지를 전송한다.

 

 

1. 일단 설문지 폼을 TypeForm으로 변경하였다.

TypeForm의 경우 webhook을 지원하기 때문에, 유저가 설문지를 완료 했을 경우 우리 서버에 완료 되었다고 리퀘스트를 쏴줄 수 가 있다.  TypeForm의 webhook을 사용하면 수시로 설문지를 체크하는 수동로직이 사라질 것이라고 판단하였다. 또한 Webhook에서 설문지 내용도 받을 수 있어 대략적으로 잘 작성 되었는지 확인 할 수 있을 것이라고 생각하였다.

 

+ 추가로 webhook으로 들어오는 요청 중 설문지 오류 or 작성 오류가 들어올 가능성이 있어  slack 메세지로 알려 운영팀이 파악할 수 있도록 해주었고, 수동으로 환불 절차진행을 할 수 있도록 개발을 진행 하였다.

 

2. 알림톡에 설문지 링크를 넣어서 설문지가 자동으로 나가도록 하였다.

알림톡에는 URL링크를 넣을 수 있는 버튼폼이 존재한다. 버튼 폼에 TypeForm URL 을 넣어서 버튼 클릭 시 해당 설문지로 연결되도록 하였다.  이렇게 알림톡에 설문지 링크를 넣게 되어 발송하게 되면 운영팀은 기존 보다 쉽게 유저에게 설문지 링크를 전송 할 수 있고, 유저는 단순히 설문지 링크를 덜렁 하나 받는것보다 환불 안내 관련 내용이 적힌 알림톡을 받게 되니 보다 더 좋은(?) 경험을 할 수 있지 않을까 판단하여 변경을 진행하였다.

 

3. webhook을 이용하여 자동으로 환불 되도록 개발 하였다.

운영자가 서버에 환불요청을 하게 될때, 환불요청 테이블을 만들어 주문 번호와 환불 해 줄 금액을 같이 적어 insert 하도록 하였다. 유저가 설문지 작성을 완료하면 webhook을 통해 작성완료 요청이 들어오게 되고, 이 때 환불 요청 테이블에서 해당 하는 데이터를 찾아 주문번호와 환불 해줄 금액을 이용하여 PG사에 요청하여 환불하도록 하였다. 그 후 환불이 완료되면 slack 메세지를 전송하여 환불이 완료 되었다고운영팀에 알리도록 개발을 하였다.

 

그럼 위와 같은 환불 자동화 설계 실제로 사용자들은 만족해 했을까?

 

다행히 운영팀 모두 만족해 해주셨다.

 

환불 설문지를 작성했는데 왜 돈을 안돌려주냐 라는 인입 메세지나 전화도 줄어들었고, 매번 설문지 작성이 완료되었는지 수시로 확인하고 하는 등 손이 가는 작업이 많았었는데, 어드민 페이지에서 환불요청하기 버튼만 클릭하면 설문지 전송 및 환불까지 자동으로 해주고 환불 완료 메세지만 보면 되니 운영 리소스가 확실히 감소했다는 피드백을 받았다.

 

모두 만족해 해주시고, 감사하다고 해주시니 아주 뿌듯하였다