iOS 支付 --蘋果內(nèi)購解讀

這段時間除了項目的開發(fā)筝蚕,也一直在看內(nèi)購锄列、Apple Pay、微信支付和支付寶支付的相關(guān)官方文檔物喷。剛好把需要的文檔都翻譯了一遍卤材,所以趁著雙休日把這一階段總結(jié)一遍遮斥,以便于進入下一個階段的開發(fā)中。


第一階段 內(nèi)購相關(guān)

一定要意識到蘋果的內(nèi)購只能出售虛擬物件(如數(shù)字化內(nèi)容扇丛、App功能以及服務(wù)等)术吗,但是真實世界中的服務(wù)(如一個俱樂部的會員資格)或物品(食物、衣物等)都不能使用內(nèi)購帆精,可以使用Apple pay较屿、微信支付等。

相關(guān)的官方文檔地址:

iTunes Connect中關(guān)于內(nèi)購配置的指南

關(guān)于內(nèi)購

1.iTunes Connect中的配置

iTunes Connect中對內(nèi)購的產(chǎn)品進行配置是正式開發(fā)的第一步实幕,官方文檔中詳細記錄了關(guān)于內(nèi)購產(chǎn)品創(chuàng)建的幾個步驟吝镣,我將在翻譯的過程中比較感興趣的幾個部分截取出來:

1.1內(nèi)購的類型

內(nèi)購類型

在iTunes Connect中配置的內(nèi)購產(chǎn)品一定要考慮清楚,這也是蘋果官方文檔對產(chǎn)品設(shè)計要求的重視昆庇。如果設(shè)計不妥當末贾,蘋果很有可能拒絕通過審核。

在iTunes Connect中創(chuàng)建的所有內(nèi)購類型都能修改整吆、刪除和添加新的產(chǎn)品拱撵。創(chuàng)建完產(chǎn)品之后,每一項后面都會出現(xiàn)不同顏色的圓形圖標表蝙,其實是為了更直觀的讓開發(fā)者知道當前內(nèi)購的狀態(tài):

上傳審核前的兩種狀態(tài)

內(nèi)購產(chǎn)品上傳到蘋果審核前拴测,報錯基本上就是元數(shù)據(jù)缺失,上面舉得例子:未上傳屏幕截圖府蛇,在上傳前需要搞清楚圖片上傳的尺寸:

? iOS requires at least 640 x 920 pixels.

? tvOS requires 1920 x1080 pixels.

? macOS requires 1280 x 800 pixels.

審核的狀態(tài)

如果蘋果對你的內(nèi)購產(chǎn)品做出了拒絕的行為集索,那么它一定會顯示拒絕的原因。如果你不是很理解汇跨,可以直接詢問蘋果審核團隊务荆。

當然還有幾個狀態(tài)

其他狀態(tài)

除了一些基本的屬性以及類型了解外,最重要的還有兩點:

1.怎么將內(nèi)購產(chǎn)品上傳穷遂?


應(yīng)用中第一次上傳內(nèi)購產(chǎn)品

Configure your in-app purchase product until its status is Ready to Submit.

配置你的內(nèi)購產(chǎn)品直到它的狀態(tài)變成 已經(jīng)準備好提交了

2 Select the version of your app that you are about to release and scroll down to the In-App Purchases section, just below the Builds section.

選擇你想要提交的應(yīng)用版本并且滾動到內(nèi)購的選項中函匕,在構(gòu)建版本的欄目下。

3 In the In-App Purchase section, click the Add button, as highlighted in the screenshot below.

在內(nèi)購的欄中蚪黑,點擊加號盅惜,在下面截圖中高亮的部分。

4 Choose which in-app purchase products you want to submit with this version of your app.

選擇你應(yīng)用該版本想要提交的內(nèi)購產(chǎn)品忌穿。

第一次上傳內(nèi)購產(chǎn)品

非第一次上傳內(nèi)購產(chǎn)品

1 Select the the app from My Apps.

選擇My Apps中的應(yīng)用

2 Click Features.

點擊功能

The In-App Purchases page displays all products configured for this app.

內(nèi)購頁面顯示所有為應(yīng)用配置的內(nèi)購產(chǎn)品

3 Make any needed changes until all products have the status Ready to Submit.

做任何的改變直到所有的產(chǎn)品都有一個狀態(tài) — 準備好提交了

On the product page, click the in-app purchase Reference Name to open a product you want to release. See Working with Your Product’s Metadata.

在產(chǎn)品頁面抒寂,點擊內(nèi)購的參考名稱來打開你想要上傳的產(chǎn)品。

4 Click Submit for Review.

點擊提交審核The in-app purchase product must have the status Ready to Submit for this button to be available.

內(nèi)購的產(chǎn)品必須有一個狀態(tài) — 準備好提交

5 Click Submit to confirm the submission.點擊確認提交The status of the in-app purchase products change to Waiting for Review.

內(nèi)購產(chǎn)品的狀態(tài)會變成等待審核

6 To release more than one product for review at once, select the products from the In-App Purchases page list and click Submit In-App Purchase.

為了一次性上傳多個產(chǎn)品伴网,在內(nèi)購頁面列表中選擇一個產(chǎn)品蓬推,點擊提交內(nèi)購產(chǎn)品。

The status of the in-app purchase products changes from "Ready to Submit" to "Waiting for Review”.

產(chǎn)品的狀態(tài)會從 “準備提交” 到 “等待審核”

2.已經(jīng)存在的內(nèi)購產(chǎn)品什么屬性修改時需要審核澡腾?什么屬性能隨時修改沸伏?

Changes before submission. If your in-app purchase product has never been submitted to Apple for review, you can make changes to the product details.

在提交前改變糕珊。如果你的內(nèi)購產(chǎn)品從沒有提供給蘋果審核,你能對產(chǎn)品的細節(jié)做任何的改變毅糟。

? Reference Name. You can change the product reference name at any time without review. The reference name will be used on iTunes Connect and in Sales and Trends reports. It won't be displayed on the App Store. The name can't be longer than 64 characters.

參考名稱红选。你能改變產(chǎn)品的參考名稱在任意的時間不需要審核。參考名稱將會使用在iTunes Connect和銷售和趨勢的報表中姆另。不會顯示在應(yīng)用商店中喇肋。名稱不能超過64個字符。

? Display Name and Description. Changes to the localized product descriptions require review. The existing text displays on the store until the new text is approved. The change has its own status separate from the overall status of the in-app purchase product. Before it is reviewed, you can revert the change.

顯示名稱和訂閱迹辐。改變本地產(chǎn)品描述需要審核蝶防。存在的文本會顯示在商店中直到新的文本被批準。這個改變有自己的狀態(tài)區(qū)別于內(nèi)購產(chǎn)品的整體狀態(tài)明吩。在被審核前间学,你能恢復(fù)改變。

? New Language Support. Because language settings are independent of one another, you can add and remove languages as needed. Text in new languages are reviewed individually. After a product is submitted, changes to localized text or new language support have their own status separate from the overall status of the in-app purchase product.

提供新的語言印荔。因為語言的設(shè)置是相互獨立的低葫,因此你能根據(jù)需要添加和移除語言。新語言的文本是獨自審核的仍律。在一個產(chǎn)品提交之后嘿悬,本地文本的改變和新語言的提交都和內(nèi)購的產(chǎn)品相關(guān)獨立的。

? Screenshot. A product must have a review screenshot in place for submission; after you upload a screenshot, you can replace it with another, but you can’t remove it. You can’t change the screenshot while the product is in review. You can update the screenshot if the product is rejected.

屏幕界面水泉。在提交的時候一個產(chǎn)品必須有審核的截屏善涨;在你上傳一個截屏?xí)r,你能更換成變的草则,但是你不能移除它躯概,在產(chǎn)品審核的時候你不能改變截屏。如果產(chǎn)品被拒絕了你能更新截屏畔师。

? Hosting Content with Apple. You can change a product to be hosted by Apple before you submit the product for review.

To manage in-app purchase products, you must be signed in to iTunes Connect with the appropriate role.

讓蘋果托管內(nèi)購。在你提交一個產(chǎn)品進行審核前你能改變讓蘋果進行一個產(chǎn)品的托管牧牢。為了管理內(nèi)購的產(chǎn)品看锉,你必須使用一個合適的角色登錄iTunes Connect中。

To make changes that affect the product’s status, pricing, availability instead of its metadata, see Working with Your Product’s Pricing and Availability.

為了改變產(chǎn)品的狀態(tài)塔鳍,價格和可使用性而不是元數(shù)據(jù)伯铣,參考Working with Your Product Pricing and Availability。

在iTunes Connect中配置完內(nèi)購產(chǎn)品之后轮纫,就該進入正式的代碼開發(fā)考慮了腔寡。

2.內(nèi)購產(chǎn)品開發(fā)

其實在看官方文檔的時候,有一些重復(fù)說明的地方掌唾。匯總而言放前,就是對類型的開發(fā)說明以及開發(fā)的處理流程忿磅。

2.1 內(nèi)購類型的開發(fā)說明

在iTunes Connect中已經(jīng)略提了內(nèi)購的類型有哪些,對于開發(fā)而言凭语,每一個內(nèi)購類型都需要不同的處理手段:

產(chǎn)品類型對比

非消耗型產(chǎn)品只需要購買一次葱她,并且會由蘋果同步和在不同設(shè)備中恢復(fù)購買的狀態(tài)。

消耗型產(chǎn)品使用一次就沒有了似扔,所以只會出現(xiàn)在收據(jù)上一次(購買新的東西之后吨些,更新收據(jù)的話那么消耗型產(chǎn)品會從收據(jù)上消失),并且需要開發(fā)者自己同步以及在不同設(shè)備中恢復(fù)狀態(tài)炒辉。

訂閱類型對比

自動續(xù)費訂閱能多次購買豪墅,并且由蘋果自己同步以及在不同設(shè)備匯總恢復(fù)狀態(tài)。

非續(xù)費訂閱能購買多次黔寇,但是同步等問題需要應(yīng)用自己管理偶器。比如訂閱的激活期和過期時間,同步到不同的設(shè)備中都需要由你的應(yīng)用自己負責(zé)啡氢。

2.2 開發(fā)的處理流程

步驟一 在iTunes Connect中配置了內(nèi)購的產(chǎn)品信息之后状囱,對于每一個產(chǎn)品都有唯一的一個標識符,向蘋果請求產(chǎn)品信息時需要提供該標識符

首先倘是,標識符可以存在:

① App bundle中:簡單設(shè)置一個plist文件即可亭枷,但是靜態(tài)更改不是很方便,所以對一些不是經(jīng)常改變的內(nèi)購產(chǎn)品而言可是使用該方法搀崭。

② 自己的服務(wù)器:通過一個接口請求數(shù)據(jù)叨粘,改變十分的方便。

獲取當前產(chǎn)品的標識符列表
向蘋果商店驗證當前商品標識符

步驟二 支付前判斷用戶是否能支付

[SKPaymentQueue canMakePayments];

不能支付的原因:

① 可能用戶已經(jīng)包月

② 受到家長控制無法支付

.......

步驟三 用戶選擇購買產(chǎn)品后瘤睹,向蘋果服務(wù)器請求支付

請求支付

將支付加入到事務(wù)處理隊列中升敲,這里有一個注意點:刷機問題

蘋果只知道用戶的Apple ID,如果一個Apple ID為多個應(yīng)用賬號支付轰传,那么可能存在不正當?shù)膯栴}驴党,可以通過設(shè)置applicationUsername屬性(確保提供的值是唯一值)

步驟四 實現(xiàn)代理方法,對交易狀態(tài)的監(jiān)聽

對狀態(tài)失敗和成功的監(jiān)聽获茬,失敗了好說提示一下"支付失敗了"港庄;

但是成功的話,上面也有提到有的支付類型是需要應(yīng)用自己管理的恕曲,所以需要將收據(jù)信息(或者你存儲需要的數(shù)據(jù))發(fā)送給服務(wù)器



其實在這次在學(xué)習(xí)支付前鹏氧,我一直不太敢接觸,總認為跟錢相關(guān)的東西很復(fù)雜佩谣。但是真正接觸之后發(fā)現(xiàn)其實還挺容易理解和操作的把还,包括蘋果的官方文檔中已經(jīng)把所有的東西都講的很明確了,下一步,整理Apple pay和微信支付吊履、支付寶支付的內(nèi)容安皱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市率翅,隨后出現(xiàn)的幾起案子练俐,更是在濱河造成了極大的恐慌,老刑警劉巖冕臭,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腺晾,死亡現(xiàn)場離奇詭異,居然都是意外死亡辜贵,警方通過查閱死者的電腦和手機悯蝉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來托慨,“玉大人鼻由,你說我怎么就攤上這事『窨茫” “怎么了蕉世?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長婆硬。 經(jīng)常有香客問我狠轻,道長,這世上最難降的妖魔是什么彬犯? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任向楼,我火速辦了婚禮,結(jié)果婚禮上谐区,老公的妹妹穿的比我還像新娘湖蜕。我一直安慰自己,他們只是感情好宋列,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布昭抒。 她就那樣靜靜地躺著,像睡著了一般炼杖。 火紅的嫁衣襯著肌膚如雪戈鲁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天嘹叫,我揣著相機與錄音,去河邊找鬼诈乒。 笑死罩扇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喂饥,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼消约,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了员帮?” 一聲冷哼從身側(cè)響起或粮,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捞高,沒想到半個月后氯材,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡硝岗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年氢哮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片型檀。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡冗尤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胀溺,到底是詐尸還是另有隱情裂七,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布仓坞,位于F島的核電站背零,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏扯躺。R本人自食惡果不足惜捉兴,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望录语。 院中可真熱鬧倍啥,春花似錦、人聲如沸澎埠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒲稳。三九已至氮趋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間江耀,已是汗流浹背剩胁。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祥国,地道東北人昵观。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓晾腔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啊犬。 傳聞我的和親對象是個殘疾皇子灼擂,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

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