我正在开发一个 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/