蘋果內購流程詳解


 

https://weikeyan.github.io/2016/10/17/iOS內購支付詳解/

蘋果內購主要分為兩部分

itunnes 相關配置

一.在itunnes 上配置相關信息資料

首先需要配置一些前提條件,詳細步驟如下

1.進入itunnes選擇協議,稅務銀行業務

1

 

2.完善資料信息,主要有3項(聯系人,銀行信息,稅務信息)

2

 

 4.完善聯系人信息,一般填申請開發者賬號人員的信息,可以修改

3

 

 

5

 

 

6

 

 5.完善銀行信息 需要銀行支付號(就是開戶銀行的一個標識),銀行卡持有人名字

7

 

 

12

 

 

6.完善稅務信息 
15
7.以下默認選擇no

16

17

 

8.確認界面,下圖可能不太對,當時我是上下2個界面,第四項要上下一致才行 

18
二.上面資料完善后換需要配置相關虛擬物品
1.選擇應用
 

 


2.選擇功能,我們添加一個app內購項目。


 

 


3.選擇類型

a.可消費的產品  使用一次,之后就會耗盡,必須再次購買

b.非消耗品   一次購買的產品,不會到期,這種物品一般來說要使用恢復購買的功能

c.自動訂閱類內購  這種物品會在一段時間內自動訂閱
d.非自動訂閱   如一次訂閱一年的服務會員

 


 


 


4.提交一個屏幕快照(注意尺寸大小一般是用到內購的界面),然后保存。
三.接下來需要添加沙箱測試賬號,此賬號是在測試環境測試內購流程的

1.點擊進入用戶和職能界面


 2.選擇沙盒技術測試員

3.填寫測試員信息(填寫未被其他開發者使用的郵箱)


內購實現流程
 
一實現流程
主要有兩種情況
本地處理
1. 程序通過bundle存儲的plist文件得到產品標識符的列表。
2. 程序向App Store發送請求,得到產品的信息。
3. App Store返回產品信息。
4. 程序把返回的產品信息顯示給用戶(App的store界面)
5. 用戶選擇某個產品
6. 程序向App Store發送支付請求
7. App Store處理支付請求並返回交易完成信息。
8. App獲取信息並提供內容給用戶。
 
依靠服務器處理 (一般需要一個訂單號對應相應的憑證信息)
1. 程序向服務器發送請求,獲得一份產品列表。
2. 服務器返回包含產品標識符的列表。
3. 程序向App Store發送請求,得到產品的信息。
4. App Store返回產品信息。
5. 程序把返回的產品信息顯示給用戶(App的store界面)
6. 用戶選擇某個產品 生成訂單號
7. 程序向App Store發送支付請求
8. App Store處理支付請求並返回交易完成信息。
9. 程序從信息中獲得數據,(目前是訂單號和憑證)並發送至服務器。
10. 服務器將數據發給App Store來驗證該交易的有效性。(主要是憑證的驗證)具體可以查看https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573
11. App Store對收到的數據進行解析,返回該數據和說明其是否有效的標識。
12. 服務器讀取返回的數據,確定用戶購買的內容。
13. 服務器確認成功后告訴客戶端。
 
blob.png
 
漏單問題
需要注意的是因為訂單是和服務器保持同步的,但是購買流程在客戶端,所有因為網絡等問題會出現,漏單的問題,所以每次購買成功后需要本地保存一份憑證,只有當服務端驗證通過后才從本地刪掉,另外換需要在程序啟動后在合適的時機檢測是否有未處理的憑證,如果有需要給服務端驗證。
官方demo
https://developer.apple.com/library/content/samplecode/sc1991/Introduction/Intro.html#//apple_ref/doc/uid/DTS40014726
 
參考  http://allluckly.cn/ios支付/iOS開發2015年最新內購教程
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM