오늘 갑작스럽게 고객으로부터 온라인 결제가 안된다는 연락을 받았습니다. 전날, Authorize.net에서 Transaction Key를 다시 받아서 세팅한게 있었고 이와 관련된 문제인줄 알았습니다. 고객에게 어제 진행했던 내용을 전화로 설명하며, 다시 한번 관련 정보를 업데이트를 했는데, 동일한 문제가 발생했습니다. 마침 외근이 있어 막 나온 참이었고, 미팅 후 바로 장례식장에 가야해서 별도로 노트북을 들고 나오지 않은게 화근이었습니다. 디버깅을 제대로 할 수 있는 환경이 아니었기 때문입니다.

고객은 중간 중간 상황에 대해 설명했고 다른 파트너분에게 Assign하여 해당 이슈를 Follow up 하게 하였지만, 해결이 안되었습니다.

문제는 웹사이트(Magento 1으로 제작)에서는 결제가 안되지만 실제 Authorize.net의 트랜잭션 정보에는 결제가 되고 있었습니다. 사이트에서 결제가 안되니 오더가 들어오지 않지만 실제로는 카드 결제가 되고 있었고, 고객은 영문을 모른체 같은 결제를 여러 차례 반복하고 있었습니다.

몇시간 동안 파트너분이 Follow up 했지만, 해결이 안된 상태.

장례식장에 갔다가 돌아와 무거운 마음으로 디버깅을 시작하려던 때, 오더가 다시 들어오고 있었습니다.

어쨌든 변경된 파일이 없었기에, 원인을 찾아봐야 했습니다. Authorize.net 트랜젝션은 Empty Response를 반환하여 주문이나 캡쳐를 위해 예외를 생성합니다. 실제로 이 이슈는 마젠토 1의 알려진 버그 중 하나였지만, 해당 고객의 마젠토 버젼에서는 이미 수정이 완료된 상태였습니다.

어쨌든, 오더는 정상적으로 들어오지만, 그 외 인보이스 만들 때 캡쳐 등의 결과값을 정상적으로 리턴하지 못하고 에러가 발생하는 문제(실제 Authorize.net에서는 캡쳐가 되지만)가 있었기에, Manually 예외 처리 부분을 추가해서 이 문제를 해결하였습니다.

실제 이 문제는 사이트나 서버의 문제로 발생한게 아니라 Authorize.net에서 발생한 문제입니다. Authorize.net이 다시 응답하면서 오더가 정상 처리 되었기 때문입니다.

이런 문제가 발생하면 난감한게, 고객은 해당 이슈의 원인이 서버나 메인터넌스를 담당하고 있는 우리로 인해 문제가 발생했다고 생각하기 때문입니다.

찾아보니 24시간 동안 같은 시간대에 실제 같은 문제를 호소한 사례가 있었습니다.

https://downdetector.com/status/authorize-net

어쨌든, 이런 일이 발생하면, 고객 입장에서 생각하게 되는데, 그 동안 발을 동동거렸을 고객사 담당자분을 생각하면 마음이 좋지 않습니다. 실제 6시간 40여분 정도 해당 이슈로 정상적인 주문 처리가 이루어지지 않았기 떄문입니다. 고객사 담당자분은 소셜 미디어 채널을 통해 고객들에게 사이트 문제에 대해 솔직하게 어나운스 하고 이해와 양해를 당부했지만 고객들의 불만은 상당했을 겁니다.

서비스 안정화가 요근래 화두입니다.

사실 이런 서비스 장애 문제는 언제든 발생할 수 있습니다. 앞으로 이런 문제 발생시 더 빠른 대처가 가능 할 수 있도록 늘 준비되어야겠단 생각을 해봅니다.

0 Comments

Cancel