2013-06-24 17 views
-1

我已經成功地使PayPal的IPN連接到我的ipn.php,然後將部分IPN數據像payment_status和payer_email存儲到我的數據庫的表列中。如果可能的話,我想要的是將主要(非連接的)IPN字符串存儲到數據庫中的一行中。那可能嗎?到目前爲止,我是成功的,因爲StackOverflow。我希望你也能幫助我。我有一個名爲IPNLogs的列,它存儲了我從PayPal獲得的每個IPN字符串。我會用它來跟蹤問題報告。不要問我爲什麼這樣或者給我另外的選擇跟蹤請求,我需要這種方式用於其他目的或使用。:)包括貝寶IPN整個返回數據到您的SQL'插入'

+0

你的問題是什麼?你正在給字符串列添加一個字符串值?您要存儲的字符串有多長時間,列類型是什麼? – tadman

+0

**我試圖存儲整個IPN字符串。下面的例子是IPN字符串,有什麼方法可以存儲或插入到我的數據庫?所以,我可以檢查此充當IPNLog調查事務問題。** 陣列( 'mc_gross'=> '50 .00' , '稅'=> '0.00', 'PAYMENT_STATUS'=> '已完成', '量'=> '1', 'payment_fee'=> '', 'shipping_discount'=> '0.00', 'insurance_amount'=> '0.00', 'SHIPPING_METHOD'=> '默認', 'handling_amount'=> '0.00', 'payment_gross'=> '', '運輸'=> '0.00', 'ipn_track_id'=> 'asdaasdagasdwasd', ) – Jay

+0

如果是這樣的話,那麼你需要一個'TEXT'字段,而不是'VARCHAR'和某種方式將PHP數組序列化爲一個字符串。一種可行的方法是將其保存在數據庫中[如JSON](http://php.net/manual/en/book.json.php)。 – tadman

回答

-1

在你的「ipn.php」中,如果你使用curl來接收Paypal服務器的響應,那麼這裏是你的解決方案:

$ res = curl_exec($ ch); ...... $ query =「INSERT INTO payments (IPNLogs,......) VALUES ('$ res',......)」; ......

+0

呃哦,不,我不認爲我使用捲曲。下面的代碼工作,每當Paypal發送一個IPN字符串和我的ipn.php處理它時,它也會在我的服務器中創建一個文本文件,並且該文件包含整個IPN字符串。我希望能夠將它存儲在桌子上。 ** file_put_contents('IpnQuerryLog.txt',var_export($ _ POST,true)); ** – Jay

+0

您必須**轉義您放入查詢字符串的所有值。這是令人難以置信的糟糕。 – tadman