2013-10-31 84 views
2

我正在使用PayPal的IPN模擬器測試我的IPN監聽器。每次我發送IPN時,都會返回「無效」。我無法弄清楚爲什麼。盡我所能告訴我的原始發佈數據以及我發回PayPal進行驗證的數據是完全相同的。唯一的區別是URL編碼和添加的cmd=_notify-validatePayPal 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

該字符串在編碼之前未被解碼;)