2012-09-11 107 views
10

我們目前正在考慮實施Facebook新subscription payments。我們已經爲Facebook設置了付款設置,並且回調網址設置正確。如果我定期進行測試支付,則回撥會被正確調用。付款訂閱 - 測試回調

測試訂閱的設置是根據this。但是,如果我選擇總是成功或總是失敗,則不會對付款回叫網址進行回叫。

它確實返回一個對象,該對象表示訂閱處於活動狀態且具有ID。

{status: "active", subscription_id: 204626XXXXXX} 

回答

1

Facebook訂閱不是經常購買。

你將不得不建立實時更新的「payment_subscriptions」對象,聽那些可用字段:(「狀態」,「pending_cancel」,「PAYMENT_STATUS」,「last_payment」)。請參閱文檔:http://developers.facebook.com/docs/payments/subscriptions/,有一個名爲「使用實時更新」的部分。

每次用戶訂閱或取消(或隱式續訂)時,都會使用相關的訂閱ID。然後你可以詢問Graph API有關這個訂閱對象。

您也可以檢索「/payment.subscriptions」

所有這些調用必須與一個應用程序的訪問令牌進行訂閱經由圖形API調用的任何用戶列表。

如果你總是進行「同步」購買,我必須承認這個過程是非常煩人的。我沒有實現預訂,這是一個loooooong &痛苦的旅行;)

希望這有助於

+0

非常有幫助,非常感謝! –

2

如果訂閱狀態發生變化,您是否有可能只收到發送到回調URL的請求,並且您已有用戶的活動訂閱?在這種情況下,我認爲你會得到一個客戶端錯誤,但是我沒有看到任何證據表明存在錯誤代碼。

如果您爲同一帳戶多次進行定期測試付款,會發生什麼情況?

+0

只是試圖取消踊躍認購,其中成功了。但仍然沒有回調。如果我定期進行測試支付,則會進行回調,並且每次都會進行相同的多次付款。 –

0

訂閱被映射到Facebook端的OpenGraph對象以及虛擬貨幣,所以,我懷疑服務器端沒有回調,你所能做的只是做一些類似的http post(通過表單,例如)插入FB.ui回調並在Servlet中實現doPost方法。這將是一種將訂閱信息獲取到某些數據源的方法。

編輯:關於payments callback,那些訂購信息的項目是基於OG對象計算的,facebook沒有發送payments_get_items請求,所以訂閱創建後無法獲取訂單信息。另一方面,您可能會收到通信servlet中的一些payments_status_update(我正在談論servlet,因爲我是Java程序員,但總體思路適用於您選擇的任何技術)