2013-03-29 65 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);,然后进行测试购买,当您返回到您的网站时,您会看到您的网址上有哪些变量。