6월, 2014의 게시물 표시

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

나는 페이팔의 결제 시스템을 사용하고 있다. 페이팔 결제가 이뤄지면 페이팔 서버는 내 서버로 IPN이라는 메시지를 POST 형식으로 전송해주고 이 메시지를 받는 서버에서는 이 메시지를 검증한 후 적절히 결제 후 과정을 처리해주면 된다. 페이팔의 IPN 메시지를 처리하는 소스코드는 페이팔 개발자 사이트에서 쉽게 구할 수 있으므로 생략한다. 그런데 말이다. 페이팔에서 이 메시지를 안보내주는 경우가 발생했다. 몇 년간 문제없이 작동했으므로 소스코드상의 문제는 절대 아니다. 페이팔에 로그인. IPN History를 조회해 보면 분명 보냈다고 나옴에도 불구하고 재전송 버튼을 눌러도 내 서버에는 메시지가 안오는 황당한 경우였다. 유효한 메시지든 아니든 일단 서버의 해당 주소가 트리거되면 가장 먼저 나에게 메일을 보내고나서 처리하도록 프로그램되었으므로 내 서버는 아예 메시지를 받지 못한 것이다. 네트워크의 문제인가? 정확한 원인은 알 수 없다. 긴급해결 방안으로 다음과 같이 처리했다. 페이팔의 IPN 항목으로부터 해당 메시지의 파라미터 값을 복사할 수 있다. 이 메시지의 내용을 그대로 내 서버의 주소로 POST 전송해주는 프로그램을 하나 만든다. 실행. 정상 처리됨. 끝. 자바에서 POST 메시지를 전송하는 소스크드는 검색만 할줄 알면 누구나 쉽게 구할 수 있으므로 생략한다.