2009-06-30 443 views
51

我正在使用Paypal IPN添加訂閱到一個網站,它工作得很好,我可以成功創建一個新訂閱並進行驗證。訂閱有兩週免費試用。不幸的是,該指南對訂閱狀態有些模糊。使用PayPal IPN訂閱

目前,一旦收到subscr_signup或subscr_payment,用戶帳戶就會獲得訂閱狀態,並在收到subscr_cancel或subscr_failed時被刪除。我相信這是正確的,但最好確保。

什麼是subscr_eot? IPN指南將其描述爲「訂閱的期末」。試用期結束後會觸發嗎?

回答

75

subscr_eot當用戶上次付款時間間隔過期時發送。 subscr_cancel在使用取消訂閱後立即發送 - 例如:

用戶在第1天註冊訂閱,每月收費一次。 subscr_signup立即發送,subscr_payment在付款完成後立即發送(通常也立即發送)。

在第13天,用戶取消。立即發送subscr_cancel,雖然用戶在技術上已經支付到第30天。此時取消取決於您。

在第30天,subscr_eot被髮送 - 用戶已經取消,這是他最後一次付款支付的日期。

試用訂閱沒有太大變化 - 如果用戶在試用訂閱開始前取消,立即發送subscr_cancel,在試用結束時發送subscr_eot

+0

我不知道這一定是真的。我認爲這取決於他們擁有的訂閱類型,從I/S等開始 – ajbeaven 2011-05-31 23:35:11

+0

我聽說subscr_ *是舊的方式。真的嗎?無論如何,我試圖找出這些txn_type值。 http://stackoverflow.com/questions/13855287/parsing-paypal-subscription-ran-out – Volomike 2012-12-17 21:11:06

+2

只需添加到這個 - afaik - 如果你沒有做免費試用,那麼'subscr_signup'只有在第一個付款也是成功的。因此,您只能聽取subscr_signup和subscr_eot以激活/停用訂閱。 – Webcognoscere 2013-01-16 17:13:47

34

另外,一個有趣的細節是subscr_eot如何與subscr_failed一起使用。

它看起來像subscr_eot之後最後subscr_failed。因此,如果在您的帳戶設置爲自動重試失敗的支付3倍,那麼就應該是這樣的:

第一個失敗的支付=> subscr_failed 第二未能支付=> subscr_failed 第三未能支付=> subscr_failed和subscr_eot

所以基本上在你的代碼,你可以設置subscr_failed觸發電子郵件喜歡

喜用戶, 請花時間檢查一下 您的付款信息,您可能需要 更新信用ç ard expiration date,etc.您仍然可以訪問, 我們會在幾天後再試一次。

和設置subscr_eot實際上把他們的訂閱關閉並觸發電子郵件喜歡

抱歉,我們仍然還沒有」得到支付 並採取您的個人資料了。您 仍然可以通過登錄和更新您的付款信息重新激活它

基本上這是做什麼的,讓客戶有一個寬限期的「好」的方式,他們的帳戶不被意外關閉只是因爲一張過期的信用卡或類似的東西。

4

這取決於賬戶是否是新的,是否subscr_eot被髮送,這有點超越我?

我還沒有找到管理訂閱的正確方法。如果延遲付款,計算服務器上的日期可能會非常快速地出錯。

9

Chris發佈的帖子最近更新了。

2010年的某個時候,PayPal在用戶取消帳戶時停止使用subscr_eot。經過多次投訴,他們恢復了這一點,但花了6個月的時間。所有這一切意味着您可以再次處理您的訂閱通知,如Peter在接受的答案中所述。

從貝寶代表:

subscr_cancel表示配置文件是 取消,也不會有未來 付款。但是,如果買方已經爲 週期支付了當前計費 ,因爲它們是預付費的, 那麼您可以使用subscr_eot到 終止配置文件。

但是,仍然不確定發生多次失敗付款嘗試時會發生什麼。 PayPal文檔目前非常糟糕。