POST TIME:2018-12-03 21:37
支付流程加上3種特殊狀態的case,是App涉及到蘋果IAP支付流程時需要考慮到的各種情況。
比來關于蘋果下架微信的言論在互聯網圈子炸開了鍋,雖然這是否是一道偽命題,還不得而知,但是也能夠發現蘋果對于其App Store中分發的App的抽成是多么重視。盡管其支付系統著實難用,并且在體驗上也是讓人不敢恭維,但是由于其30%的抽成實在是太誘人了,所以也是蘋果堅持不允許通過App Store之外的任何支付渠道讓用戶收費的主要原因。
那么,拋開常用的微信、支付寶支付流程,將技術問題先至于黑盒子中,對于一個不是微信那樣財大氣粗的產品而言,如果要走蘋果IAP支付流程,則應該如何設計,才能最大限度制止審核失敗被打會呢?一般而言,除了須要的支付成功流程以外,支付失敗的各種case也都要考慮進去,這樣就會在必然程度上提升審核通過的概率。
正常的跳轉蘋果支付流程,只要是需要顯示和支付產品相關的信息,終究大部分頁面都是蘋果系統原生,App能做的也就是修改一些案牘參數等,如下所示:
正常的流程需要輸入蘋果的icloud密碼,確認支付內容,然后進入支付確認和結果反饋環節,需要多次點擊和輸入操作。
但是,由于蘋果的支付流程需要來回跳轉和請求數據,路徑長,節點多,所以會產生各種不確定的case和“掉單”的情況發生,針對差別的支付失敗情況,都要設計相應的應對邏輯。
1、直接購買失敗直接購買失敗原因主要是金額不足,因此蘋果會提示相應的反饋并提供可選擇的解決方案;若用戶取消操作,則會直接退出蘋果支付流程,返回App頁面;
2. 蘋果支付成功,但是產品端未顯示這主要來源與蘋果的支付流程,雖然在當前的支付頁面上顯示了支付成功,,但是由于網絡或者App后臺未接收到數據等問題,造成了當前在產品端未實時顯示支付結果,這時需要實時反饋進入提示,告知用戶稍后查看;用戶返回App繼續執行支付操作時,若此時后臺仍未收到數據,則直接當前訂單還在處理中,不會生成新的訂單,繼續出現之前的支付成功的反饋提示;若此時后臺已接收到數據,則系統可認為是生成了新的訂單,可重新進入新的一輪購買流程;
3. 蘋果支付成功,但是傳遞給產品的ID無效這種情況更加讓人無奈,在蘋果流程中所有的支付流程都是通常的,但是蘋果傳遞給產品的ID是無效的,這種不成抗力的問題著實讓人無奈和頭疼。這個時候只能走客服流程聯系退款,若用戶返回App后繼續支付,則會生成新的訂單進行新的支付流程;
支付流程加上3種特殊狀態的case,是App涉及到蘋果IAP支付流程時需要考慮到的各種情況。當然,還有更多特殊情況,需要按照產品的差別進行單獨考慮,這樣在應對蘋果審核時的成功率更高,制止被App store審核欠亨過,重新設計的問題。終究,蘋果的審核時間還是太漫長了。