2014-01-29 83 views
5

我的網頁應用程序使用貝寶每月訂閱。我收到IPN通知時進行付款,用戶註冊/取消等,這一切似乎運作良好。PayPal訂閱IPN下一個賬單日期

似乎從IPN消息中缺少的一件事是有關下一個開票日期的任何指示。 https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/#id091EB0901HT

起初我還以爲是因爲它是一個包月的,我可以簡單地一個月添加到以前的日期,但貝寶似乎已經搞清楚接下來的付款日期的一個時髦的方式 - 它並不總是30或31幾天或一個月。

下一個開票日期可從PayPal本身獲得,但似乎並未在任何IPN消息中發送。

有誰知道從IPN消息中可用的信息中解決這個問題的簡單方法嗎?

+1

爲什麼你需要知道?我已經實現了一個PayPal訂閱系統,我唯一注意到的是subscr_signup,創建用戶,然後實際付款,以使他能夠訪問相應產品的另一個期限。沒有薪水,沒有訪問權限。我爲會計目的保存了其他資料,但我從不需要知道下一個開票日期。 – EJP

+1

嗨,我想爲用戶提供一個「付費直到」的日期...我知道他們可以登錄到PayPal並找到它,但它將很高興知道他們的訂閱何時支付,以及何時下一個將付款。 – JohnB

+0

那麼你知道,從最後付款日期和訂閱期限。下一筆付款是在到期前不久支付的,但是到了PayPal的時候纔會清算,而且事先不一定知道。 – EJP

回答

2

這可能會幫助你。要指定幾天,請不要使用貝寶的MONTHLY類型。而是指定DAY這樣的:

下面會向委託人收取每月30天:

->setfrequency_interval('30') 
    ->setfrequency('DAY') 
3

我最近碰到這個問題了。我不確定誰可以得到一個統一的計劃,以確定訂閱的「月份」是什麼意思。例如,如果您在3月31日註冊您的服務,是4月30日還是5月1日到期的下一筆付款?您只需選擇一個並將其清楚地傳達給您的用戶。它不幸的PayPal不承擔我們的禮遇。

最後,我決定讓用戶分別訪問32天或367天的服務,分別爲每月和每年的訂閱。我知道你可能會在一兩天內「失去」,但我認爲最好允許一些寬限期訪問,而不是給用戶比付費更少的時間。

如果一切順利,如果您還在偵聽IP地址爲subscr_eotsubscr_payment的IPN(請參閱https://stackoverflow.com/a/1195246/1852838),則啓動帳戶的時間並不重要。我從下一次付款之日起續訂上述期限,以便訂閱始終與PayPal付款週期同步。當最後付費期結束時,PayPal會向您發送IPN eot,這樣您就可以終止服務器端的訂閱。這意味着你決定給他們多少「恩典」並不重要。

就提供「支付至」我只是簡單地提供「寬限期」日期,因爲您是實際決定這是多久的人。但是,我會建議您也讓他們知道,他們應該按下一個最保守的估算付款。這將是最後一次付款後的30天或本月結束後的日期。