페이팔에서 IPN 메시지를 안보내줌

나는 페이팔의 결제 시스템을 사용하고 있다.
페이팔 결제가 이뤄지면 페이팔 서버는 내 서버로 IPN이라는 메시지를 POST 형식으로 전송해주고 이 메시지를 받는 서버에서는 이 메시지를 검증한 후 적절히 결제 후 과정을 처리해주면 된다.

페이팔의 IPN 메시지를 처리하는 소스코드는 페이팔 개발자 사이트에서 쉽게 구할 수 있으므로 생략한다.

그런데 말이다.
페이팔에서 이 메시지를 안보내주는 경우가 발생했다. 몇 년간 문제없이 작동했으므로 소스코드상의 문제는 절대 아니다.
페이팔에 로그인. IPN History를 조회해 보면 분명 보냈다고 나옴에도 불구하고 재전송 버튼을 눌러도 내 서버에는 메시지가 안오는 황당한 경우였다. 유효한 메시지든 아니든 일단 서버의 해당 주소가 트리거되면 가장 먼저 나에게 메일을 보내고나서 처리하도록 프로그램되었으므로 내 서버는 아예 메시지를 받지 못한 것이다.
네트워크의 문제인가? 정확한 원인은 알 수 없다.

긴급해결 방안으로 다음과 같이 처리했다.
페이팔의 IPN 항목으로부터 해당 메시지의 파라미터 값을 복사할 수 있다. 이 메시지의 내용을 그대로 내 서버의 주소로 POST 전송해주는 프로그램을 하나 만든다.
실행.
정상 처리됨.
끝.

자바에서 POST 메시지를 전송하는 소스크드는 검색만 할줄 알면 누구나 쉽게 구할 수 있으므로 생략한다.



댓글

이 블로그의 인기 게시물

자바 암호화 확장 (JCE) 관련 자바 1.8.0_151 이후 변경 사항

좌표 변환: 회전 이동

HTTP POST