ResultCallback(결제 결과 Callback)
ResultCallback이란 무엇인가요?
ResultCallback
은 토스 서버에서 가맹점 서버로 결제 결과를 안전하게 전달하는 서버 간 통신 방식입니다.
ResultCallback은 왜 사용해야 하나요?
- retUrl은 단순히 사용자 브라우저를 리다이렉트하는 용도로, 결제 성공 여부를 토스에서 보장할 수 없습니다.
- 사용자가 중간에 이탈하거나 네트워크 문제가 발생하면, 결제 상태를 알 수 없는 경우가 생깁니다.
ResultCallback
은 서버 to 서버로 결과를 전달하므로 데이터 유실이 없고 안전한 통신 방식으로 결제 상태를 정확히 확인할 수 있습니다.
반드시 ResultCallback을 사용해야 하나요?
자동 승인 설정(autoExecute=true)
인 경우, 반드시 ResultCallback을 구현해야 합니다.- 결제 상태의 정확한 확인을 위해 모든 가맹점에서
ResultCallback
사용을 권장합니다.
ResultCallback이 실패할 수 있는 이유는 무엇인가요?
가맹점 서버 문제
- 서버가 다운되거나, 지나치게 많은 트래픽으로 인해 요청을 처리하지 못하는 경우
- 개발 중 발생한 버그로 인해 콜백 요청이 정상적으로 처리되지 않을 수 있습니다.
네트워크 이슈
- 가맹점 서버와 토스 서버 간의 연결 문제로 요청이 실패할 수 있습니다.
방화벽 이슈
- 가맹점 서버가 특정 IP나 도메인의 접근을 차단하는 경우, 요청을 받을 수 없습니다.
실패한 콜백 재시도 정책
토스 서버는 실패한 콜백 요청을 최대 4번까지 재시도합니다.
재시도 간격
- 최초 실패 후 3분 간격으로 재시도 진행.
- 최종 재시도는 17분 이내에 이루어집니다.
안심 포인트
콜백 요청 실패가 발생해도, 토스 서버에서 가맹점 서버로 재전송을 보장합니다.