2014-01-25 82 views
1

我正在使用我的網站的PayPal支付網關付款。PayPal返回與產品ID陣列

在這裏我要喜歡,我可以送產品編號那些我想要購買的清單功能。 成功付款後,我想這些所有的ID,以便我可以更新我的數據。 我無法使用IPN,因爲它已經用於其他網站。

下面是我的貝寶的HTML表單..

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
      <input type="hidden" name="cmd" value="_xclick"> 
      <input type="hidden" name="business" value="[email protected]"> 
      <input type="hidden" name="item_name" value="PAYMENT REASON"> 
      <input type="hidden" name="amount" value="10"> 
      <input type="hidden" name="quantity" value="1"> 
      <input type="hidden" name="no_shipping" value="0"> 
      <input type="hidden" name="no_note" value="1"> 
      <input type="hidden" name="currency_code" value="USD"> 
      <input type="hidden" name="lc" value="MX"> 
      <input type="hidden" name="bn" value="PP-BuyNowBF"> 
      <input type="hidden" name="notify_url" value="http://localhost/paypal/notify.php"> 
      <input type="hidden" name="return" value="http://localhost/paypal/success.php"> 
      <input type="hidden" name="rm" value="2"> 
      <input type="hidden" name="cbt" value="Return to The Store"> 
      <input type="hidden" name="cancel_return" value="http://localhost/paypal/fail.php"> 
      <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but6.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> 
      <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
     </form> 

我success.php 但它返回空數組寫了下面的代碼。即使我沒有得到交易ID。

請幫我實現這一點。謝謝

+0

我不認爲你可以使用http:// localhost /。 您必須將其上傳到服務器並嘗試。 –

+0

它在localhost的工作正常。 Internet連接在我的系統上。唯一的問題是獲取發佈數據。 –

回答

0

只有一個參數,您可以使用與網站付款標準,這就是「自定義」自定義數據。

只需在您自定義的數據傳遞

<輸入類型=「隱藏」名稱=「自定義」值=「這裏自定義數據」 >

在自定義的數據,首先添加的產品ID作爲一個逗號分隔的字符串,然後您將在成功付款後返回。

您可以通過使用PayPal IPN(https://www.paypal.com/ipn/)通過PayPal PDT(https://www.paypal.com/pdt/)輪詢或通過PayPal獲取POST'ed給您的數據來檢索'custom'的值。

但是你已經提到,您不能使用IPN。所以請代替PDT。

0

PDT不是更新數據庫的推薦方式。即使啓用了自動返回功能,用戶也不能保證將其返回到您的網站。在這些情況下,返回頁面將永遠無法到達,並且該代碼永遠不會運行,從而使數據庫不需要它的更新。

您可以將IPN用於多個PayPal賬戶。您只需使用notify_url參數指定要在特定結帳中用於IPN的唯一URL。

關於這一點我看你已經包括在你的代碼的notify_url參數在這裏,但你使用本地主機它。這是行不通的,因爲PayPal的服務器將數據發送到該URL。這樣,「localhost」就是他們自己的服務器。

你需要爲測試目的要做的就是用你的公網IP地址或設置一個域名解析到你的IP地址,以便您可以使用它作爲您的IPN的網址,而不是本地主機。

那麼,同樣,你可以根據需要使用許多不同的IPN的網址與單個帳戶。根據您正在設置的結帳,只需將notify_url設置爲您需要使用的那個即可。