我正在开发一个Twitter网络应用程序,用户可以在其中购买硬币包。
一旦他们点击了paypal按钮并想要结账,他们就会被直接输入他们的凭证并完成PayPal。然后,PayPal服务器将发送HTTP到我的后端servlet(我在Java中这样做),并提供有关事务的信息。
我的问题是,我如何知道哪个用户进行了购买?问题是,PayPal服务器发送的IPN消息包含一组预定义的参数。这意味着我无法确定哪个用户付款了!
由于这是一个Twitter应用程序,因此无需用户名/电子邮件/密码即可注册该网站。
我需要和想要的是一种方法将正在进行购买的用户的dbUserId发送到paypal IPN请求,以便一旦PayPal发送IPN POST,我知道谁进行了购买,从而将硬币添加到他/她的记录。
我需要一切帮助。
由于
答案 0 :(得分:2)
您可以在标准按钮代码或API请求的“自定义”参数中发送您的ID值。此参数允许您存储最多256个字符的任何内容,并且在“自定义”参数中也将在IPN中返回相同的值。
另一种选择是在将用户发送给PayPal进行付款之前为用户保存本地发票/订单记录。这样,您可以在PayPal请求中的“invoice”参数中发送发票/订单ID,并再次在那里的“invoice”参数中以IPN返回该值。
无论哪种方式,您都可以提取该值,然后在IPN脚本中从您自己的系统中提取所需的任何其他详细信息。