我對使用應用程序內購買的特定情況有疑問。iOS應用程序內購買(耗材) - 服務器超時
我們必須在我們的應用程序購買金幣消耗:
- 使用購買了$ .99硬幣包與IAP
- 我們發送請求到我們的服務器,記錄購買和硬幣增加他們的帳戶(這些硬幣是在多個設備之間共享,我們的服務器在這裏所做的工作)
- 的IAP完整的交易
問題是,我們應該做的,如果請求到我們的服務器超時或失敗?用戶花了錢,但永遠不會拿到硬幣。如果他們在那個時候再次嘗試購買,它會給他們一個錯誤,說購買沒有下載。
我看到一個「恢復事務」選項,但不知道如何在這裏應用它。我寧願沒有在應用程序某處的按鈕。
不要擔心,這個程序尚未發佈,而這個應用程序是用C#與MonoTouch的,但Objective-C的答案是受歡迎的。
也許生成一個交易ID?如果應用程序最近檢測到事務已被嘗試,並且您的服務器沒有事務ID的記錄,請將購買添加到服務器。從技術上講,這將是「可破解的」,所以我建議使用可以驗證的種子隨機數生成器是由您創建的,而不是用戶創建的。 – Dustin
有沒有「蘋果建議」的方式去解決它?我想我可以保存購買信息並在應用程序打開時恢復。 – jonathanpeppers
我覺得我最近讀了一些東西,讓我看看我能否找到它。 – Dustin