java - 识别谁购买了 PayPal - IPN

标签 java servlets paypal paypal-ipn

我正在开发一个 Twitter 网络应用程序,用户可以在其中购买硬币包。

一旦他们点击 paypal 按钮并想要结帐,他们将被引导输入他们的凭据并完成 paypal。然后,PayPal 服务器会依次向我的后端 servlet(我用 Java 执行此操作)发送一个包含交易信息的 HTTP。

我的问题是我怎么知道哪个用户进行了购买?问题是,PayPal 服务器发送的 IPN 消息包含一组预定义的参数。这意味着我无法真正确定哪个用户付款了!

由于这是一个 Twitter 应用程序,因此无需用户名/电子邮件/密码即可注册该网站。

我所需要和想要的是一种将进行购买的用户的 dbUserId 发送到 paypal IPN 请求的方法,这样一旦 PayPal 发送 IPN POST,我就知道是谁进行了购买,从而将硬币添加到他/她的记录。

我需要所有帮助。

谢谢

最佳答案

您可以在标准按钮代码或 API 请求的“自定义”参数中发送您的 ID 值。此参数允许您存储最多 256 个字符的任何内容,并且在 IPN 中的“自定义”参数中也会返回相同的值。

另一种选择是在将用户发送到 PayPal 进行付款之前为用户保存本地发票/订单记录。这样您就可以在 PayPal 请求的“invoice”参数中发送发票/订单 ID,同样,该值将在 IPN 中的“invoice”参数中返回。

无论哪种方式,您都可以提取该值,然后在 IPN 脚本中从您自己的系统中提取您需要的任何其他详细信息。

关于java - 识别谁购买了 PayPal - IPN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910356/

相关文章:

paypal - 使用 Paypal : what happens when I suspend and reactivate? 定期付款

c# - 单例反模式

java - CallableStatement.close() 会导致性能问题

java - 加载 JDBC 驱动程序

java - 如何检查上传的文件是图片还是其他文件?

ruby-on-rails - 无法建立与远程服务器的 SSL 连接

java.sql.SQLException : No database selected

sql - 是否可以为联合查询指定别名

java - 为第二个身份验证因素创建过滤器

paypal - 自适应付款和预先批准/定期付款