2018最新研究應用內(nèi)支付1:準備工作

前言:

近期耗拓,項目中用到應用內(nèi)支付,隨之在無任何參考資料的情形下奏司,獨上高樓乔询,望盡天涯路!開始應用內(nèi)支付資料收集韵洋,文檔閱讀竿刁,和源碼Demo分析等黄锤。

應用內(nèi)支付網(wǎng)上資料甚少,且特老食拜,需總體匯總后準備做一系列文章學習鸵熟,愿與各位大神切磋技術點滴。

好了负甸,廢話不多說了流强,本篇重點為對應用內(nèi)支付進行前期的理解,策略為有前人做好的技術分享呻待,能用則用煮盼,不能用則參考修改后自己總結學習。


目錄:

一.各種支付方式學習以及對應用內(nèi)支付理解

二.支付申請準備工作

三.蘋果三種賬戶設計學習

四.應用內(nèi)支付文字版流程梳理



一.各種支付方式學習以及對應用內(nèi)支付理解

1.各種支付方式有哪些

平時接觸比較多的微信支付带污,支付寶支付,銀聯(lián)支付等香到;

在iOS平臺支付主要分為二類:第三方支付和應用內(nèi)支付

第三方支付:支付寶鱼冀,微信支付,京東(包含其他App內(nèi)的支付等)悠就,銀聯(lián)支付等千绪;

應用內(nèi)支付:包含蘋果支付和IAP(內(nèi)購)。

其中第三方支付之前集成學習過微信和支付寶支付詳見下面文章:

支付__支付寶App支付接入流程(一)

微信__支付App支付接入流程(二)

支付__解讀我的微信和支付寶封裝類庫(三)

應用內(nèi)支付中的蘋果支付和內(nèi)購支付最大的區(qū)別在于購買的物品是真實物品還是虛擬物品

如人們平時網(wǎng)上購物的衣食電器類的為真實物品梗脾,采用蘋果支付荸型;而形如,會員炸茧,游戲幣瑞妇,訂閱網(wǎng)絡雜志等虛擬物品采用內(nèi)購支付IAP。

注意:本系列文章主要討論IAP內(nèi)購支付方式梭冠。


2.應用內(nèi)支付理解

IAP全稱為In-App Purchase,即為應用內(nèi)支付方式辕狰,蘋果設立的目的即因為人家提供平臺,我們各位技術人員用技術開發(fā)產(chǎn)品控漠,對一些虛擬產(chǎn)品(如會員)抽成30%蔓倍,不然不讓審核通過,霸道的吸血鬼吧盐捷!

蘋果對虛擬產(chǎn)品定義如上面支付分類偶翅,對虛擬產(chǎn)品本身細分為以下四類,解釋也很詳細碉渡,這里就不多說了聚谁!

圖1:應用內(nèi)支付虛擬產(chǎn)品展示


二.支付申請準備工作

1.第一個參考對象如下:

iOS開發(fā)內(nèi)購全套圖文教程

該Demo主要參考到如下第一部分即藍色區(qū)間即可,因為第二部分不是最新的參考無用滞诺,第三部分可參考也可不參考垦巴,第四部分本篇之后的下篇會封裝完整Demo學習媳搪。

圖2:應用內(nèi)支付參考學習


2.創(chuàng)建內(nèi)購項目:

進入我們的項目后,按照以下步驟依次點擊添加內(nèi)購產(chǎn)品骤宣,注意下面紅色框框在第一次還沒添加項目時實際是空的哦秦爆!

圖3:應用內(nèi)支付創(chuàng)建內(nèi)購項目

進入下面的界面,注意這里的自動續(xù)期訂閱請謹慎選擇憔披,站在用戶的角度考慮是不太合理的哦等限!

圖4:應用內(nèi)支付虛擬產(chǎn)品注意事項

點擊創(chuàng)建后來到下圖所示頁面,依次填上藍色箭頭所指的地方芬膝,紅色箭頭往下的內(nèi)容暫時可不填望门,之后點擊存儲,即完成商品的創(chuàng)建锰霜;需要注意的是筹误,上線審核前需要和產(chǎn)品經(jīng)理溝通以下內(nèi)容如何填的問題,切記癣缅,不然蘋果可能無法過審厨剪,且不能有測試的字樣。

圖5:應用內(nèi)支付創(chuàng)建內(nèi)購項目


3.添加內(nèi)購項目測試賬號

回到我的App界面友存,如下圖所示:點擊對應的用戶和職能

圖6:應用內(nèi)支付添加內(nèi)購測試賬號步驟1

進入下面的界面祷膳,按照如圖順序點擊對應的+號添加

圖7:應用內(nèi)支付添加內(nèi)購測試賬號步驟2

進入下圖所示界面,之后全部填寫完畢屡立,點擊存儲即可直晨。

圖8:應用內(nèi)支付添加內(nèi)購測試賬號步驟3

其中如上所示的:

電子郵件可填一個假郵件,

密碼一定要復雜些膨俐,和AppId的密碼設置一樣勇皇,含有數(shù)字,大小寫字母和下劃線焚刺,不然就會出現(xiàn)下面的問題儒士,實測挺坑的。

內(nèi)購無法創(chuàng)建沙盒測試賬號

AppStore地區(qū)本來沒什么可說的檩坚,可是關于游戲分區(qū)問題着撩,中國區(qū)和其他地方的區(qū)就不能是同樣的沙盒測試賬號,注意匾委!

同理AppStorre Connect 用戶創(chuàng)建如下拖叙,之后點擊下一步按照提示一步步走下去即可,唯一注意的是赂乐,這里的郵箱是真實郵箱薯鳍,切必須是綁定AppId的郵箱,因為添加完成后,郵箱會收到一個驗證鏈接加入

圖9:應用內(nèi)支付添加AppStorre Connect 用戶賬號步驟

至此挖滤,準備工作已全部完畢崩溪。


三.蘋果三種賬戶設計學習

原本在很早研究蘋果推送時第一次知道蘋果為了避免測試環(huán)境數(shù)據(jù)污染線上數(shù)據(jù),專門設置了所謂的二種開發(fā)模式斩松,開發(fā)中的為開發(fā)模式伶唯,上線后為生產(chǎn)模式;

本次開發(fā)中惧盹,蘋果雖號稱是2種模式乳幸,實際研究中發(fā)現(xiàn)為3種模式,

3.1即上面用戶和職能說的比較詳細的沙箱技術測試員模式钧椰;

3.2即同樣為上面用戶和職能中的AppStoreConnect用戶模式粹断;

3.2為真正通過蘋果審核后的線上普通用戶模式;

這三種模式有什么注意事項呢嫡霞?3.1模式一切為假的瓶埋,如郵箱賬號為假,付款金額為假诊沪,可以自行測試學習养筒;3.2模式則賬號必須為真的,且打包通過ad Hoc模式打包娄徊,之后通過TestFlight下載使用,但所付金額依然是假的盾戴。嘿嘿寄锐,以上2種模式可以好好裝土豪了哈!

3.3模式則是面對我們真正的用戶尖啡,一步步的真金白銀付出橄仆,當然是在蘋果抽走30%后的剩余部分。


四.應用內(nèi)支付文字版流程梳理

1.支付流程

1.1.支付前

(1).創(chuàng)建對應的商品衅斩,并告訴后臺對應的商品Id

(2).App從后臺獲取商品列表盆顾,埋伏對應的ProductId在每個應用中

(3).通過ProductId去蘋果服務器獲取蘋果對每個商品的的下單請求

1.2.支付中

(4).用戶點擊購買按鈕時,調(diào)出蘋果的支付AppId輸入賬號密碼窗口畏梆,輸入密碼后

(5).把對應已經(jīng)下單好的請求數(shù)據(jù)發(fā)送支付到AppStore

(6).蘋果處理支付請求后返回對應的transaction信息

(7).客戶端確認后開始驗證

1.3.支付后

(8).首先拿到transaction信息中的productId是否存在您宪,之后獲取本地的receipt字符串去蘋果服務器驗證

(9).驗證成功后再去我們的服務器驗證(本地服務器拿到此信息到蘋果服務器驗證),此即為雙重驗證

(10).最后根據(jù)我們的服務器返回結果決定用戶是否購買成功奠涌,同時我們的服務端要更改對應的字段宪巨,比方變成會員或者給用戶充對應的游戲幣等


2.注意事項:

1.其實第一次研究該支付時,是在用戶點擊了購買之后才開始下單溜畅,支付捏卓,雙重認證的流程,之后經(jīng)過具體改進慈格,把下單放在用戶點擊購買按鈕之前就會減少用戶等待時間怠晴,但又有一個問題遥金,用戶假如第一次進來就點擊購買,此時還未下單成功蒜田,則還會出現(xiàn)下單失敗的問題稿械,故而,詳情見下篇解決辦法物邑。

2.雙重認證時溜哮,客戶端發(fā)蘋果服務端時返回為0說明是正常支付成功信息,但是返回21002色解,也要注意是支付成功的信息茂嗓,只是因為本次支付成功距離上次太近了,有刷單嫌疑而已科阎,故而需要把這種情況考慮進去述吸,都發(fā)給后臺,其他則按照蘋果后臺返回的碼作相關邏輯即可锣笨。

詳見以下鏈接蝌矛,直接拉到最后即可。

蘋果官方文檔之應用內(nèi)支付返回Code碼

圖10:應用內(nèi)支付支付后蘋果返回Code碼介紹

3.支付成功后错英,用戶有時還未來得及驗證是否成功入撒,此時網(wǎng)絡失敗該如何!

這個問題椭岩,下面2.4已經(jīng)描述了對應的解決辦法茅逮。

4.下單,支付等用delegate(block)回調(diào)好還是用通知好些

個人傾向于通知判哥,原因有二:

其一献雅,支付成功后,要更改的地方可能不止該界面塌计,有更多頁面涉及挺身,一對多當然用通知;

其二锌仅,解決2.3的問題章钾,在遇到支付問題時,下次啟動的時候只要設置Appdelegate為觀察者热芹,可以在任意頁面把比方進入的首頁或者登陸頁繼續(xù)驗證支付雙重認證問題伍玖,直到有結果,避免漏單剿吻,錯單問題窍箍。

本篇啰里啰嗦,好像沒說到什么重點,原諒好久沒寫技術文章了椰棘,適應下纺棺,下篇等待干貨支付流程和Demo吧!

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末邪狞,一起剝皮案震驚了整個濱河市祷蝌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帆卓,老刑警劉巖巨朦,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剑令,居然都是意外死亡糊啡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門吁津,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棚蓄,“玉大人,你說我怎么就攤上這事碍脏∷笠溃” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵典尾,是天一觀的道長役拴。 經(jīng)常有香客問我,道長钾埂,這世上最難降的妖魔是什么河闰? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮勃教,結果婚禮上淤击,老公的妹妹穿的比我還像新娘匠抗。我一直安慰自己故源,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布汞贸。 她就那樣靜靜地躺著绳军,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矢腻。 梳的紋絲不亂的頭發(fā)上门驾,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音多柑,去河邊找鬼奶是。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的聂沙。 我是一名探鬼主播秆麸,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼及汉!你這毒婦竟也來了沮趣?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坷随,失蹤者是張志新(化名)和其女友劉穎房铭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體温眉,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡缸匪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了芍殖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豪嗽。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖豌骏,靈堂內(nèi)的尸體忽然破棺而出龟梦,到底是詐尸還是另有隱情,我是刑警寧澤窃躲,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布计贰,位于F島的核電站顶别,受9級特大地震影響冯凹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耻讽,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一洒琢、第九天 我趴在偏房一處隱蔽的房頂上張望秧秉。 院中可真熱鬧,春花似錦衰抑、人聲如沸象迎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砾淌。三九已至,卻和暖如春谭网,著一層夾襖步出監(jiān)牢的瞬間汪厨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工愉择, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留劫乱,地道東北人织中。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像衷戈,于是被迫代替她去往敵國和親抠璃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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