支付寶完整流程

1.支付:最常用的是下面兩個(gè)

  • 銀聯(lián)支付和支付寶支付

  • 支付的過(guò)程是:

商家 - 客戶-銀行 :三者關(guān)系復(fù)雜祝懂,這時(shí)候支付寶就出現(xiàn)了

2.具體的講解:支付寶

  • 首先要明白支付寶阿里出的

支付寶的步驟:

1>取支付寶官網(wǎng)或者某個(gè)支付寶網(wǎng)址申請(qǐng)使用權(quán)限
. 填寫個(gè)人\公司信息(不僅僅寫名稱粉寞,還要寫明干嘛的摄杂,一些正當(dāng)?shù)睦碛商汛埽热缯f(shuō)開(kāi)通支付寶干嘛的):給上級(jí)領(lǐng)導(dǎo)說(shuō)清楚
. 簽約(牽涉到法律問(wèn)題要簽約成功铃剔,這樣也是為了一些資金的糾紛)
2>如果審核通過(guò)(如果審核不通過(guò)一般是寫申請(qǐng)理由的時(shí)候不正規(guī)或者理由不充分)
  • 審核通過(guò)會(huì)得到:
    seller id 用戶用來(lái)識(shí)別唯一的一家商家的賬號(hào)
    partner id
    加密用到的一些文件(公鑰:商戶信息里面用和私鑰:代碼里面用)二者用來(lái)加密
3>當(dāng)我們的支付寶審核通過(guò)之后,我們要下載支付寶的SDK&DEMO(網(wǎng)頁(yè)版:一般webView加載支付寶網(wǎng)頁(yè)/無(wú)限版:打開(kāi)手機(jī)里面的支付寶)
  • 首先支付寶的官網(wǎng)SDK是深查刻,官網(wǎng)找不著键兜,它在支付寶開(kāi)發(fā)者平臺(tái)里面,也是支付寶的論壇里面支付寶demo下載接口:下載好穗泵,選擇iOS版本的普气,客戶端里面的,具體要里面的哪些東西(一共拖8個(gè))佃延,下面會(huì)具體的講解

(1).在桌面建一個(gè)alipay的文件夾现诀,把這8個(gè)文件放到里面夷磕,拉入我們的工程,操作按照下圖來(lái)(會(huì)有報(bào)錯(cuò)仔沿,沒(méi)事坐桩,下面的第2步做好就沒(méi)有報(bào)錯(cuò)了)

1

(2).把下面左右的庫(kù)導(dǎo)入工程general->最下面的+號(hào)來(lái)添加(做完這步就沒(méi)有報(bào)錯(cuò)了)

2

(3).獲取合作伙伴partnerID 公鑰和私鑰的的生成(在終端生成)

  • 1.partnerID記得保留下來(lái),后面用的到
  • 2.先建立一個(gè)文件夾:如pay,cd導(dǎo)入該文件夾輸入下面的代碼封锉,在文件夾里面會(huì)生成兩個(gè)文件绵跷,用mac自帶的筆記本打開(kāi),里面存放的是公鑰(開(kāi)發(fā)平臺(tái)里面進(jìn)行提交)和私鑰(代碼里面使用)
pay文件夾里面的生成的公鑰和私鑰
    生成公鑰:
    openssl genrsa -out rsa_private_key.pem 1024
    openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

    生成私鑰
    openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
  • 3.記得把公鑰填入 合作伙伴秘鑰->RSA加密

  • 下面是兩個(gè)版本的生成:mac和window,看準(zhǔn)了再選擇

3

(4).Xcode配置

    1)設(shè)置boudle id(使用支付寶平臺(tái)應(yīng)用的boundle id 和工程的boundle id 一致)
    2) 設(shè)置 partnerID sellerID privatekey
       導(dǎo)入 ://訂單框架
               #import "Order.h"
             //使用RSA加密框架
               #import "DataSigner.h"
             //支付報(bào)框架
               #import <AlipaySDK/AlipaySDK.h>

            //支付寶用到的參數(shù)
            //1.parterID(在支付寶里面獲取成福,這里的我改動(dòng)了碾局,自己填寫自己的)
            NSString *parterID = @"21525012394574210";

            //2.sellID
            NSString *sellID = @"18039677378";//賣家支付寶的手機(jī)號(hào)

            //3.私鑰(這里的私鑰是我的,刪掉了一部分奴艾,自己復(fù)制自己生成的私鑰)
            NSString *privateKey = @"MIICXAIBAAKBgQDKX3PMmJya2uM7WGpNQlq4wHOCVVJZ2eCOejUmAgxdOyyFeCk/VmxhNMgnX1zg03hIwae6KgQi3xgBp37vf9RMHOk+c9hmv4dDQGXZ2IF2nmgU1QcDeluWDJ966i/bTDwz4EGgCUyrbzzzV9kcECQQD0eW2sgo8+CAY+OSa0d+/7FwuczKNG9k7jXXuk92e/P0ZmCcyGKzlwWnRkPNXyUpQihFWKcdi8WBj/YB8xXd2pAkEA0+nmQGShICrfKimI5eNK5M8SjPRKG8a+lOgJXmuSHw58OAI7K6N/jegML4I0zRO0Fj8/8eJrJCQnR5qHdnM32QJBAIccxRxeW8QwsyKYe2eqEZt3tRdHkcWaQyctdzRI97Geys2CBOLx6KDLnR/471Uphm09LfmBygLtvYMGILcr5WECQCYJHnXCWhU+/K1BpTu17zRgYnEAS+juZDiv6TaUUjbWz77xz5MGlpdu5fkFAtsoRTOVCLIutJJZFt/IQbYl+gkCQBrlkgIrsfwOGdCz+oCgJ1/5Vzbjd9QksKzjs+hSn1HMY41lg2mvmG4rIIAOJa7iR8sYchIw6P5MGc4sAz4XzGU=";

    3) 生成訂單信息

        Order *order = [[Order alloc]init];

       //支付四要素
       /*
        *********************************支付四要素*********************************

      //商戶在支付寶簽約時(shí)净当,支付寶為商戶分配的唯一標(biāo)識(shí)號(hào)(以2088開(kāi)頭的16位純數(shù)字)。
       @property (nonatomic, copy) NSString *partner;

      //賣家支付寶賬號(hào)對(duì)應(yīng)的支付寶唯一用戶號(hào)(以2088開(kāi)頭的16位純數(shù)字),訂單支付金額將打入該賬戶,一個(gè)partner可以對(duì)應(yīng)多個(gè)seller_id握侧。
       @property (nonatomic, copy) NSString *sellerID;

      //商戶網(wǎng)站商品對(duì)應(yīng)的唯一訂單號(hào)蚯瞧。
      @property (nonatomic, copy) NSString *outTradeNO;

      //該筆訂單的資金總額,單位為RMB(Yuan)品擎。取值范圍為[0.01埋合,100000000.00],精確到小數(shù)點(diǎn)后兩位萄传。
      @property (nonatomic, copy) NSString *totalFee;
 
      */
     //4.1 parterID
        order.partner = parterID;
     //4.2 sellID
        order.sellerID = sellID;
     //4.3 訂單號(hào)
        order.outTradeNO = @"1234566789";
     //4.4金額
        order.totalFee = @"1.00";
     //支付必要參數(shù)
    /*
       *********************************其他必傳參數(shù)*********************************
    //接口名稱甚颂,固定為mobile.securitypay.pay。
    @property (nonatomic, copy) NSString *service;
    //商戶網(wǎng)站使用的編碼格式秀菱,固定為utf-8振诬。
    @property (nonatomic, copy) NSString *inputCharset;
    //支付寶服務(wù)器主動(dòng)通知商戶網(wǎng)站里指定的頁(yè)面http路徑。
    @property (nonatomic, copy) NSString *notifyURL;
   */
   //1.接口名稱
      order.service = @"mobile.securitypay.pay";
   //2.編碼格式
      NSString *inputCharset = @"utf-8";
   //3.回調(diào)地址
      NSString *notifyURL = @"www.xxx.com";

    4) 私鑰簽名
      //1.代簽名的字符串
         NSString *orderSpec = order.description;
      //2.使用RSA加密
         id<DataSigner> signer = CreateRSADataSigner(privateKey);
      //加密后的訂單信息
        NSString *singerStr = [signer signString:orderSpec];
    5)拼接訂單字符串
      NSString *orderStr = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
                      orderSpec, singerStr, @"RSA"];


    6)發(fā)送支付請(qǐng)求

         //開(kāi)始支付

        [[AlipaySDK defaultService]payOrder:orderStr fromScheme:@"mypay" callback:^(NSDictionary *resultDic) {
    
              NSLog(@"%@",resultDic);
    
       }];


    7)在appdelegate里處理客戶端返回的數(shù)據(jù)
4
5
6
  • 在appdelegate.m里面寫下代碼可以調(diào)用用戶手機(jī)支付寶的客戶端
 - (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
 sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {

if ([url.host isEqualToString:@"safepay"]) {
    //跳轉(zhuǎn)支付寶錢包進(jìn)行支付衍菱,處理支付結(jié)果
    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
        NSLog(@"result = %@",resultDic);
    }];
}
return YES;
}

// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
    //跳轉(zhuǎn)支付寶錢包進(jìn)行支付赶么,處理支付結(jié)果
    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
        NSLog(@"result = %@",resultDic);
    }];
}
return YES;
}

總結(jié)

 1、找到跟支付相關(guān)的SDK脊串,在工程中導(dǎo)入相應(yīng)的庫(kù)

 2辫呻、進(jìn)入支付平臺(tái)注冊(cè)應(yīng)用,獲取partnerID

 3琼锋、獲取私鑰(代碼中)  公鑰(開(kāi)發(fā)平臺(tái)中提交) 

 4放闺、Xcode配置

    1)設(shè)置boudle id
    2) 設(shè)置 partnerID sellerID privatekey
    3) 生成訂單信息
    4) 私鑰簽名
    5)拼接訂單字符串
    6)發(fā)送支付請(qǐng)求

    7)在appdelegate里處理客戶端返回的數(shù)據(jù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市缕坎,隨后出現(xiàn)的幾起案子怖侦,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匾寝,死亡現(xiàn)場(chǎng)離奇詭異搬葬,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)艳悔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門踩萎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人很钓,你說(shuō)我怎么就攤上這事香府。” “怎么了码倦?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵企孩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我袁稽,道長(zhǎng)勿璃,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任推汽,我火速辦了婚禮补疑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘歹撒。我一直安慰自己莲组,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布暖夭。 她就那樣靜靜地躺著锹杈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迈着。 梳的紋絲不亂的頭發(fā)上竭望,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音裕菠,去河邊找鬼咬清。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奴潘,可吹牛的內(nèi)容都是我干的旧烧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼萤彩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粪滤!你這毒婦竟也來(lái)了斧拍?” 一聲冷哼從身側(cè)響起雀扶,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后愚墓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體予权,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年浪册,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扫腺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡村象,死狀恐怖笆环,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厚者,我是刑警寧澤躁劣,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站库菲,受9級(jí)特大地震影響账忘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜熙宇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一鳖擒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烫止,春花似錦蒋荚、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荆几,卻和暖如春吓妆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吨铸。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工行拢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诞吱。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓舟奠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親房维。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沼瘫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • 支付寶集成過(guò)程詳解——運(yùn)行DEMO 前言,夢(mèng)想是需要堅(jiān)持的咙俩,在路上耿戚,一路前行湿故。加油。 這兩天軟件需要集成支付寶了膜蛔,...
    改昵稱已被占用閱讀 19,052評(píng)論 2 39
  • 此文檔寫于2017年3月皂股,只能說(shuō)明此時(shí)該文檔適用墅茉。使用前請(qǐng)查看以下接口支付寶是否提供。 App支付產(chǎn)品 批量付款到...
    冰凝雪國(guó)閱讀 13,058評(píng)論 4 22
  • 簡(jiǎn)介: 隨著移動(dòng)支付的普及呜呐,越來(lái)越多的App采用第三發(fā)支付就斤,在這里我們以支付寶為例,做一個(gè)快速集成蘑辑! 1战转、首先,我...
    laer_L閱讀 9,891評(píng)論 9 175
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念以躯,然后通過(guò)一個(gè)加密通信過(guò)程的例子說(shuō)明了加密算法的作用槐秧,以及數(shù)字證書的出現(xiàn)...
    sunny沖哥閱讀 1,383評(píng)論 0 3
  • 數(shù)字證書原理 - 無(wú)恙 - 博客園 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過(guò)一個(gè)加密通信過(guò)程的例子說(shuō)明...
    拉肚閱讀 1,662評(píng)論 0 3