苹果内购流程详解
?
https://weikeyan.github.io/2016/10/17/iOS內(nèi)購(gòu)支付詳解/
蘋果內(nèi)購(gòu)主要分為兩部分
itunnes 相關(guān)配置
一.在itunnes 上配置相關(guān)信息資料
首先需要配置一些前提條件,詳細(xì)步驟如下
1.進(jìn)入itunnes選擇協(xié)議,稅務(wù)銀行業(yè)務(wù)
?
2.完善資料信息,主要有3項(xiàng)(聯(lián)系人,銀行信息,稅務(wù)信息)
?
?4.完善聯(lián)系人信息,一般填申請(qǐng)開發(fā)者賬號(hào)人員的信息,可以修改
?
?
?
?
?
?5.完善銀行信息 需要銀行支付號(hào)(就是開戶銀行的一個(gè)標(biāo)識(shí)),銀行卡持有人名字
?
?
?
?
6.完善稅務(wù)信息? 7.以下默認(rèn)選擇no?
8.確認(rèn)界面,下圖可能不太對(duì),當(dāng)時(shí)我是上下2個(gè)界面,第四項(xiàng)要上下一致才行?
二.上面資料完善后換需要配置相關(guān)虛擬物品 1.選擇應(yīng)用
2.選擇功能,我們添加一個(gè)app內(nèi)購(gòu)項(xiàng)目。
?
3.選擇類型
a.可消費(fèi)的產(chǎn)品 ?使用一次,之后就會(huì)耗盡,必須再次購(gòu)買
b.非消耗品 ? 一次購(gòu)買的產(chǎn)品,不會(huì)到期,這種物品一般來說要使用恢復(fù)購(gòu)買的功能
c.自動(dòng)訂閱類內(nèi)購(gòu) ?這種物品會(huì)在一段時(shí)間內(nèi)自動(dòng)訂閱 d.非自動(dòng)訂閱 ? 如一次訂閱一年的服務(wù)會(huì)員
4.提交一個(gè)屏幕快照(注意尺寸大小一般是用到內(nèi)購(gòu)的界面),然后保存。
三.接下來需要添加沙箱測(cè)試賬號(hào),此賬號(hào)是在測(cè)試環(huán)境測(cè)試內(nèi)購(gòu)流程的
1.點(diǎn)擊進(jìn)入用戶和職能界面
2.選擇沙盒技術(shù)測(cè)試員
3.填寫測(cè)試員信息(填寫未被其他開發(fā)者使用的郵箱)
內(nèi)購(gòu)實(shí)現(xiàn)流程 一實(shí)現(xiàn)流程 主要有兩種情況 本地處理 1. 程序通過bundle存儲(chǔ)的plist文件得到產(chǎn)品標(biāo)識(shí)符的列表。
2. 程序向App Store發(fā)送請(qǐng)求,得到產(chǎn)品的信息。
3. App Store返回產(chǎn)品信息。
4. 程序把返回的產(chǎn)品信息顯示給用戶(App的store界面)
5. 用戶選擇某個(gè)產(chǎn)品
6. 程序向App Store發(fā)送支付請(qǐng)求
7. App Store處理支付請(qǐng)求并返回交易完成信息。 8. App獲取信息并提供內(nèi)容給用戶。 依靠服務(wù)器處理 (一般需要一個(gè)訂單號(hào)對(duì)應(yīng)相應(yīng)的憑證信息) 1. 程序向服務(wù)器發(fā)送請(qǐng)求,獲得一份產(chǎn)品列表。
2. 服務(wù)器返回包含產(chǎn)品標(biāo)識(shí)符的列表。
3. 程序向App Store發(fā)送請(qǐng)求,得到產(chǎn)品的信息。
4. App Store返回產(chǎn)品信息。
5. 程序把返回的產(chǎn)品信息顯示給用戶(App的store界面)
6. 用戶選擇某個(gè)產(chǎn)品 生成訂單號(hào)
7. 程序向App Store發(fā)送支付請(qǐng)求
8. App Store處理支付請(qǐng)求并返回交易完成信息。
9. 程序從信息中獲得數(shù)據(jù),(目前是訂單號(hào)和憑證)并發(fā)送至服務(wù)器。
10. 服務(wù)器將數(shù)據(jù)發(fā)給App Store來驗(yàn)證該交易的有效性。(主要是憑證的驗(yàn)證)具體可以查看https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573
11. App Store對(duì)收到的數(shù)據(jù)進(jìn)行解析,返回該數(shù)據(jù)和說明其是否有效的標(biāo)識(shí)。
12. 服務(wù)器讀取返回的數(shù)據(jù),確定用戶購(gòu)買的內(nèi)容。 13. 服務(wù)器確認(rèn)成功后告訴客戶端。 漏單問題 需要注意的是因?yàn)橛唵问呛头?wù)器保持同步的,但是購(gòu)買流程在客戶端,所有因?yàn)榫W(wǎng)絡(luò)等問題會(huì)出現(xiàn),漏單的問題,所以每次購(gòu)買成功后需要本地保存一份憑證,只有當(dāng)服務(wù)端驗(yàn)證通過后才從本地刪掉,另外換需要在程序啟動(dòng)后在合適的時(shí)機(jī)檢測(cè)是否有未處理的憑證,如果有需要給服務(wù)端驗(yàn)證。 官方demo https://developer.apple.com/library/content/samplecode/sc1991/Introduction/Intro.html#//apple_ref/doc/uid/DTS40014726 參考 ?http://allluckly.cn/ios支付/iOS開發(fā)2015年最新內(nèi)購(gòu)教程
?
轉(zhuǎn)載于:https://www.cnblogs.com/keyan1102/p/5891093.html
總結(jié)
- 上一篇: js调用函数的格式
- 下一篇: asm管理的dg数据文件缺失的处理方法