1

用户付款后,我想从贝宝获取用户 ID。

支付.php

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $merchant_email ?>">
<input type="hidden" name="item_name" value="IPN test">
<input type="hidden" name="item_number" value="1">
<input type="hidden" name="amount" value="0.01">
<input type="hidden" name="notify_url" value="<?php echo $ipn_url ?>">
<input type="hidden" name="return"     value="<?php echo $return_url ?>">
<input type="hidden" name="cancel_return" value="<?php echo $cancel_url ?>">
<input type="hidden" name="userid" value="888">
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif"
       border="0" name="submit" alt="Buy Now">

所以我会在我的贝宝帐户中启用 ipn 并指向http://www.domain.com/ipn.php

在 ipn.php 代码中

<?php
$userid = $_POST['userid'];


$qry = "INSERT into mypayments(userid) VALUES ('$userid') “;
$result = mysql_query($qry,$db);
?>

这是对的吗?我如何从贝宝获得验证?

4

3 回答 3

8

我认为userid是一个不正确的名称,不会在您的 IPN 消息中返回。我使用可选字段来传递 ID 和处理交易所需的东西。

这些可选标签是用于自定义字段名称的on0on1on3以及用于自定义字段值的os0ls1os2。这些值可以达到on6os6

我将发送值为“UserID”的on0和实际 ID 的os0 。

这些值将在 IPN 中表示如下:

os0表示为option_selection1

os1表示为option_selection2

os2表示为option_selection3

on0表示为option_name1

on1表示为option_name2

on2表示为option_name3

这是有关 PayPal 的 HTML 参数的信息

于 2010-06-03T15:10:34.597 回答
1

使用“自定义”变量。

<input type="hidden" name="custom" value="user_id" />
于 2014-06-01T00:18:57.257 回答
0

它是一个两步过程。

PayPal 将向您在 中指定的 url 发布一个 IPN $ipn_url

VERIFIED然后,当您将带有附加cmd=_notify-validate参数(详细信息)的所有 IPN 数据发布回 PayPal时,您将收到回复。

PHP 示例在这里

于 2010-05-24T14:42:08.490 回答