1

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

如果我想在交易成功后取回某些参数怎么办?我尝试了 echo $_REQUEST['custom'],并在从 paypal 重定向回返回的 url 后,但只是$_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>
4

3 回答 3

3

我发现的一种方法:

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

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

rm表示返回方法

2表示(帖子)

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

ps 如果使用 php,请尝试插入var_dumy($_POST);您的返回 url(脚本),然后进行测试购买,当您返回您的站点时,您将看到您的 url 上有哪些变量。

于 2013-09-25T12:43:26.523 回答
0

如果您在退出时记录它们,则无需尝试取回信息,即:在提交到 Paypal 之前。例如,记录所有尝试是个好主意,这样您就可以跟进失败的交易,即:用户有卡问题、代码中的错误等。

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

为此,您需要做的就是检索Request("item_number")

于 2013-03-29T03:46:02.933 回答
0

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

于 2013-03-29T12:50:32.083 回答