付款IPN - 付款集成问题 - 1个paypal帐户的多个订阅

时间:2015-04-09 15:32:05

标签: php paypal paypal-ipn cart

我的PayPal结帐系统存在问题,我们似乎无法弄明白。这是问题所在。

让我正确设置方案:

User A = Office Manager of 3 realtors

User B = A realtor at that office

User C = Another realtor at the same office

User A is in charge of purchasing the upgrades to all of the realtors in this particular office (Users B &C). 

在我们的系统中,用户A必须登录其帐户才能点击相应的购物车并结帐。这会将他们带到PayPal结账。他们登录并确认购买。这是一个持续X天的订阅。

现在,该用户注销并使用用户B(因为他们是办公室经理)帐户登录并转到结帐。他们使用之前用于购买用户A升级的PayPal帐户登录。他们确认购买。

所以,让我们回顾一下到目前为止我们所拥有的东西。用户A已使用PayPal帐户1登录,并从我们的服务中购买了两个单独的订阅。每个人都有自己独特的凭据。

让我们继续,

用户A现在登录到用户C帐户并再次使用相同的PayPal帐户重复签出的步骤。

到目前为止一切都很好,因为没有人取消他们的订阅付款。现在这是一个有点棘手的地方。

用户B告诉办公室经理他们不再希望升级他们的帐户并要求经理处理。用户A(经理)登录用于购买该办公室内所有订阅的PayPal帐户,并取消用户B订阅。

现在已经发生了这个行动,这就是我们遇到问题的地方。由于所有订阅都是在续订时间内在此一个帐户下购买的,因此我们收到的IPN通知并未单独识别购买。它基本上是说在帐户上进行了付款(因为用户A和用户C)仍然有活动订阅。因此,在我们结束时,系统认为用户B仍处于活动状态,并且他们获得了应该取消的“免费”升级。

我希望我解释得这么好。也许这是我们需要进行的简单调整,以便从PayPal收到的信息允许我们在3次付款之间正确识别,并且仅保留有效续订付款的帐户。

谢谢!

2 个答案:

答案 0 :(得分:0)

简而言之,您应该注意每个IPN中返回的订阅ID(subscr_id) - 这将唯一标识每个订阅。

  • 当每个用户创建订阅时,您应该获得txn_type设置为subscr_signup的IPN,以及subscr_id中的订阅ID。
  • 每次处理订阅付款时,您都应该获得txn_type设置为subscr_payment的IPN,以及subscr_id中的相关订阅ID。
  • 当用户B取消时,您将获得txn_type设置为subscr_cancel的IPN,告知您已取消订阅。 (订阅ID将在subscr_id。)
  • 当用户B的订阅期限到期时,您将获得txn_type设置为subscr_eot的IPN(同样,subscr_id中的订阅ID)。获得此IPN后,您可以停用此用户帐户的升级。

因此,如果您跟踪每个订阅ID以及它所属的用户,那么应该很容易找出谁付费以及谁不付费。

答案 1 :(得分:0)

我们在这种情况下面临的问题是,当我们取消一个帐户时,另一个帐户也会在这种情况下被取消。我们已经按照你的提议进行了设置。付款已经从所有这些用户使用相同的paypal帐户完成。