Paypal IPN Problem

本文关键字:Problem IPN Paypal | 更新日期: 2023-09-27 18:09:26

我正在开发一个网站,用户可以使用paypal购买功能。如果用户的paypal电子邮件与存储在我们网站的电子邮件不同,我如何通过IPN获得关于用户付款的通知?

Paypal IPN Problem

你用c#标记了你的问题,所以我假设你正在开发一个ASP。网的网站。由于没有更具体的信息,我假设您正在使用默认的SqlMembershipProvider。

因此,为了标识您的用户,您可能应该使用MembershipUser对象的ProviderUserKey属性。使用以下代码获取当前登录用户的ProviderUserKey:

MembershipUser currentUser = Membership.GetUser();
string userId = currentUser.ProviderUserKey.ToString();

一旦你有了一个包含ProviderUserKey的字符串,你可以在你的表单中使用自定义HTML变量将它传递给PayPal:

<input type="hidden" name="custom" value="<%=userId%>"/>

当PayPal发送IPN消息时,它将返回您为自定义HTML变量设置的值。你可以从Response中获得这个值。表单并获取相应的用户:

object userId = Request.Form["custom"];
MembershipUser user = Membership.GetUser(userId);

希望这对你有帮助!

您需要使用用户的电子邮件(他/她在您的网站上使用的电子邮件)作为标识符。

当用户向您付款时,您的网站需要将此电子邮件发送给Paypal作为"自定义"字段,Paypal会将其发送回您,以及其他IPN通知参数