前言
最近公司要添加應(yīng)用內(nèi)購買妆偏,其中遇到了一些坑,查到的資料要不是就是很老盅弛,要不就是不太全钱骂。寫個(gè)文章分享一下!宗旨就是多看圖挪鹏,看圖能弄明白的不看文章见秽,代碼能弄懂得不看文章。
具體流程
-
完善
協(xié)議讨盒、稅務(wù)和銀行業(yè)務(wù)
信息
這一部分具體可以參考iOS App提交指南(二)-協(xié)議解取、稅務(wù)和銀行業(yè)務(wù)
-
添加測試用戶
在用戶和職能
中添加測試用戶方便測試支付返顺。
**注意:在用真機(jī)測試應(yīng)用內(nèi)支付的時(shí)候退出之前的APPLE賬號禀苦,用注冊的測試賬戶登錄
** -
添加內(nèi)購項(xiàng)目
進(jìn)入iTunesConnect中在功能
中添加App內(nèi)購買項(xiàng)目
**注意:綠色框內(nèi)的文字在5中詳細(xì)描述
**
-
在項(xiàng)目中開啟In-App Purchase
在Xcode中開啟In-App Purchase
功能
-
提交新的版本
這個(gè)是我之前遇到的坑,我看的文章都是創(chuàng)建好內(nèi)購項(xiàng)目之后就可能在項(xiàng)目中使用測試了遂鹊,當(dāng)時(shí)我的結(jié)果就是無效productID振乏。綠色框中寫的很明白要重新提交二進(jìn)制文件(.ipa文件),新的版本中添加在步驟3中添加的內(nèi)購項(xiàng)目稿辙。
**注意:最好選擇手動(dòng)發(fā)布昆码,因?yàn)楸敬翁峤恢皇菫榱俗寗?chuàng)建的內(nèi)購項(xiàng)目ID生效,項(xiàng)目中可以沒有關(guān)于內(nèi)購的邏輯代碼
** 代碼實(shí)現(xiàn)
直接看Demo沒有Demo都是流氓邻储。DLInAppPurchase-
服務(wù)器端驗(yàn)證支付
**注意: NSString *receipt = [receiptData base64EncodedStringWithOptions:0];Options參數(shù)傳0不要傳NSDataBase64Encoding64CharacterLineLength
**
- 接收ios端發(fā)過來的購買憑證(上圖中的receipt)赋咽。
- 判斷憑證是否已經(jīng)存在或驗(yàn)證過,然后存儲該憑證吨娜。
- 將該憑證發(fā)送到蘋果的服務(wù)器驗(yàn)證脓匿,并將驗(yàn)證結(jié)果返回給客戶端(接口文檔擊這里)。
- 如果需要宦赠,修改用戶相應(yīng)的會員權(quán)限陪毡。
參考和相關(guān)文章
- 唐巧的技術(shù)博客iOS應(yīng)用內(nèi)付費(fèi)(IAP)開發(fā)步驟列表
- Charly張的博客IOS應(yīng)用內(nèi)購買App開發(fā)完整流程
- Troy的博客 In App Purchases: A Full Walkthrough
- AppleDeveloperValidating Receipts With the App Store
- Stackoverflow上Sending In-App Purchase receipt data to my server
- 謙言忘語的簡書【iOS】蘋果IAP(內(nèi)購)中沙盒賬號使用注意事項(xiàng)
- 出頭天等待咸魚的簡書【iOS開發(fā)】IAP開發(fā)的那些坑