php - paypal ipn传递参数

标签 php paypal paypal-ipn

我想在用户付款后从 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 和我这边处理交易所需的内容。

这些可选标签是用于自定义字段名称的 on0on1on3os0、< strong>ls1 和 os2 用于自定义字段值。这些值最高可达 on6os6

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

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

os0 表示为option_selection1

os1 表示为option_selection2

os2 表示为option_selection3

on0 表示为option_name1

on1 表示为option_name2

on2 表示为option_name3

Here's the info on PayPal's HTML parameters

关于php - paypal ipn传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897613/

相关文章:

php - Laravel 5.1 - 在相同特征模型上进行干燥

paypal - Harvest 和 Freshbooks 等网站使用什么 PayPal API 代表其用户接受付款?

php - 如何从每笔 Paypal 交易中提取一笔交易?

javascript - Braintree 的 Sandbox PayPal 集成(使用 JS 和 PHP)

php - Sphinx搜索的数据库定义

php - 同时选择+文本输入表单字段?

php - Paypal 整合隐藏值(value)

paypal - 使用单个请求管理 PayPal 捐赠、添加到购物车和订阅

c# - IPN模拟器错误

php - MySQL 查询将两列中的值相加并按第三列分组