Apple Pay

Apple Pay的簡單介紹。

Apple

Pay并不是獨立的第三方支付服務(wù),相比較支付寶和微信支付,他沒有自己的賬戶,也不參與資金的流動, Apple

Pay只是將原有的實體銀行卡變成手機上“虛擬的銀行卡”。Apple

Pay依賴iPhone系統(tǒng)底層的整合,在便捷程度上,非第三方支付能比。如果你們真的要和第三方的支付對比的話.只說一句話:一個是系統(tǒng)級的,一個是應(yīng)用級的,剩下的,你們自己看著辦。

Apple Pay 是在 iOS 8 中第一次被介紹,它可以為你的應(yīng)用中的實體商品和服務(wù),提供簡單、安全、私密的支付方式。它使得用戶支付起來非常簡便,只需按一下指紋就可以授權(quán)進行交易。

并且Apple

Pay 也只能在特定的設(shè)備上使用,目前為止,這些設(shè)備包括 iPhone 6, iPhone 6+, iPad Air? 2, iPad

mini 3. 這是因為 Apple Pay 需要特定的硬件芯片來支持,這個硬件叫做 Secure Element

(簡稱SE,安全元件),他可以用來存儲和加解密信息??梢园阉斫獬尚枰环N硬件的支持.

實際上Apple Pay是在2016年的2月份才來到中國大陸.也就是說,如果我們要實現(xiàn)Apple Pay就要讓版本號支持到iOS9.2以上的系統(tǒng).

開發(fā)流程

我們在寫代碼前需要做一些工程的配置:我們需要有一個具有ApplePay服務(wù)的APP ID.以及真機測試的證書和描述文件

1、登錄開發(fā)者賬號,創(chuàng)建證書。

創(chuàng)建APPID(都會的,此處不在細說)

最最最重要的有點,我們要勾選ApplePay的服務(wù):

記得勾選Apple Pay服務(wù)

然后繼續(xù)

沒錯,你們看見這個Apple Pay服務(wù)了。但是他是黃色的不可用的。是不是和我們做遠程推送服務(wù)的時候有點像。沒錯,我們還需要一樣?xùn)|西:Merchant IDs(商業(yè)ID)

或者選擇已有的APPID 編輯, 添加 Apple Pay服務(wù)[和推送類 PushNotifications]

已有的APP ID 添加Apple Pay

然后繼續(xù)

創(chuàng)建 Merchant ID(商業(yè)ID)

點擊創(chuàng)建商業(yè)ID

點擊"+"添加

注意商業(yè)ID命名格式,merchant.com.kede.ApplePayDemoCN 這個值,我們工程中需要用到。

商業(yè)ID命名 命名格式一定要正確[此處merchant 字段會自動補全]

注:此處ID 要復(fù)制保留一下 xcode工程會用到

continue 繼續(xù)

生成完成后,還沒有結(jié)束,我們還需要進行商業(yè)id的修改:

點擊編輯


生成Apple Pay證書

點擊CreateCertificate后會出現(xiàn)這樣的界面

選擇YES

然后, continue。

*******************************************************

[注: 我測試的時候選擇NO 無法創(chuàng)建證書會報以下錯誤]

*******************************************************

接著需要一個CSR文件

CSR文件創(chuàng)建和平常申請證書一樣,就是鑰匙串從證書頒發(fā)機構(gòu)請求證書

[CertificateSigningRequest.certSigningRequest]

存儲到桌面

然后回到開發(fā)者中心,選擇上傳

選取桌面上的CSR[CertificateSigningRequest.certSigningRequest]

之后就可以繼續(xù),并下載到本地雙擊安裝到鑰匙串,? 然后選擇done

證書創(chuàng)建完成

**************************************

注: 此處測試時候生成的證書安裝到鑰匙串中會提示"此證書是由未知頒發(fā)機構(gòu)簽名的"[貌似不影響測試] [對接第三方的時候可能會對證書操作]

按照網(wǎng)上方法處理后會變?yōu)?此證書標(biāo)記為受此賬戶信任".

暫時這樣處理, 還沒找到其他方法

參考:

證書問題

http://www.lxweimin.com/p/a5f0795cf781

**************************************

配置證書和描述文件(真機測試)

接下來就是代碼部分了,新建工程。創(chuàng)建完成后,對當(dāng)前xcode進行配置信息。

配置xcode [注意bundle id 別錯了]

配置開發(fā)證書

接著還需要配置一個Capabilities

選擇一個可用的Merchant ID

選擇后,如果下面會出現(xiàn)一些紅色的錯誤。可能因為我們當(dāng)前這個工程中的配置還未完成。接著可能需要開發(fā)整證書/發(fā)布證書/描述文件。

這里證書創(chuàng)建,描述文件的創(chuàng)建(齒輪文件)[大家都會的]。

然后證書和描述文件下載下來,雙擊運行。然后繼續(xù)配置xcode

然后你回到Capabilities的位置, 你就會發(fā)現(xiàn),紅色錯誤解決了。

所有配置完成

以上就是Xcode的配置。

接下來,代碼部分:

我們需要添加一個按鈕,進行支付代碼的實現(xiàn)。我們要添加的按鈕是一個 PKPaymentButton, 這個在 iOS 8.3 時引入。這個按鈕是本地化的,能夠提供標(biāo)準(zhǔn)的樣式。因此,我們強力推薦使用這個按鈕來啟動 Apple Pay 的支付頁面。

//??? Type : 類型

//??? PKPaymentButtonTypePlain

//??? PKPaymentButtonTypeBuy

//??? PKPaymentButtonTypeSetUp (ios 9)

//??? PKPaymentButtonTypeInStore (ios 10)

//? ? style : 樣式

//??? PKPaymentButtonStyleWhite

//??? PKPaymentButtonStyleWhiteOutline

//??? PKPaymentButtonStyleBlack

也就是說,系統(tǒng)給我們提供了一個按鈕,專門用來處理ApplePay的操作,其實這個按鈕可不是隨便都可以使用:

顯示 Apple Pay 按鈕

https://developer.apple.com/apple-pay/Apple-Pay-Identity-Guidelines-CN.pdf

首先我們需要在我們的工程中引入頭文件#import

創(chuàng)建UI

支付按鈕方法

我的測試機是國行的 必須要支持銀聯(lián) 否則會崩潰, [countryCode,currencyCode都要正確]

[我個人判斷可能與Merchant ID證書創(chuàng)建的時候有關(guān),我用的開發(fā)者賬號只能選擇YES ]

判斷是否能使用Apple Pay

然后還需要遵循他的協(xié)議并且實現(xiàn)他的代理方法

遵循協(xié)議

實現(xiàn)代理方法:

在Apple Pay驗證了支付之后,仍然需要開發(fā)者來完成交易,這可以用didAuthorizePayment委托方法來完成,它需要你連接服務(wù)器并上傳支付令牌和其他信息,以完成整個支付流程。

效果[模擬器]



支付授權(quán)的流程:

1.框架發(fā)送支付請求給安全模塊,只有安全模塊可以訪問存儲在設(shè)備上的標(biāo)記化的卡信息。

2.安全模塊把特定的卡和商家等支付數(shù)據(jù)加密,以保證只有蘋果可以讀取,然后發(fā)送給框架??蚣軙⑦@些數(shù)據(jù)發(fā)送給蘋果。

3.蘋果服務(wù)器再次加密這些支付數(shù)據(jù),以保證只有商家可以讀取。然后服務(wù)器對它進行簽名,生成支付token,然后發(fā)送給設(shè)備。

4.框架調(diào)用相應(yīng)的代理方法并傳入這個token,然后你的代理方法傳送token給你的服務(wù)器。

也就說,Apple Pay只做了支付信息的傳遞,不做支付功能。真正實現(xiàn)Apple Pay功能的是我們公司的后臺人員。

服務(wù)器接收到token后的一般處理流程

1.驗證支付數(shù)據(jù)的哈希表和簽名 為加密過的支付數(shù)據(jù)解碼 向支付處理系統(tǒng)提交支付數(shù)據(jù) 向訂單追蹤系統(tǒng)提交訂單

2.處理支付請求時,你有兩個選擇;你既可以利用支付平臺處理支付請求,也可以自己實現(xiàn)支付請求處理流程。一個常用的支付平臺可以完成上述大部分操作。

注: demo測試的時候 , 首先硬件要支持Apple Pay [iPhone 6 以上設(shè)備]

系統(tǒng)版本我用iOS 8.1.1測試的Apple Pay不可用, iOS 9.3.5測試的可以

[網(wǎng)上有資料說是,國內(nèi)的要iOS 9.2 以上才可以]

相關(guān)參考:

1https://developer.apple.com/apple-pay/

2https://support.apple.com/zh-cn/HT203027

3https://developer.apple.com/apple-pay/get-started/cn/

4https://developer.apple.com/apple-pay/Apple-Pay-Identity-Guidelines-CN.pdf

5http://www.lxweimin.com/p/347379007a14

證書準(zhǔn)備:http://www.lxweimin.com/p/2e5e45afc246

證書問題

http://www.lxweimin.com/p/a5f0795cf781

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,643評論 2 380

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

  • 1.About Apple Pay Apple Pay是一種移動支付技術(shù),讓使用者把它們對真實的物品和服務(wù)的支付信...
    NEWWORLD閱讀 5,232評論 14 51
  • Apple Pay 一個方便 & 安全的移動支付技術(shù),讓用戶完成他們的支付環(huán)節(jié)并把支付相關(guān)的信息告訴你 只可以購買...
    skingtree閱讀 2,101評論 0 4
  • 關(guān)于 Apple Pay apple pay 是一種移動支付技術(shù),它可以讓用戶將自己在現(xiàn)實生活中購物、享受服務(wù)的支...
    LuxDark閱讀 542評論 0 2
  • 蘋果支付(Apple Pay): Apple Pay,簡單來說, 就是一種移動支付方式。通過Touch ID/ P...
    西風(fēng)頌閱讀 3,779評論 6 19
  • 答題技巧這東西也是老生常談了,各大培訓(xùn)機構(gòu)也總結(jié)了不少,但是總覺得他們總結(jié)的不夠全面,角度比較單一。所以我就在大量...
    遇見小凡閱讀 364評論 0 4