2012-05-11 2 views
3

현재 PHP에서 Paypal의 샌드 박스를 사용하여 IPN 스크립트를 테스트하고 있습니다.Paypal IPN 스크립트가 매번 두 번 치는 것이 정상입니까?

매번 두 번 때리는 것 외에는 문제가없는 것 같습니다. 스크립트가 실행되었음을 알기 위해 이메일 경고를 보내기 위해 맨 위에 몇 가지 코드를 넣었습니다. 나는 매 거래마다 그 경고를 두 번 받았다.

필자는이 스크립트를 제외한 모든 것을 주석으로 처리 할 수 ​​있으며, 두 번이나 열어 볼 수 있습니다. 따라서 문제는 내 IPN 스크립트에는 없지만 Paypal의 끝에있는 것일 수 있습니다.

PayPal의 계정에 설정이 잘못되었거나 정상적인 부분의 Paypal 작동에 대해 이해하지 못했거나 진행 상황이 있는지 여부를 모르겠다. 그래도 내 IPN 스크립트가 모든 트랜잭션에 대해 두 번 실행되지 않아야한다고 확신합니다.

내 IPN 스크립트에 두 번 치게되는 이유가 있습니까? 내가 할 수 있거나해야 할 일이 있습니까?


업데이트는 :

  1. 나는 더블 히트가 매번 발생하는 것을 확인했다.

  2. 내가 돌아 오는 두 개의 이메일에는 실제로 차이가 있습니다. 하나에는 payment_date 변수가 있고 두 번째 변수에는 subscr_date 변수가 있습니다. subscr_date 변수는 payment_date 다음에 몇 초 후에 설정됩니다.

이 모든 것을 일어나고있는 것으로 보인다 동안

이 여전히 이상한 인상을 받았는데, 내가 두 알림, 지불 하나, 그리고 가입 시작 하나를 얻고 있다는 것입니다. IPN 스크립트에 대한 나의 이해는 성공적인 결제를 기반으로 데이터베이스 (또는 다른 무엇)에서 변경 사항을 실행할 수 있도록하기위한 목적입니다. 그들이 매번 두 번 나를 때리기를 원한다면, 실행하려는 모든 변경 사항은 두 번 수행 될 것입니다. 분명히 이상적인 접근 방식은 아닙니다. 또한

, 고객이 를 구입 무엇 때문에이 가입, 그것은 그들이 다른 이름으로 나에게 매번 똑같은 약 2 알림을주는 것 같다. 또한 다소 이상합니다.

그래서 저는 여전히 정상적으로 작동하고 있으며 코드가 두 번 실행되는 것을 방지하기 위해 어떻게해야합니까?

+0

테스트를 위해 어떤 방법을 사용하십니까? PayPal에서 귀하에게 정확히 동일한 시간을 보내고있는 모든 변수가 있습니까? – animuson

+0

@animuson : 첫 번째 질문에 대답하는 방법을 모르겠다. Paypal의 "구독"버튼을 설정하고 Paypal (샌드 박스)로 결제 한 후 내 사이트. 귀하의 두 번째 질문에 관해서는, 내가 말할 수있는 한, 변수는 완전히 동일합니다. – Questioner

+0

테스트 방법에 따라 PayPal에서는 신용 카드, eCheck 등과 같이 어떤 "지불 유형"을 수동으로 지정할 수 있습니다. PayPal에서 가끔씩 두 번 보내는 경우와 당신이 할 수있는 일은 없지만 매번 두 번 * 보내지 마십시오. – animuson

답변

2

두 가지 IPN 이벤트가 발생합니다. 지불을 확인하려면 1을, 구독을 확인하려면 1을 누릅니다.

여기서 IPN 가입 이벤트 http://www.paypalobjects.com/en_US/ebook/subscriptions/notifications.html#1032718 및 IPN 가입 변수 http://www.paypalobjects.com/en_US/ebook/subscriptions/Appx-ipn_subscription_variables.html (표 A.2로 아래로 스크롤)을보고 각 유형에서 볼 수있는 내용을 확인하십시오.

예를 들어, 지불과 직접 관련이없는 가입 종료를 표시하는 IPN 이벤트도 있습니다.

+0

좋아요, 그럼이 말은 완벽하게 정상이라고 말하는 것입니다. 나는 이것이 내가 어떤 사건인지 알기 위해 시험해야한다는 것을 의미한다. 그런 다음 그것을 바탕으로 내 행동을 결정한다. – Questioner