iOS 支付 [支付寶、銀聯(lián)、微信]

支付寶


支付寶

使用支付寶進(jìn)行一個完整的支付功能,大致有以下步驟:

1>先與支付寶簽約,獲得商戶ID(partner)和賬號ID(seller) (這個主要是公司的負(fù)責(zé))

2>下載相應(yīng)的公鑰私鑰文件(加密簽名用)

3>下載支付寶SDK

4>生成訂單信息

5>調(diào)用支付寶客戶端,由支付寶客戶端跟支付寶安全服務(wù)器打交道

6>支付完畢后返回支付結(jié)果給商戶客戶端和服務(wù)器

在實(shí)現(xiàn)支付寶過程中,我們首先需要官方的文檔以及支付寶的SDK.這個第一次開發(fā)時,SDK很難找到下載地址,這里給大家留下傳送門:

支付寶開發(fā)者平臺:https://doc.open.alipay.com/doc2/alipayDocIndex.htm
支付寶SDK下載地址:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash

下載成功后可以看到如下的文檔:

給大家標(biāo)記的是一個支付寶的開發(fā)文檔.里面有詳細(xì)的開發(fā)步驟.


開發(fā)文檔

工程開發(fā)配置
首先我們需要從官方demo中拿到我們需要的類以及依賴庫,并將他們都拖入到我們的自己的工程項(xiàng)目中:

我們首先需要拿到官方的demo. 以下是官方demo的文件路徑:


文件路徑

找到我們需要的文件(ps:已經(jīng)給大家標(biāo)記出來了).這些文件都是我們工程中需要的文件.


需要的文件

工程配置文件
支付寶開發(fā)工程依賴庫
支付寶開發(fā)工程依賴庫

所有的配置完成后,工程項(xiàng)目可能會存在一些錯誤:
我們需要在該文件中引入頭文件.(這些錯誤官方開發(fā)者文檔也有說明喲)

頭文件

除此之外還會有一個路徑錯誤:


路徑錯誤

解決這個路徑問題也很簡單.官方文檔也說的很清楚.你需要在我們的項(xiàng)目中設(shè)置下路徑


設(shè)置路徑

這些配置完成后是不是編譯之后就成功了呢!
(ps:請大家注意這個細(xì)節(jié).在工程配置中設(shè)置URL Schemes,如果不設(shè)置,那么支付跳轉(zhuǎn)到支付寶后,無法再回到自己的app)
URL Schemes

這里給大家寫了一個按鈕關(guān)聯(lián)了一個支付寶支付的方法.里面給大家寫了詳細(xì)的參數(shù)注釋.

下載demo地址:http://pan.baidu.com/s/1o7qrTfc
銀聯(lián)支付
銀聯(lián)支付官方SDK下載地址:https://open.unionpay.com/ajweb/help/query

官方SDK下載位置

官方SDK下載位置


手機(jī)支付屬于手機(jī)控件支付產(chǎn)品

手機(jī)支付屬于手機(jī)控件支付產(chǎn)品

下載后我們需要找到以下位置


位置

這次打開官方的開發(fā)者文檔.是不是想說:呵呵!寫的真是漂亮

那么我這次就給大家說明下:
1.SDK 說明
SDK 分為以下兩個版本:
1.支持純無卡交易靜態(tài)庫,以下簡稱 UPPayPlugin,包含文件:
UPPayPlugin.h UPPayPluginDelegate.h libUPPayPlugin.a

2、支持純無卡交易和 VIPOS 音頻口支付靜態(tài)庫,以下簡稱 UPPayPluginPro,公司自主研發(fā)的 VIPOS(即“voice interface POS ”音頻接口 POS 機(jī))支付平臺,與銀聯(lián)聯(lián)合運(yùn)營,并協(xié)助銀 聯(lián)制定了手機(jī) POS 等安全規(guī)范、業(yè)務(wù)與技術(shù)標(biāo)準(zhǔn)。

包含文件:
UPPayPluginPro.h
UPPayPluginDelegate.h libUPPayPluginPro.a

3、添加 SDK 包
a.根據(jù)商戶選擇的SDK版本,將sdk/inc目錄和sdk/libs目錄下對應(yīng)版本的三個文件添加到 UPPayDemo 工程中;

b.如 果 你 選 擇 的 是 UPPayPlugin 版 本 , 添 加 QuartzCore.framework 、
Security.framework 到工程中;

c.如 果 你 選 擇 的 是 UPPayPluginPro 版 本 , 添 加 QuartzCore.framework 、AudioToolbox.framework, CoreAudio.framework 、 MediaPlayer.framework,AVFoundation.framework 和 Security.framework 到工程中;

工程配置:
1.在需要調(diào)用支付控件的源文件內(nèi)引用頭文件 UPPayPlugin.h 或 UPPayPluginPro.h(注意:如果工程的 compile source as 選項(xiàng)的值不是 Objective–C++,則引用此頭文件的文件類型都要改為.mm)


頭文件

直接修改類型就可以

2.在工程的 Build Settings 中找到 Other Linker Flags 中添加-ObjC 宏.(注意大小寫.O是大寫.C是大寫)


-ObjC注意大小寫

3.將 xcode 工程中 Build Setting -> Apple LLVM compiler Language 標(biāo)簽下的 C++ Language Dialect 和 C++ Standard Library 屬性值修改為 Compiler Default


C++ Standard Library
C++ Language Dialect

這里給大家寫了一個按鈕關(guān)聯(lián)了一個銀聯(lián)支付的方法.里面給大家寫了詳細(xì)的參數(shù)注釋.

下載demo地址:http://pan.baidu.com/s/1i4s4azz
微信支付
微信支付官方SDK下載地址:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1

在官方的開發(fā)者平臺上面還有開發(fā)者文檔


開發(fā)者文檔

開發(fā)步驟
1:去微信開放平臺注冊應(yīng)用

https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=2c0fee9c43e1eb8f9febcc7cb73abf598e2d4011
創(chuàng)建移動應(yīng)用并成功之后會收到騰訊發(fā)來的郵件

微信官方發(fā)來的郵件

通過郵件你能獲得重要的參數(shù):
(1):AppID
(2):微信支付商戶號
(4):前往商戶平臺完成入駐
(4):API秘鑰(自己設(shè)置即可,注意一定要32位字母加數(shù)字的組合)記得保存好秘鑰,以后要使用


設(shè)置密鑰
設(shè)置密鑰

有了這些參數(shù)后,我們就可以開發(fā)自己的項(xiàng)目了.

首先我們需要把我們下載好的sdk導(dǎo)入到我們工程當(dāng)中.


官方sdk

這3個文件是必須要導(dǎo)入到工程中去的.除了這個以外,我們還需要把依賴庫給添加到工程中去


依賴庫

這些信息配置完成后,那么整個項(xiàng)目就可以進(jìn)行代碼實(shí)現(xiàn)支付了.

具體代碼實(shí)現(xiàn)部分可以參考我的demo.也是非常簡單的按鈕關(guān)聯(lián)了一個支付的方法.里面對參數(shù)寫了詳細(xì)的注釋.

微信支付demo下載地址:http://pan.baidu.com/s/1pKooaiJ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 這是開頭語 前不久做了一個項(xiàng)目,涉及到支付寶和和銀聯(lián)支付,支付寶和銀聯(lián)都是業(yè)界的老大哥,文檔、SDK都是很屌,屌的...
    斯科特帕克閱讀 899評論 1 4
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,466評論 25 708
  • 我曾想過 讓時間快點(diǎn)死去 讓記憶快點(diǎn)死去 讓樹林和玫瑰快點(diǎn)死去 然后 黑暗把夜吞沒 我曾想過 讓遺忘割裂細(xì)胞 在某...
    渁墨閱讀 156評論 0 0
  • 從媽媽突然轉(zhuǎn)戰(zhàn)職場并不是那么一件容易的事,有些事,明明了然于心,真正碰到,還是難免覺得糟心。不在自己身上的時候,覺...
    張?zhí)K端Josy閱讀 326評論 0 0
  • 每天的親子日記都是在睡前才完成,今晚之所以早點(diǎn)寫也是為了讓家長們 早一些看到,更好的了解我們的孩子在學(xué)...
    李璽辰媽媽閱讀 223評論 0 5