Paypal定期付款 - 如何防止重复?

时间:2012-04-27 15:16:54

标签: php paypal paypal-ipn

所以我一直在使用paypal定期付款大约一年,并且大部分都运行良好(付款后通过IPN验证等等)

我遇到的一个问题是,我的客户有时会设置多个付款资料,我绝对不希望他们这样做。然后我必须进行+退款并取消其他个人资料。

我很好奇是否有人有任何建议阻止用户这样做,或者我应该在哪里阻止这种情况发生。

在IPN通知到达我的服务器后,用户无法再次购买,但有时这可能需要30秒或一小时。因此,我的用户回过头来认为它没有经过并再次购买。

我的过程就是这样:

Page 1 (user selects options)
  Paypal API: SetExpressCheckout 
Page 2 (user goes to paypal, logs in, accepts agreement) 
Page 3 (I create the agreement)
  Paypal API: GetExpressCheckoutDetails
  Paypal API: CreateRecurringPaymentsProfile

我想在某个地方我应该做一个检查,但我不是100%肯定我应该怎么做。只需与PayerID建立关联,他们试图在这里购买东西,然后阻止它继续进行?

人们推荐什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

创建第一个定期付款配置文件后,您会在响应中获得个人资料ID和个人资料状态,该状态应为“ActiveProfile”。我建议你保存它,并在第1页再次选择任何订阅(或产品)之前进行检查。