我正在嘗試使用paypal ipn讓會員在我的網站上購買高級會員使用立即購買按鈕。當我第一次嘗試時,它根本不起作用。經過一些更改後,我能夠成功接收付款。唯一的問題是假設通過ipn進入我的數據庫的數據是...不知怎的,不對。電子郵件地址是正確的,但txn_id錯了,沒有插入日期。事務結束時提供的事務ID與插入到我的數據庫中的ID不匹配。php paypal ipn奇怪的回調值
即使事務已完成,它仍會將我發送到return_cancel url。
表columns- ID(自動遞增),txn_id(PayPal交易ID),電子郵件
// assign posted variables to local variables
$txn_id = $_POST['txn_id'];
$payer_email = $_POST['payer_email'];
$user_id = mss($_POST['custom']); //user id
$curdate = date("Y-m-d H:i:s");
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
$update_prem = mysql_query("UPDATE `users` SET `accountype` = '2' WHERE `users`.`id` ='".$user_id."'");
$log_query=mysql_query("INSERT INTO `log` (`id`, `txn_id`, `date`, `email`) VALUES ('','".$txn_id."', '".$curdate."','1".$payer_email."')");
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
$log_query=mysql_query("INSERT INTO `pplog` (`lid`, `txn_id`, `date`, `email`) VALUES ('','".$txn_id."', '".$curdate."','000".$payer_email."')");
}
}
fclose ($fp);
}
而且在那裏說的代碼(採購員) '1" 。$ PAYER_EMAIL。「' 和」 000「。$ payer_email。」',我曾經讓我知道如果記錄的值是一個有效或無效的日誌。前幾次,它記錄了兩次,然後我想出了它爲什麼這樣做,但現在它記錄了一次,但只是「」。$ payer_email。「'???
我現在收到了電子郵件問題。唯一剩下的就是爲什麼paypal在交易完成後返回INVALID?這是因爲它的PayPal沙盒的東西?
有沒有人知道這可能是什麼原因,或者有誰有這個問題呢?
許多可能性與很少的信息有很好的發揮與貝寶沙箱 – 2011-07-09 04:24:42
你可以給一些可能性?我已經檢查了語法,我在我的PayPal帳戶中啓用了ipn,並且在具有paypal buy now按鈕的表單中,我真的迷失在這裏。 – cbr0wn
什麼會導致事務完成,但返回無效? – cbr0wn