對(duì)于應(yīng)用增值的商品和服務(wù)需要使用應(yīng)用內(nèi)購(gòu)(IAP),比如會(huì)員,游戲中的道具,直播中的禮物
對(duì)于越獄的手機(jī)不要使用內(nèi)購(gòu),而使用第三方支付。
對(duì)于和應(yīng)用無(wú)關(guān)的商品,使用第三方支付,如支付寶,微信,銀聯(lián),也可以看使用Apple Pay
常用的支付方式有哪些?介紹一下集成邏輯
常見(jiàn)的支付方式:
1.內(nèi)購(gòu):購(gòu)買(mǎi)應(yīng)用的本身的增值服務(wù),比如會(huì)員,鮮花,禮物
2.第三方支付:支付寶,微信支付,銀聯(lián)還有Apple Pay
集成邏輯
一.內(nèi)購(gòu)集成:
內(nèi)購(gòu)準(zhǔn)備
登陸開(kāi)發(fā)者賬號(hào)注冊(cè)一個(gè)明確的APP的ID,導(dǎo)出Profile文件,雙擊安裝到電腦上;
然后去iTunes Connect添加內(nèi)購(gòu)信息,添加內(nèi)購(gòu)信息,后臺(tái)數(shù)據(jù)庫(kù)中也需要錄入內(nèi)購(gòu)產(chǎn)品信息;
為了能夠讓Apple把用戶(hù)支付的70%給你,如果開(kāi)發(fā)者賬號(hào)還沒(méi)有添加銀行稅務(wù)信息需要添加銀行稅務(wù)信息,這個(gè)銀行賬號(hào)可以是銀聯(lián)的借記卡
為了能夠測(cè)試內(nèi)購(gòu),如果開(kāi)發(fā)者賬號(hào)還沒(méi)有添加沙箱測(cè)試賬號(hào)就添加一下沙箱測(cè)試賬號(hào)
內(nèi)購(gòu)代碼實(shí)現(xiàn)流程
向蘋(píng)果請(qǐng)求可售商品
蘋(píng)果返回可售商品
展示可售商品
當(dāng)用戶(hù)購(gòu)買(mǎi)時(shí)創(chuàng)建支付票據(jù)
添加到支付隊(duì)列中
監(jiān)聽(tīng)支付狀態(tài)的改變(在ViewWillAppear添加監(jiān)聽(tīng),ViewWillDisappear中移除監(jiān)聽(tīng)),當(dāng)用戶(hù)購(gòu)買(mǎi)成功了,把商品給用戶(hù),并告訴后臺(tái)用戶(hù)支付成功 ? ? (后臺(tái)查詢(xún)是否真的付款了)
注意:對(duì)于越獄的手機(jī),(容易被盜取支付憑證)判斷是否是越獄手機(jī),使用第三方支付進(jìn)行付款
一,支付寶集成
準(zhǔn)備
與支付寶簽約,使用OpenSSL生成RSA的私鑰,公鑰上傳到支付的后臺(tái)
2.集成流程
導(dǎo)入支付寶的SDK,配置支付寶環(huán)境
生成訂單字符
對(duì)訂單字符串進(jìn)行簽名(私鑰不要放在代碼里,黑客->反編譯。放在后臺(tái),加密,https)
按照支付寶規(guī)定的格式吧訂單,簽名字符串和簽名方式拼接成為一個(gè)支付訂單字符串
調(diào)用支付SDK的方法,進(jìn)行支付,在回調(diào)的block中處理支付結(jié)果
在AppleDelegate的OpenURL方法中,也要處理支付結(jié)果,處理邏輯與回調(diào)處一致,這么做是因?yàn)楫?dāng)套轉(zhuǎn)的支付的時(shí)候我的應(yīng)用就處于后臺(tái)了,有可能被殺死,如果被殺死了,支付回調(diào)的block就不執(zhí)行了,所以需要在此處做個(gè)處理 ? (文檔地址:https://doc.open.alipay.com)
調(diào)用說(shuō)明https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.OPnUnp&treeId=193&articleId=105299&docType=1
三.微信集成
準(zhǔn)備
申請(qǐng)APP微信商戶(hù)
http://kf.qq.com/faq/120911VrYVrA150906F3qqY3.html
第1階段
注冊(cè)開(kāi)放平臺(tái)帳號(hào)
注冊(cè)成為微信開(kāi)放平臺(tái)開(kāi)發(fā)者
認(rèn)證開(kāi)發(fā)者資質(zhì)
開(kāi)發(fā)者資質(zhì)認(rèn)證通過(guò)后才可申請(qǐng)微信支付,申請(qǐng)審核服務(wù)費(fèi):300元/次
創(chuàng)建APP并提交審核
提交你的APP基本信息,通過(guò)開(kāi)放平臺(tái)應(yīng)用審核,以獲得AppID
微信認(rèn)證審核時(shí)間在7個(gè)工作日左右
第2階段
提交資料申請(qǐng)微信支付
申請(qǐng)成功后可以在APP中調(diào)用微信支付來(lái)付款
登錄開(kāi)放平臺(tái)|申請(qǐng)幫助|申請(qǐng)所需資料
開(kāi)戶(hù)成功,登錄商戶(hù)平臺(tái)進(jìn)行驗(yàn)證
平臺(tái)帳戶(hù)密碼請(qǐng)查看收到的開(kāi)戶(hù)郵件,驗(yàn)證款項(xiàng)(隨機(jī)金額)請(qǐng)查收你的結(jié)算帳戶(hù)
現(xiàn)在驗(yàn)證|驗(yàn)證幫助|查看商戶(hù)號(hào)|
約1~5個(gè)工作日
第3階段
在線(xiàn)簽署協(xié)議
本協(xié)議為線(xiàn)上協(xié)議,簽署后立即生效,然后可以進(jìn)行資金結(jié)算
啟動(dòng)設(shè)計(jì)和開(kāi)發(fā)
支付接口已可以在開(kāi)發(fā)環(huán)境下調(diào)用調(diào)試
查看開(kāi)發(fā)文檔(APP支付)|成功案例及界面規(guī)范
成功接入微信支付
2.集成關(guān)鍵點(diǎn)
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
四.銀聯(lián)集成
準(zhǔn)備:
注冊(cè)登錄,注冊(cè)需要提供營(yíng)業(yè)執(zhí)照號(hào)
選擇產(chǎn)品
現(xiàn)在收單機(jī)構(gòu)
上傳入網(wǎng)資料
銀聯(lián)收單機(jī)構(gòu)審核
銀聯(lián)集成在iOS端大概有三種形式:
跳轉(zhuǎn)到銀聯(lián)App支付
手機(jī)網(wǎng)頁(yè)支付
ApplePay 支付
銀聯(lián):跳轉(zhuǎn)到銀聯(lián)客戶(hù)端支付(裝載客戶(hù)端的很少)
下載SDK包
添加SDK包,設(shè)置環(huán)境
向服務(wù)端發(fā)送請(qǐng)求獲取支付的Token
調(diào)用支付方法
處理支付結(jié)果
五.Apple Pay集成
開(kāi)發(fā)準(zhǔn)備
去開(kāi)發(fā)者中心添加商戶(hù)的ID
編輯商戶(hù)ID,允許美國(guó)以外的國(guó)家使用Apple Pay
添加CSR(證書(shū)請(qǐng)求)文件
下載商戶(hù)證書(shū)
創(chuàng)建明確的AppID,勾選Apple Pay服務(wù)
回到Xcode,clear一下項(xiàng)目,如果配置正確則會(huì)出現(xiàn)一個(gè)Apple Pay.entitlements的文件
選中當(dāng)前項(xiàng)目的tagert->Capabilities->打開(kāi)Apple Pay的開(kāi)關(guān).
代碼實(shí)現(xiàn)
導(dǎo)入PassKit框架
首先判斷設(shè)備是否支持ApplePay快捷支付功能
其次判斷設(shè)備是否存在綁定過(guò)的并支持的銀行卡,若是設(shè)備沒(méi)有支持的銀行卡,則進(jìn)入設(shè)置銀行卡界面
最后,則創(chuàng)建支付請(qǐng)求
設(shè)置商品參數(shù)
設(shè)置支付認(rèn)證的控制器的代理
顯示支付界面
實(shí)現(xiàn)代理方法,處理支付結(jié)果
關(guān)于Apple Pay的文章http://www.itdecent.cn/p/2fcdbfdc721e