溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付

發(fā)布時(shí)間:2020-07-09 11:35:18 來(lái)源:網(wǎng)絡(luò) 閱讀:23171 作者:winann 欄目:移動(dòng)開(kāi)發(fā)

        本文介紹了iOS快速集成支付寶支付的方法,本文中介紹的方法是經(jīng)過(guò)一次封裝,因此配置完成之后調(diào)用僅需一行代碼即可支付寶支付,非常的方便,希望大家喜歡。


        我只是根據(jù)官方的文檔,對(duì)支付寶的SDK做了進(jìn)一步封裝,其中密鑰的生成很簡(jiǎn)單,需要看官方的文檔,官方的文檔我在工程附件目錄里也有一份,如果需要馬上集成,沒(méi)工夫研究的話,可以大致看一下密鑰的生成即可,其他的配置我會(huì)在下面進(jìn)行討論iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付。



        要在iOS應(yīng)用里集成支付寶支付,需要公司和支付寶簽約,然后生成相應(yīng)的密鑰。密鑰的生成支付寶的開(kāi)發(fā)文檔里已經(jīng)說(shuō)的非常清楚了,這里就不再討論iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付。



        雖然支付寶的文檔說(shuō)的非常的詳細(xì),比微信支付強(qiáng)100倍(微信支付的坑多的跟月球表面一樣,如果有需要,我會(huì)在接下來(lái)的博客中討論微信支付iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付),不過(guò)有一點(diǎn)需要提醒的是:大部分用戶根本就找不到支付寶的SDK和文檔在哪里下載!這也是我開(kāi)始做支付寶支付時(shí)候頭疼的事情:要做支付寶支付,你需要先找到官方的文檔和SDK才行!iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付



        不過(guò)上面我也說(shuō)了,附件中又支付寶目前最新的開(kāi)發(fā)文檔,工程中也集成了支付寶最新的SDK和開(kāi)發(fā)文檔,當(dāng)然,既然我找到了,就不會(huì)讓大家失望iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付。下面奉上支付寶的完整的文檔和SDK下載地址供大家下載:支付寶SDK、API文檔官方下載地址。 這個(gè)下載頁(yè)面是官方的下載頁(yè)面。iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付



        也可以看我的這篇博客:支付寶SDK下載問(wèn)題。好了,廢話不多說(shuō)了,下面就正式開(kāi)始本教程的內(nèi)容iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付:(提醒:如果動(dòng)態(tài)圖無(wú)法查看,可:“右鍵-在新標(biāo)簽中打開(kāi)連接”查看即可:


        1. 下載附件,點(diǎn)擊2分鐘快速集成支付寶快捷支付-51cto下載中心下載壓縮包,需要2積分,也可以在github上免費(fèi)下載:2分鐘快速集成支付寶快捷支付-github下載。

         github下載如圖所示:

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


        2.將工程中的IntegratedAlipay文件夾導(dǎo)入工程中,記得選copy(注意:工程名也是:IntegratedAlipay,不要導(dǎo)錯(cuò)了,應(yīng)該是:“存放目錄/IntegratedAlipay/IntegratedAlipay”路徑下的IntegratedAlipay目錄,有點(diǎn)兒小啰嗦哈~iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付);

        

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


        

        3.點(diǎn)擊項(xiàng)目名稱,點(diǎn)擊“Build Settings”選項(xiàng)卡,在搜索框中,以關(guān)鍵字“search” 搜索,對(duì)“Header Search Paths”增加頭文件搜索路徑,

        第一種方法(推薦使用):增加頭文件路徑:“$(SRCROOT)”,然后選擇后面的recursive(會(huì)在相應(yīng)的目錄遞歸搜索文件,就是子文件夾也會(huì)相應(yīng)的進(jìn)行搜索),這是最簡(jiǎn)單也推薦使用的方法(如下圖所示:);

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


        第二種方法:增加頭文件路徑:“$(SRCROOT)/項(xiàng)目名稱/IntegratedAlipay/AlipayFiles”(注意:不包括引號(hào),如果不是放到項(xiàng)目根目錄下,請(qǐng)?jiān)陧?xiàng)目名稱后面加上:“/相應(yīng)的目錄名”,保證是正確的路徑和格式),可以查看下面的動(dòng)態(tài)圖片。這種方法很羅嗦,就是手動(dòng)找到存放頭文件的路徑,還容易出錯(cuò),這是支付寶官方使用的方法,不推薦使用。

        

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


        4.點(diǎn)擊項(xiàng)目名稱,點(diǎn)擊“Build Phases”選項(xiàng)卡,在“Link Binary with Librarles” 選項(xiàng)中,新增“AlipaySDK.framework”和“SystemConfiguration.framework” 兩個(gè)系統(tǒng)庫(kù)文件。如果項(xiàng)目中已有這兩個(gè)庫(kù)文件,可不必再增加,(如下動(dòng)態(tài)圖,我添加一個(gè)SystemConfiguration.framework的方法);

        

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付




        5.在“AlipayHeader.h”頭文件中設(shè)置kPartnerID、kSellerAccount、kAppScheme、kPrivateKey的值(注意,建議除appScheme以外的字段都從服務(wù)器請(qǐng)求):

/**
 *  partner:合作身份者ID,以 2088 開(kāi)頭由 16 位純數(shù)字組成的字符串。
 *
 */
#define kPartnerID @"xxx"


/**
 *  seller:支付寶收款賬號(hào),手機(jī)號(hào)碼或郵箱格式。
 */
#define kSellerAccount @"xxx"

/**
 *  支付寶服務(wù)器主動(dòng)通知商戶 網(wǎng)站里指定的頁(yè)面 http 路徑。
 */
#define kNotifyURL @"xxx"


/**
 *  appSckeme:應(yīng)用注冊(cè)scheme,在Info.plist定義URLtypes,處理支付寶回調(diào)
 */
#define kAppScheme @"integratedAlipay"


/**
 *  private_key:商戶方的私鑰,pkcs8 格式。
 */
#define kPrivateKey @"xxx"


           因?yàn)楸竟こ痰膋AppScheme是寫好的,這樣工程在配置好其他的參數(shù)之后就可以直接運(yùn)行了,所以kAppScheme固定了,這里如果更改了,請(qǐng)?jiān)诠こ痰腎nfo的選項(xiàng)卡里也相應(yīng)的更改(如下圖所示),其他的“xxx”都需要換成公司簽約支付寶時(shí)返回的郵件內(nèi)容中的值:

iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付



        6.在需要用的地方導(dǎo)入“AlipayHeader.h”,并使用“[AlipayRequestConfig alipayWithPartner:...”方法進(jìn)行支付;


        例如button事件的寫法如下:

        

- (IBAction)payWithAli:(UIButton *)sender {
    [AlipayRequestConfig alipayWithPartner:kPartnerID seller:kSellerAccount tradeNO:[AlipayToolKit genTradeNoWithTime] productName:@"郵票" productDescription:@"全真郵票" amount:@"0.8" notifyURL:kNotifyURL itBPay:@"30m"];
}

        到這里,就已經(jīng)實(shí)現(xiàn)支付寶的支付了,現(xiàn)在還差最后一步:返回用戶的支付狀態(tài),請(qǐng)看第七步:


        7.在AppDelegate中處理事件回調(diào)(可直接復(fù)制下面內(nèi)容粘貼到AppDelegate中):


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    //如果極簡(jiǎn) SDK 不可用,會(huì)跳轉(zhuǎn)支付寶錢包進(jìn)行支付,需要將支付寶錢包的支付結(jié)果回傳給 SDK if ([url.host isEqualToString:@"safepay"]) {
    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
        NSLog(@"result = %@",resultDic);
    }];
    if ([url.host isEqualToString:@"platformapi"]){//支付寶錢包快登授權(quán)返回 authCode
        [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
        NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

        這個(gè)方法用來(lái)查看用戶的支付狀態(tài),詳細(xì)的參數(shù)說(shuō)明請(qǐng)查看官方文檔。


        好了,教程到這里就全部結(jié)束了,點(diǎn)擊button,就會(huì)跳到支付寶進(jìn)行支付,如果沒(méi)有安裝支付寶客戶端,會(huì)跳到支付寶的網(wǎng)頁(yè)。我們現(xiàn)在需要做的,就是button里面的內(nèi)容設(shè)置一行而已,是不是非常的簡(jiǎn)單?iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


        最后再啰嗦一遍iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付,支付寶SDK、API文檔和demo下載問(wèn)題:支付寶SDK下載問(wèn)題;工程下載地址:51cto下載中心:2分鐘快速集成支付寶快捷支付-51cto下載中心和github免費(fèi)下載:2分鐘快速集成支付寶快捷支付-github下載。



        如果還有什么問(wèn)題,或者有其它iOS開(kāi)發(fā)的相關(guān)問(wèn)題,歡迎在博客的下面提問(wèn),當(dāng)然,也可以@我的新浪微博,我會(huì)第一時(shí)間回復(fù)的!希望大家多多支持!iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付iOS開(kāi)發(fā):2分鐘快速集成支付寶快捷支付


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI