新浪微網誌!
iOS開發者交流QQ群:
446310206
一、在app中成功完成支付寶支付的過程
1、申請支付寶錢包。參考網址:
這是使用支付寶支付的第一步,合作申請通過之後,會內建一個開發檔案。即使不申請也可以下載下傳,隻是demo中會缺少幾個必須的參數: 在demo中的 PartnerConfig.h 檔案中可以看到
//合作身份者id,以2088開頭的16位純數字
#define PartnerID @""
//收款支付寶賬号
#define SellerID @""
//安全校驗碼(MD5)密鑰,以數字和字母組成的32位字元
#define MD5_KEY @""
//商戶私鑰,自助生成
#define PartnerPrivKey
//支付寶公鑰(老闆給你的)
#define AlipayPubKey @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRAFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQEB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5KsiNG9zpgmLCUYuLkxpLQIDAQAB"
隻有這幾個參數備齊之後,demo才可以完成支付,是以接下來第二步
2、生成RSA
這個需要在windows系統下生成,開發文檔中也有生成的步驟。我是直接問背景要了這幾個參數,是以這一步隻能簡單寫到這。
3、導入架構
根據內建檔案的開發文檔,導入架構。可以參考demo。當四個參數都備齊之後可以先在demo上試一下能不能成功支付。然後再往自己的程式中導入。
新浪微網誌
二、代碼的使用
1、支付需要的參數
在demo中的ViewController.h中可以看到有這麼一段代碼
@interface Product :NSObject{
@private
float _price;
NSString *_subject;
NSString *_body;
NSString *_orderId;
}
@property (nonatomic,assign) float price;
@property (nonatomic,retain) NSString *subject;
@property (nonatomic,retain) NSString *body;
@property (nonatomic,retain) NSString *orderId;
@end
這個就是所支付産品需要的幾個必要的字段。在開發文檔中可以看到需要好多參數,但在真正用時,隻需要特别注意這幾個就行。demo中有自動拼接的方法,到時候直接調用就行。
2、app和支付寶用戶端之間的跳轉
NSString *appScheme = @"AlipaySdkDemo"; //應用跳轉的URL
*這裡要和plist檔案中URL types 下面的字段保持一緻
3、支付結果的入口
首先是WAP端的入口,在ViewController.m檔案中可以找到,這裡傳回支付結果,比較簡單,不多說。
獨立端的入口,在AppDelegate裡面,我試着在viewcontroller中找這個,但最後沒找到。最後隻能設定一個觀察者,把支付結果發送過來再進行處理。
三、總結
第一次接觸支付方面的東西,剛開始很迷茫,不明白其中财務方面是怎麼對上号的。
那些都是在背景進行處理的,iOS開發時需要做的,就是完成這個支付流程。
==================================具體看下面流程====================================
第一步:引入架構
第二步:注意架構及拉進相關檔案
第三步:上代碼
直接建立根視圖:
點選事件:
最終效果: