iOS內(nèi)購(gòu)流程文檔-Lion

iOS內(nèi)購(gòu)流程:

iOS內(nèi)購(gòu) 什么時(shí)候用到呢? 虛擬產(chǎn)品就需要用到iOS內(nèi)購(gòu);
購(gòu)買的商品,是在本app中使用和消耗的,就一定要用內(nèi)購(gòu),否則會(huì)被拒絕上線,例如:游戲幣,在線書籍,app中使用的道具等。

重要的大概步驟:

內(nèi)購(gòu)步驟大步驟有4步:

1,填寫協(xié)議,稅務(wù)和銀行業(yè)務(wù);
2,填寫用戶和職能; 創(chuàng)建內(nèi)購(gòu)的項(xiàng)目
3,寫代碼,和后臺(tái)配合
4,添加項(xiàng)目?jī)?nèi)購(gòu)測(cè)試賬號(hào);檢驗(yàn)成果

填寫協(xié)議,稅務(wù)和銀行業(yè)務(wù)一共有21個(gè)步驟需要完成;

以下是具體步驟:

一、先到iTunes Connect上填寫協(xié)議、稅務(wù)和銀行業(yè)務(wù)(如下圖)

如果是外包公司開發(fā)的,那么外包會(huì)讓客戶填寫這一堆信息;如果只是產(chǎn)品公司的技術(shù)開發(fā)人員,那么你可以讓項(xiàng)目負(fù)責(zé)人填寫這一堆信息;


第一步
第二步
第三步
第四部
第五步

先點(diǎn)擊Contact Info 的Set Up

第六步
第七步
第八步
第九步
第十步
第十一步
第十二步
進(jìn)行十二步的時(shí)候可能有些銀行通過下面的Look up CNAPS Code方法查不到,就需要借助百度了,一定要準(zhǔn)確查詢,否則會(huì)有問題。
第十三步
這一步需要注意的是,貨幣類型可能有歧義,選擇了CNY,支持國(guó)產(chǎn)。還有一點(diǎn),銀行賬號(hào)如果是對(duì)公的賬號(hào),需要填寫公司的英文名稱,如果沒有的話,上拼音!然后點(diǎn)擊保存銀行信息就算ok了,然后退回到最開始的頁面
第十四步
第十五步
第十六步
第十七步
第十八步
第十九步
第二十步
第二十一步(完成)

二、為app添加內(nèi)購(gòu)產(chǎn)品

在iTunes Connect在你要添加內(nèi)購(gòu)的app中,進(jìn)入到功能頁面

添加內(nèi)購(gòu)項(xiàng)目

在你點(diǎn)擊添加內(nèi)購(gòu)產(chǎn)品按鈕后會(huì)有彈框,提示你選擇類型,這個(gè)就要看你app的需求了

選擇類型
名稱和定價(jià)
本地化版本
填寫審核信息(現(xiàn)在的圖)

填寫完審核信息后,點(diǎn)擊右上角的“存儲(chǔ)”按鈕,就添加了一個(gè)內(nèi)購(gòu)產(chǎn)品~

三、添加沙盒技術(shù)測(cè)試員

在iTunes Connect的用戶和智能中選擇“沙盒技術(shù)測(cè)試員”,填寫信息保存以后就有一個(gè)測(cè)試員了

添加沙盒測(cè)試員

購(gòu)買成功后我們iOS前端可以單獨(dú)在客戶端完成訂單正確性的驗(yàn)證。但是因?yàn)橛械捻?xiàng)目后臺(tái)要Android和iOS兩端生成賬單便于對(duì)賬。所以我們請(qǐng)求后臺(tái)接口,服務(wù)器處驗(yàn)證是否支付成功,依據(jù)后臺(tái)返回結(jié)果做相應(yīng)邏輯處理。

(PS:訂單正確性的驗(yàn)證本來可以是:iOS客戶端(購(gòu)買成功)→ 前端到蘋果服務(wù)器驗(yàn)證→處理蘋果返回結(jié)果做相應(yīng)邏輯處理; 現(xiàn)在:iOS客戶端(購(gòu)買成功)→ 后臺(tái)→后臺(tái)到蘋果服務(wù)器驗(yàn)證→處理后臺(tái)返回結(jié)果做相應(yīng)邏輯處理)

服務(wù)器要做的是:

1.接收iOS前端發(fā)過來的購(gòu)買憑證。

2.判斷憑證是否已經(jīng)存在或驗(yàn)證過,然后存儲(chǔ)該憑證。

3.將該憑證發(fā)送到對(duì)應(yīng)環(huán)境下的蘋果服務(wù)器驗(yàn)證,并將驗(yàn)證結(jié)果返回給客戶端。

4.根據(jù)需求,是否修改用戶相應(yīng)信息。

注意事項(xiàng)

1.bundleID要與iTunes Connect上你App的相同,不然是請(qǐng)求不到產(chǎn)品信息的

2.在沙盒環(huán)境進(jìn)行測(cè)試內(nèi)購(gòu)的時(shí)候,要使用沒有越獄的蘋果手機(jī)。

3.在沙盒環(huán)境下真機(jī)測(cè)試內(nèi)購(gòu)時(shí),請(qǐng)去app store中注銷你的apple ID,不然發(fā)起支付購(gòu)買請(qǐng)求后會(huì)直接case:SKPaymentTransactionStateFailed。使用沙盒測(cè)試員的賬號(hào)時(shí)不需要真正花錢的。

4.如果只添加了一個(gè)沙盒測(cè)試員賬號(hào),當(dāng)一個(gè)真機(jī)已經(jīng)使用了這個(gè)賬號(hào),另一個(gè)真機(jī)再使用這個(gè)賬號(hào)支付也是會(huì)發(fā)生錯(cuò)誤的。那就去多建幾個(gè)沙盒測(cè)試員賬號(hào)使用不同的,反正也是免費(fèi)的,填寫也很快。

5.監(jiān)聽購(gòu)買結(jié)果,當(dāng)失敗和成功時(shí)代碼中要調(diào)用:

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

該方法通知蘋果支付隊(duì)列該交易已完成,不然就會(huì)已發(fā)起相同 ID 的商品購(gòu)買就會(huì)有此項(xiàng)目將免費(fèi)恢復(fù)的提示。

請(qǐng)?jiān)诒镜刈鲆幌聭{證存儲(chǔ)

現(xiàn)在訂單正確性的驗(yàn)證是:iOS客戶端(購(gòu)買成功)→ 后臺(tái)→后臺(tái)到蘋果服務(wù)器驗(yàn)證→處理后臺(tái)返回結(jié)果做相應(yīng)邏輯處理。

--

針對(duì)圖上的情況:當(dāng)我們前端購(gòu)買成功后,憑證本地保留一份,當(dāng)與后臺(tái)驗(yàn)證成功后,再將本地保留的憑證刪除。否者一直使用本地已經(jīng)保留的憑證與后臺(tái)交互。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容