PayPal在成功返回后获得params

时间:2013-03-29 03:30:16

标签: paypal return params

我目前正在将PayPal实现为文章订阅的表单,下面的代码运行正常,直接到paypal网页屏幕并处理交易。

如果我想在交易成功后取回某些参数?从paypal重定向到返回的网址后,我尝试了回显$_REQUEST['custom']$_REQUEST['email']$_REQUEST['a3']$_REQUEST['p3'],但只显示了$_REQUEST['custom'],我怎样才能获得这些为了进一步的过程而回归?

<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="someone_1360103868_biz@sitename.com">
    <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>

3 个答案:

答案 0 :(得分:2)

我找到的一种方式:

尝试将此字段插入生成的表单代码中:

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

rm 表示 返回方法 ;

2 表示 (帖子)

在用户购买并返回您的网站网址后,该网址也会获取POST参数

P.S。如果使用php,请尝试在您的返回网址(脚本)中插入var_dumy($_POST);,然后进行测试购买,当您返回到您的网站时,您会看到您的网址上有哪些变量。

答案 1 :(得分:0)

如果您在出路时记录它们,即在提交到Paypal之前,尝试取回信息是没有必要的。例如,最好记录所有尝试,以便您可以跟进失败的交易,即:有卡问题的用户,代码中的错误等等。

如果您使用的是“好”的购物车,则已包含在内。因此,当有人完成并提交订单时,您的购物车会添加记录并生成新的订单号(ID号)。然后,提交给Paypal的表单可以包含该ID号,因此您在成功交易后需要检索的所有内容都是该ID号,然后您可以通过编程方式更新已付款的订单,并在线提供从您的数据库表填充的可打印收据

要做到这一点,您需要做的就是检索请求(“item_number”)

答案 2 :(得分:0)

您希望如何将信息返回到您的网站。您是否希望它返回到您网站上的返回页面,以便您可以将其显示给您的买家,或者您只是希望它返回到您的系统以更新数据库。如果您希望mbuyer在返回页面上看到这一点,您可能希望使用返回方法,其中使用变量“rm”并在按钮代码中传递返回URL。您可以为此方法使用POST,也可以使用PDT,这将是一个GET方法。 PDT还允许您根据PayPal验证数据。然后是IPN,不会向买方展示。这将用于udpating您的数据库。请参阅我发布的帖子here,因为这可能会有一些更有用的信息。