2010-10-27 160 views
7

我已經搜索了超過4小時的付款後,如何使用PayPal進行回叫。貝寶付款回撥

問題是,我有一個網站出售LAN Party的門票,唯一的付款方式是使用PayPal。
這裏是我的PayPal購買按鈕代碼:

<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="add" value="1"> 
<input type="hidden" name="cmd" value="_cart"> 
<input type="hidden" name="business" value="_MY_PAYPAL_EMAIL_"> 
<input type="hidden" name="item_number" value="<?php echo mktime(); ?>"> 
<input type="hidden" name="cn" value="<?php echo $_SESSION['userid']; ?>"> 
<input type="hidden" name="return" value="http://80.202.213.240/apps/tickets/buy/success/" /> 
<input type="hidden" name="cancel_return" value="http://80.202.213.240/apps/tickets/buy/cancelled/" /> 
<input type="hidden" name="notify_url" value="http://80.202.213.240/apps/tickets/buy/ipn/" /> 
<input type="hidden" name="lc" value="NO"> 
<input type="hidden" name="item_name" value="BitHack - Standard Ticket"> 
<input type="hidden" name="amount" value="100.00"> 
<input type="hidden" name="currency_code" value="NOK"> 
<input type="hidden" name="no_shipping" value="1"> 
<input type="hidden" name="button_subtype" value="Tickets"> 
<input type="hidden" name="add" value="1"> 
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest"> 
<input type="submit" value="Add to Cart" class="ticketShowButton submit" title="Payment via PayPal"> 

的信息應該然後插入到數據庫中,我已經完成的那部分。 只需要回調系統工作。 任何人都知道任何好回調腳本的例子?

順便說一句,是否有可能使用自定義輸入?

回答

10

return和notify url變量中指定的回調函數是程序員的責任。爲什麼?因爲每個網站都有自己的訂單表格結構。試試這個作爲指導:

在您的貝寶個人資料設置您的首選項後訂單自動重定向。您還需要設置默認返回網址。如果您忘記在您的訂單表單或發送到PayPal的查詢字符串中指定返回網址,則會使用此功能。

下一步,設置您的RM字段/變量設置爲「2」(這將告訴貝寶API的順序後autoredirect來回報您的網址,並通過在POST格式訂單的相關信息)

您可以查看從響應PayPal通過執行var_dump($ _ POST)或print_r($ _ POST)。

響應的重要變量之一是$ _POST ['payment_status'],它會告訴您訂單的結果。成功的交易是'已完成'。需要從PayPal或商家方驗證的交易是「待處理」。

最後,別忘了在PayPal欄位/要求中指定'發票',以便更新訂單狀態。像這樣:

$status = $_POST['payment_status']; 
$invoice = $_POST['invoice']; 
mysql_query("UPDATE Orders SET status='$status' WHERE order_id='$invoice'"); 

我知道這是不好的代碼,但至少你得到它的最簡單形式的一般想法。

再次,不要依賴其他的代碼。網中的代碼僅供參考,不作爲上帝的手工。只有你有能力創造你自己的傑作:D

我希望有所幫助。如果你喜歡,請投票。如果不是,請忽略。

+0

是'$ _POST'安全嗎?當沒有付款的人發生什麼事情時,發送'payment_status = 1'到回叫網址? – Cooper 2016-01-14 20:09:48

1

商業,但低成本的解決方案是LinkLokIPN腳本在:

http://www.vibralogix.com/linklokipn/

無不是的PHP版本,一個滿意的客戶等連接。有時購買(或者改編)工作解決方案比重新發明車更容易。

+0

謝謝,請看看。 – NoobiCake 2010-10-27 01:17:21