我想在用户付款后从 paypal 获取 userid。
支付.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">
所以我会在我的 paypal 帐户中启用 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);
?>
是否正确?我如何从 paypal 获得验证?
最佳答案
我认为 userid 是一个不正确的名称,不会在您的 IPN 消息中返回。我使用可选字段来传递 ID 和我这边处理交易所需的内容。
这些可选标签是用于自定义字段名称的 on0、on1 或 on3 和 os0、< strong>ls1 和 os2 用于自定义字段值。这些值最高可达 on6 和 os6。
我会发送值为“UserID”的 on0 和实际 ID os0。
这些值将在 IPN 中表示如下:
os0 表示为option_selection1
os1 表示为option_selection2
os2 表示为option_selection3
on0 表示为option_name1
on1 表示为option_name2
on2 表示为option_name3
关于php - paypal ipn传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897613/