2013-03-29 97 views
1

我目前實現了PayPal進入物品訂閱的表單,下面的代碼運行良好,直接進入Pay​​Pal網頁並處理交易。PayPal獲得成功後返回參數

如何在交易成功後返回某些參數?我試過回顯$_REQUEST['custom'],$_REQUEST['email'],$_REQUEST['a3']$_REQUEST['p3']重定向從貝寶回到返回的網址,但只有$_REQUEST['custom']顯示,我怎麼能得到這些params進一步進程?

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_xclick-subscriptions"> 
    <input type="hidden" name="business" value="[email protected]"> 
    <input type="hidden" name="email" value="<?php echo $BuyerEmail ?>"> 
    <input type="hidden" name="item_name" value="<?php echo $ProdDesc ?>"> 
    <input type="hidden" name="item_number" value="1"> 
    <input type="hidden" name="no_shipping" value="1"> 
    <input type="hidden" name="rm" value="2"> 
    <input type="hidden" name="return" value="http://sitename.com/return.php?msg=Transaction+Complete"> 
    <input type="hidden" name="cancel_return" value="http://sitename.com/return.php?msg=Transaction+Canceled"> 
    <input type="hidden" name="notify_url" value="http://sitename.com/notify.php"> 
    <input type="hidden" name="no_note" value="1"> 
    <input type="hidden" name="currency_code" value="<?php echo $Currency ?>"> 
    <input type="hidden" name="lc" value="US"> 
    <input type="hidden" name="custom" value="<?php echo $RefNo ?>"> 
    <input type="hidden" name="a3" value="<?php echo $Amount ?>"> 
    <input type="hidden" name="p3" value="<?php echo $Duration ?>"> 
    <input type="hidden" name="t3" value="M"> 
    <input type="hidden" name="src" value="1"> 
    <input type="hidden" name="sra" value="1"> 
    <input type="submit" name="Submit" value="Pay now"> 
</form> 

回答

0

試圖找回信息是沒有必要的,如果你記錄他們的出路,即:在提交到貝寶之前。例如,記錄所有嘗試的次數是一個不錯的主意,以便您可以跟進失敗的交易,即:用戶有卡片問題,代碼中存在錯誤等。

如果您使用的是「良好」購物車,已經包括在內。所以當有人完成並提交訂單時,您的購物車會添加記錄並生成一個新的訂單號(ID號)。然後,提交給PayPal的表單可以包含該ID號碼,因此,在成功交易之後需要檢索的所有內容都是該ID號碼,然後您可以通過編程方式將訂單更新爲付費並在線提供可打印的收據,該收據從數據庫表。

要做到這一點,所有你需要做的就是找回請求(「ITEM_NUMBER」)

0

你是如何想的信息返回到您的網站。您是否希望它返回到您網站的返回頁面,以便您可以將其顯示給您的買家,或者您只是想讓它返回到您的系統來更新數據庫。如果您想讓mbuyer在返回頁面上看到這一點,您可能想要使用返回方法,在該方法中使用變量「rm」並傳遞按鈕代碼中的返回URL。您可以對此方法使用POST,也可以使用PDT,這將成爲GET方法。 PDT還將允許您使用PayPal驗證數據。然後是IPN,這不會被買方愚弄。這將用於udpating你的數據庫。看到我的帖子我也做了here,因爲這可能有一些更有用的信息。

2

一個辦法,我發現:

嘗試這個字段插入到你的生成表單代碼:

<input type='hidden' name='rm' value='2'> 

RM意味着返回方法;

意味着(POST)

比用戶購買並返回到您的網站的網址後,則該網址獲取POST參數以及

附:如果使用php,請嘗試在您的返回URL(腳本)中插入var_dumy($_POST);,然後進行測試購買,當您返回到您的網站時,您會看到您的網址上有哪些變量。