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