我想使用Paypal的IPN服务来验证我网站的定期费用的付款。如何将IPN确认与您网站中的用户联系起来?
IPN确认消息有一个名称,电子邮件,PayPal ID,定期付款ID,但它似乎没有给出唯一的标识符,因为我不知道paypal ID或定期付款ID来自哪里,它可能不是使用我在其网站上为他们提供的姓名/电子邮件,将用户在其paypal帐户(或在那里输入)的名称/电子邮件唯一匹配(可能有许多John Smith's并且此人可能选择使用不同的电子邮件。)
1)当我向Paypal发送初始付款请求时,我可以在我要求他们发回给我的URL中附加一个唯一的UUID,因此,如果我为该用户保存该唯一ID,我可以将该付款确认与发起它的用户。我比那更难吗?有更简单的方法吗?
2)另外,对于定期/订阅费用,paypal是否始终使用我在初始付款启动时指定的URL?有没有人有使用IPN的定期Paypal付款的实际经验,它是否重用该唯一的URL?或者,在收到第一笔定期付款后,我是否必须将Paypal ID与用户关联起来?
答案 0 :(得分:3)
将唯一数据附加到付款请求几乎是可以接受的方式。
我对经常性费用没有任何经验。
答案 1 :(得分:2)
我最近还用Paypal设置了一些重复付款。
我实际上希望人们在支付订阅后注册成为成员,如果他们愿意的话。由于必须以会员身份注册,可能会给销售过程带来一些摩擦。因此,我不会发送任何用户信息以及“订阅”按钮。
我的IPN脚本所做的是生成与Activations表中的Paypal subscriptionID相关联的唯一激活码,然后将此代码发送给付费订阅的任何人,并提供有关如何激活的说明。
在激活时,您需要注册或登录。此时,userID将添加到Activations表中的相关行。
当EndOfTerm IPN通知进入时,IPN脚本会根据IPN中给出的SubscriberID从Activations表中查找userID。然后我可以为该用户做任何我需要做的事情来禁用他们的订阅。
IPN脚本的URL始终保持不变。
答案 2 :(得分:0)
1)您可以使用初始订阅设置发送'item_number'参数,该参数将传递给您。我建议在其中嵌入一个识别标记。
2)如果你的意思是'return'参数,那就是用于在订阅设置结束时将用户发送到的参数。续订是自动的,不会“ping”该页面。
答案 3 :(得分:0)
1)您想要使用item_number
参数。在显示给客户的HTML表单中设置它,它将由paypal IPN返回给您,因此您可以在此处放置数据库行ID,并在以后使用它来匹配合适的人。