2013-10-31 2 views
2

PayPal의 IPN 시뮬레이터를 사용하여 IPN 수신기를 테스트하고 있습니다. 매번 IPN을 보내면 'INVALID'가 반환됩니다. 나는 이유를 알 수 없다. 최선을 다해서 원본 게시물 데이터와 유효성 확인을 위해 PayPal로 보내는 데이터를 동일하게 말할 수 있습니다. 유일한 차이점은 URL 인코딩이고 추가 된 것은 cmd=_notify-validate입니다.PayPal IPN이 항상 유효하지 않음

residence_country=US&invoice=abc1234&address_city=San+Jose&first_name=John&payer_id=TESTBUYERID01&mc_fee=0.44&txn_id=923817247&receiver_email=seller%40paypalsandbox.com&custom=xyz123&payment_date=07%3A44%3A50+31+Oct+2013+PDT&address_country_code=US&address_zip=95131&item_name1=something&mc_handling=2.06&mc_handling1=1.67&tax=2.02&address_name=John+Smith&last_name=Smith&receiver_id=seller%40paypalsandbox.com&verify_sign=ADrwWMGU4CgA.e78xLpNtVihnEe2AKdWo1wY-lMkTec9.xajg4zK.uvs&address_country=United+States&payment_status=Completed&address_status=confirmed&business=seller%40paypalsandbox.com&payer_email=buyer%40paypalsandbox.com&notify_version=2.4&txn_type=cart&test_ipn=1&payer_status=verified&mc_currency=USD&mc_gross=15.34&mc_shipping=3.02&mc_shipping1=1.02&item_number1=AK-1234&address_state=CA&mc_gross1=12.34&payment_type=instant&address_street=123%2C+any+street 

내 검증 데이터 :

cmd=_notify-validate&residence_country=US&invoice=abc1234&address_city=San%252BJose&first_name=John&payer_id=TESTBUYERID01&mc_fee=0.44&txn_id=923817247&receiver_email=seller%252540paypalsandbox.com&custom=xyz123&payment_date=07%25253A44%25253A50%252B31%252BOct%252B2013%252BPDT&address_country_code=US&address_zip=95131&item_name1=something&mc_handling=2.06&mc_handling1=1.67&tax=2.02&address_name=John%252BSmith&last_name=Smith&receiver_id=seller%252540paypalsandbox.com&verify_sign=ADrwWMGU4CgA.e78xLpNtVihnEe2AKdWo1wY-lMkTec9.xajg4zK.uvs&address_country=United%252BStates&payment_status=Completed&address_status=confirmed&business=seller%252540paypalsandbox.com&payer_email=buyer%252540paypalsandbox.com&notify_version=2.4&txn_type=cart&test_ipn=1&payer_status=verified&mc_currency=USD&mc_gross=15.34&mc_shipping=3.02&mc_shipping1=1.02&item_number1=AK-1234&address_state=CA&mc_gross1=12.34&payment_type=instant&address_street=123%25252C%252Bany%252Bstreet 

내가 내 수신기에 사용되는 코드는 거의 페이팔 https://github.com/paypal/ipn-code-samples에서 제공하는 샘플 코드와 동일한 여기

내 원시 포스트 데이터입니다 특정 서버 환경에서 작동하도록 몇 가지 수정 사항 만 있습니다.

왜 이것이 유효하지 않은 아이디어입니까?

+1

다시 인코딩하기 전에 데이터를 디코딩하고 있습니까? 두 줄의 거리를 살펴 보면 두 번 인코딩 된 것처럼 보입니다. –

+0

좋은 캐치. 그거였다. 문자열을 해독 할 줄은 실제로 인코딩입니다. 내가 놓친 잘못된 자동 완성이었을 것입니다. 감사. 대답을 답변으로 게시하면 나는 그것을 올바르게 표시 할 것입니다. –

+0

어떻게 IPN 원시 게시물 데이터를 얻을 수 있습니까? 데이터를 유효성 검증 데이터와 비교하고 싶습니다. @DavidNguyen – FarrisFahad

답변

1

문자열이 인코딩되기 전에 디코딩되지 않습니다.)

관련 문제