【问题标题】:How do you connect a Paypal IPN confirmation to a user?您如何将 Paypal IPN 确认连接到用户?
【发布时间】:2010-10-08 17:05:46
【问题描述】:

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

IPN 确认消息包含姓名、电子邮件、paypal ID、定期付款 ID,但它似乎没有给出唯一标识符,因为我不知道 paypal ID 或定期付款 ID 来自哪里,而且可能不是将用户在其贝宝帐户(或在那里输入)上的姓名/电子邮件与我在我的网站上为他们拥有的姓名/电子邮件唯一匹配是微不足道的(可能有很多 John Smith,并且该人可能会选择使用不同的电子邮件。)

1) 当我向 Paypal 发送初始付款请求时,我可以在请求他们发回给我的 URL 中附加一个唯一的 UUID,因此如果我为该用户保存该唯一 ID,我可以将该付款确认与发起它的用户。我做的比现在更难吗?有没有更简单的方法?

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

【问题讨论】:

    标签: paypal paypal-ipn paypal-subscriptions


    【解决方案1】:

    1) 您可以在初始订阅设置中发送一个“item_number”参数,该参数将返回给您。我建议在其中嵌入一个识别令牌。

    2) 如果您的意思是“return”参数,不,那是为了在订阅设置结束时将用户发送到。续订是自动的,不会“ping”该页面。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 您知道如何在通过单击 PayPal“立即付款”按钮生成的初始 PayPal 请求中传播一些数据以及其他 PayPal 数据吗?
      • @VladimirDespotovic 在“立即付款”按钮和付款请求 API 中都有一个额外的字段,您可以在其中添加自定义数据。该自定义数据会在与交易相关的每个响应中发回给您。
      【解决方案3】:

      我最近还使用 Paypal 设置了一些重复付款。

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

      我的 IPN 脚本的作用是在 Activations 表中生成一个与 Paypal 订阅 ID 相关联的唯一激活码,然后将此代码发送给支付订阅费用的人,并附上有关如何激活的说明。

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

      当 EndOfTerm IPN 通知进入 IPN 脚本时,会根据 IPN 中给出的 SubscriberID 从 Activations 表中查找用户 ID。然后我可以对那个用户做任何我需要做的事情来禁用他们的订阅。

      IPN 脚本的 URL 始终保持不变。

      【讨论】:

      【解决方案4】:

      1) 您想使用item_number 参数。在您向客户显示的 HTML 表单中设置此项,它将由 paypal IPN 返回给您,因此您可以在此处输入数据库行 ID,并使用它来匹配合适的人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-23
        • 2011-12-18
        • 2011-12-02
        • 2018-05-21
        • 2013-04-21
        • 2018-04-15
        • 1970-01-01
        相关资源
        最近更新 更多