如何将Paypal IPN确认连接到用户?

如何将Paypal IPN确认连接到用户?,paypal,paypal-ipn,paypal-subscriptions,Paypal,Paypal Ipn,Paypal Subscriptions,我想使用Paypal的IPN服务来验证我的网站的定期订阅费。如何将IPN确认与站点中的用户联系起来 IPN确认消息包含名称、电子邮件、paypal ID、定期付款ID,但似乎没有给出唯一标识符,因为我不知道paypal ID或定期付款ID来自何处,唯一匹配用户在paypal帐户上的名称/电子邮件(或在其中输入的名称/电子邮件)可能不是一件小事我在我的网站上为他们提供的姓名/电子邮件(可能有许多John Smith,此人可能会选择使用不同的电子邮件。) 1) 当我向Paypal发送初始付款请求时,

我想使用Paypal的IPN服务来验证我的网站的定期订阅费。如何将IPN确认与站点中的用户联系起来

IPN确认消息包含名称、电子邮件、paypal ID、定期付款ID,但似乎没有给出唯一标识符,因为我不知道paypal ID或定期付款ID来自何处,唯一匹配用户在paypal帐户上的名称/电子邮件(或在其中输入的名称/电子邮件)可能不是一件小事我在我的网站上为他们提供的姓名/电子邮件(可能有许多John Smith,此人可能会选择使用不同的电子邮件。)

1) 当我向Paypal发送初始付款请求时,我可以在我要求他们发送回我的URL中附加一个唯一的UUID,因此,如果我为该用户保存该唯一ID,我可以将该付款确认与发起它的用户进行匹配。我是不是让事情变得更难了?有没有更简单的方法

2) 另外,对于定期/订阅费用,paypal是否始终使用我在初始付款时指定的URL?是否有人有使用IPN的定期贝宝支付的实际经验,它是否重用了唯一的URL?或者,在收到第一笔定期付款后,我是否必须将Paypal ID与用户关联?

1)您可以在初始订阅设置中发送一个“item\u number”参数,该参数将传回给您。我建议在里面嵌入一个身份标识


2) 如果您指的是'return'参数,no,则用于在订阅设置结束时将用户发送到。续订是自动的,不会“ping”该页面。

将唯一数据附加到付款请求几乎是公认的方式


我没有任何经常性收费的经验。

我最近还与Paypal建立了一些重复付款

我实际上希望人们在支付订阅费后注册为会员,如果他们愿意的话。因为必须注册成为会员可能会给销售过程增加一些摩擦。因此,我不会随“订阅”按钮发送任何用户信息

我的IPN脚本所做的是在Activations表中生成一个绑定到Paypal subscriptionID的唯一激活码,然后将该代码发送给为订阅付费的人,并说明如何激活

在激活点,您需要注册或登录。此时,用户ID被添加到Activations表中的相关行中

当EndOfTerm IPN通知传入时,IPN脚本将根据IPN中给定的SubscriberID从Activations表中查找用户ID。然后,我可以对该用户执行任何需要执行的操作,以禁用其订阅


IPN脚本的URL在任何时候都保持不变。

1)您希望使用
项目编号
参数。在向客户显示的HTML表单中设置此项,paypal IPN会将其返回给您,这样您就可以在此处输入数据库行ID,并在以后使用它与正确的人进行匹配。

您会对哪些txn\U类型的状态代码作出反应?我很难回答这个问题。您知道如何在最初的PayPal请求中,通过点击PayPal“立即付款”按钮生成一些数据以及其他PayPal数据吗?@VladimirDespotovic在“立即付款”按钮和付款请求API中都有一个额外的字段,您可以在其中添加自定义数据。该自定义数据将在与事务相关的每个响应中发送回您。