2013-02-14 30 views
0

我原本以爲我的IPN腳本從沙箱用戶生成的事務發送時根本沒有收到任何發佈數據,但數據實際上,這個數組與IPN模擬器相比,每個變量只有不同的鍵名。我在谷歌搜索,但沒有真正能夠找到任何人有同樣的問題或解決方案。IPN發佈數據,來自IPN模擬器和實際購買的提交包含不同的密鑰名稱

我注意到,在用戶事務的發佈數據中,它有一個未設置的「版本」變量,你認爲IPN模擬器使用的是給出不同名稱的更高版本嗎?

以前有沒有人遇到過這個問題,或者可能會對此有何看法?

這是從IPN模擬器發佈數據:

["test_ipn"]=> 
    string(1) "1" 
    ["payment_type"]=> 
    string(7) "instant" 
    ["payment_date"]=> 
    string(25) "22:58:32 Feb 13, 2013 PST" 
    ["payment_status"]=> 
    string(9) "Completed" 
    ["address_status"]=> 
    string(9) "confirmed" 
    ["payer_status"]=> 
    string(8) "verified" 
    ["first_name"]=> 
    string(4) "John" 
    ["last_name"]=> 
    string(5) "Smith" 
    ["payer_email"]=> 
    string(23) "[email protected]" 
    ["payer_id"]=> 
    string(13) "TESTBUYERID01" 
    ["address_name"]=> 
    string(10) "John Smith" 
    ["address_country"]=> 
    string(13) "United States" 
    ["address_country_code"]=> 
    string(2) "US" 
    ["address_zip"]=> 
    string(5) "95131" 
    ["address_state"]=> 
    string(2) "CA" 
    ["address_city"]=> 
    string(8) "San Jose" 
    ["address_street"]=> 
    string(15) "123, any street" 
    ["business"]=> 
    string(24) "[email protected]" 
    ["receiver_email"]=> 
    string(24) "[email protected]" 
    ["receiver_id"]=> 
    string(13) "TESTSELLERID1" 
    ["residence_country"]=> 
    string(2) "US" 
    ["item_name"]=> 
    string(9) "something" 
    ["item_number"]=> 
    string(7) "AK-1234" 
    ["quantity"]=> 
    string(1) "1" 
    ["shipping"]=> 
    string(4) "3.04" 
    ["tax"]=> 
    string(4) "2.02" 
    ["mc_currency"]=> 
    string(3) "USD" 
    ["mc_fee"]=> 
    string(4) "0.44" 
    ["mc_gross"]=> 
    string(5) "12.34" 
    ["mc_gross_1"]=> 
    string(4) "9.34" 
    ["txn_type"]=> 
    string(10) "web_accept" 
    ["txn_id"]=> 
    string(8) "32214658" 
    ["notify_version"]=> 
    string(3) "2.1" 
    ["custom"]=> 
    string(6) "xyz123" 
    ["charset"]=> 
    string(12) "windows-1252" 
    ["verify_sign"]=> 
    string(56) "A2O3KRKURYa65AG.dmp.MoIqMpDwAmL2IgMH3fAcOss.ur6ERwozl2ty" 
} 

這裏是從我的交易上的沙盒帳戶中的數據:

["transaction%5B0%5D.is_primary_receiver"]=> 
    string(4) "true" 
    ["transaction%5B0%5D.id_for_sender_txn"]=> 
    string(17) "5SF603183Y786454Y" 
    ["log_default_shipping_address_in_transaction"]=> 
    string(5) "false" 
    ["transaction%5B0%5D.receiver"]=> 
    string(37) "[email protected]" 
    ["action_type"]=> 
    string(3) "PAY" 
    ["ipn_notification_url"]=> 
    string(45) "http://portal.derp.com.au/ipn.php" 
    ["transaction%5B1%5D.paymentType"]=> 
    string(7) "SERVICE" 
    ["transaction%5B0%5D.amount"]=> 
    string(10) "AUD 199.00" 
    ["charset"]=> 
    string(12) "windows-1252" 
    ["transaction_type"]=> 
    string(20) "Adaptive Payment PAY" 
    ["transaction%5B1%5D.id_for_sender_txn"]=> 
    string(17) "60334361SH094251D" 
    ["transaction%5B1%5D.is_primary_receiver"]=> 
    string(5) "false" 
    ["transaction%5B0%5D.status"]=> 
    string(9) "Completed" 
    ["notify_version"]=> 
    string(11) "UNVERSIONED" 
    ["transaction%5B0%5D.id"]=> 
    string(17) "8WL542056F860892D" 
    ["cancel_url"]=> 
    string(38) "http://portal.derp.com.au/" 
    ["transaction%5B1%5D.status_for_sender_txn"]=> 
    string(9) "Completed" 
    ["transaction%5B1%5D.receiver"]=> 
    string(37) "[email protected]" 
    ["verify_sign"]=> 
    string(56) "An5ns1Kso7MWUdW4ErQKJJJ4qi4-A-p4knnXsUdoGkBReiFAIhHXAyN9" 
    ["sender_email"]=> 
    string(36) "[email protected]" 
    ["fees_payer"]=> 
    string(12) "EACHRECEIVER" 
    ["transaction%5B0%5D.status_for_sender_txn"]=> 
    string(9) "Completed" 
    ["return_url"]=> 
    string(53) "http://portal.derp.com.au/?p=paypalreturn" 
    ["transaction%5B0%5D.paymentType"]=> 
    string(7) "SERVICE" 
    ["transaction%5B1%5D.amount"]=> 
    string(9) "AUD 10.00" 
    ["reverse_all_parallel_payments_on_error"]=> 
    string(5) "false" 
    ["tracking_id"]=> 
    string(9) "9ZZVg7JNp" 
    ["transaction%5B1%5D.pending_reason"]=> 
    string(4) "NONE" 
    ["pay_key"]=> 
    string(20) "AP-6P166651K3308681V" 
    ["transaction%5B1%5D.id"]=> 
    string(17) "66117669L4710640J" 
    ["transaction%5B0%5D.pending_reason"]=> 
    string(4) "NONE" 
    ["status"]=> 
    string(9) "COMPLETED" 
    ["transaction%5B1%5D.status"]=> 
    string(9) "Completed" 
    ["test_ipn"]=> 
    string(1) "1" 
    ["payment_request_date"]=> 
    string(28) "Wed Feb 13 22:41:09 PST 2013" 
} 
+0

我剛剛讀到,使用自適應付款時,數據會返回到子數組中,如同transaction [0] .amount,事務[1] .amount等,變量名稱仍然不匹配例如txn_id被稱爲transaction_id,但我現在可以工作:P如果有人知道爲什麼變量名稱不同,我很想知道! :P – KrizOne 2013-02-14 08:30:58

回答

0

你在正確的方向前進。這取決於您嘗試模擬的IPN的類型。 IPN模擬器已經存在一段時間了,它在Adaptive Payments之前已經出現了。所以它不會生成一個來自自適應支付的IPN POST。這可能會在事後得到實施,但目前這不允許您通過它來模擬AP事務。如果您想通過適應性付款測試IPN,則您需要通過流程並使用測試沙箱買方帳戶向您的測試沙盒賣方帳戶付款。 IPN模擬器返回您將通過DoDirectPayment API,Web Accept等發現的變量。