Php Paypal即时支付通知需要匹配付款人订单和付款

Php Paypal即时支付通知需要匹配付款人订单和付款,php,paypal,Php,Paypal,尝试实现Paypal即时支付通知 情况如下: 1访问者想要访问数据库访问者输入一些内容以检查数据库中是否存在输入的数据 2我收集访客输入的数据,记录在mysql中,创建一些令牌,也记录在mysql中 3将令牌添加到数据中,我将其发送到paypal 4成功付款后,我允许访问者访问数据库并显示访问者输入数据的结果。因此需要知道访客输入/订购了什么 我向Paypal发送如下数据: $data['return'] = 'https://www.my-website.info/payment-succes

尝试实现Paypal即时支付通知

情况如下:

1访问者想要访问数据库访问者输入一些内容以检查数据库中是否存在输入的数据

2我收集访客输入的数据,记录在mysql中,创建一些令牌,也记录在mysql中

3将令牌添加到数据中,我将其发送到paypal

4成功付款后,我允许访问者访问数据库并显示访问者输入数据的结果。因此需要知道访客输入/订购了什么

我向Paypal发送如下数据:

$data['return'] = 'https://www.my-website.info/payment-successful.php?response='. $token_to_send_to_paypal;//here we can put URL when payment is Successful.
$data['cancel_return'] = 'https://www.my-website.info/payment-cancelled.php';//here we can put cancel URL when payment is not completed.
$data['notify_url'] = 'https://www.my-website.info/payment-notify.php';//PayPal call this file for ipn
$data['item_number'] = $token_to_send_to_paypal;
然后

然后重定向到paypal IPN

header( 'location:'. $paypal_url. '?'. $query_string );
从贝宝成功付款后,我得到一些数据回来。我看到我返回了item_number=与我创建的发送给paypal的令牌相同

以上是目前我唯一能将访客订单与付款匹配的方法。但可能的问题是,访问者也知道令牌

如何将访客订单与付款相匹配,有何想法/更好的方法?我的意思是如何将我的代币发送到Paypal并在Paypal响应中取回代币

但可能的问题是,访问者也知道令牌

为什么这是一个问题?这不是问题。访问者无法创建可验证的IPN

真正的答案是,对于任何重要的事情,你都应该切换到更好的结帐方式,而不是使用IPN,因为那样你就不需要它了。这里有一个更好的结账方式:

通过更好的签出,以下是您将从服务器调用的捕获API:

这样就不需要IPN了

header( 'location:'. $paypal_url. '?'. $query_string );