为使用 PayPal、IPN 付款的用户启用游戏访问权限

Posted

技术标签:

【中文标题】为使用 PayPal、IPN 付款的用户启用游戏访问权限【英文标题】:Enable game access to a user that did the payment with PayPal, IPN 【发布时间】:2016-11-10 17:33:20 【问题描述】:

我的网站包含一个游戏,如果用户想在第 3 级之后继续玩,我希望他们支付 10 欧元。我倾向于使用简单的 PayPal 按钮进行付款。在阅读了 PayPal 官方文档后,似乎可以做到以下几点:

php 会话变量$_SESSION['user_id'] 唯一地标识了一个玩家(这是在游戏中登录并且每个用户的信息都存储在数据库中之后)。 用户$_SESSION['user_id']点击“立即购买”按钮,提供付款详情并付款。 使用 IPN(即时付款通知),PayPal 向我的服务器发送一个包含付款结果的 POST 请求,此时可以知道与完成付款对应的$_SESSION['user_id'] 的值。

这应该很容易做到,但事实是我完全迷失在 PayPal 文档中,这对我来说似乎太庞大了。我知道,也许我不是最好的开发者。

我认为应该已经为这个非常简单的场景编写了一些代码。

然后,假设用户付款并且 PayPal 然后调用 paypal_ipn.php,哪个 POST 属性允许我验证具有给定 $_SESSION['user_id'] 的用户是否已付款?

【问题讨论】:

@DainisAbols 也许你是对的,但游戏很好。可能是我没有使用 PayPal 的经验。请告诉我一些建设性的事情。 我真的不知道为什么这篇文章会得到如此负面的投票。如果有人可以解释这对我有帮助。 有问题要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源与 Stack Overflow 无关,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。 @Epodax 我确实描述了我遇到的问题以及到目前为止所做的事情。好吧,在没有 *** 的帮助下,我找到了自己的答案,如下所示。 即使您确实描述了您的问题,寻求指导仍然会使您的问题偏离主题,请这样看待:仅仅因为您在驾驶时系好安全带,并不能解决问题超过车速限制。 【参考方案1】:

在对 PayPal 文档进行了越来越多的挖掘之后,我在 html 的“立即购买”按钮中找到了“自定义”字段。所以答案只是添加

    <input type="hidden" name="custom" value="<? echo $_SESSION['user_id']; ?>">

以 PayPal 按钮的形式。

【讨论】:

以上是关于为使用 PayPal、IPN 付款的用户启用游戏访问权限的主要内容,如果未能解决你的问题,请参考以下文章

使用 Paypal ipn 和 pdt 进行付款

当 PayPal 发送付款通知 (IPN)

Paypal IPN - 检查付款状态是不是已完成?

aMember paypal ipn 不会创建自动首付款

未调用 Rails 应用程序上的 Paypal IPN

如何在 PHP 中使用 IPN(即时付款通知)在 Paypal 中配置定期付款