支付寶支付

支付寶文檔

支付寶系統(tǒng)交互流程.png

特別注意:

1. 構造交易數(shù)據(jù)并簽名必須在商戶服務端完成,商戶的應用私鑰絕對不能保存在商戶APP客戶端中,也不能從服務端下發(fā)曹步。
2. 同步返回是的數(shù)據(jù),只是一個簡單的結果通知休讳,商戶確定該筆交易付款是否成功需要依賴服務端收到支付寶異步通知的結果進行判斷讲婚。
3. 商戶系統(tǒng)接收到通知以后,必須通過驗簽(驗證通知中的sign參數(shù))來確保支付通知是由支付寶發(fā)送的俊柔。建議使用支付寶提供的SDK來完成筹麸,詳細驗簽規(guī)則參考異步通知驗簽。
App支付iOS集成流程詳解
  1. 啟動IDE(如Xcode)雏婶,把iOS包中的壓縮文件中以下文件拷貝到項目文件夾下物赶,并導入到項目工程中。
  2. 在需要調用AlipaySDK的文件中留晚,增加頭文件引用酵紫。
  3. 適配iOS9.0
  4. 組裝請求信息。
//將商品信息賦予AlixPayOrder的成員變量
    Order *order = [[Order alloc] init];
    order.partner = partner;
    order.sellerID = seller;
    order.outTradeNO = [self generateTradeNO]; //訂單ID(由商家自行制定)
    order.subject = product.subject; //商品標題
    order.body = product.body; //商品描述
    order.totalFee = [NSString stringWithFormat:@"%.2f",product.price]; //商品價格
    order.notifyURL =  @"http://www.xxx.com"; //回調URL
    
    order.service = @"mobile.securitypay.pay";
    order.paymentType = @"1";
    order.inputCharset = @"utf-8";
    order.itBPay = @"30m";
    order.showURL = @"m.alipay.com";
    
    //應用注冊scheme,在AlixPayDemo-Info.plist定義URL types
    NSString *appScheme = @"alisdkdemo";
    
    //將商品信息拼接成字符串错维、
    NSString *orderSpec = [order description];
    NSLog(@"orderSpec = %@",orderSpec);
    
    //獲取私鑰并將商戶信息簽名,外部商戶可以根據(jù)情況存放私鑰和簽名,只需要遵循RSA簽名規(guī)范,并將簽名字符串base64編碼和UrlEncode
    id<DataSigner> signer = CreateRSADataSigner(privateKey);
    NSString *signedString = [signer signString:orderSpec];
    
    //將簽名成功字符串格式化為訂單字符串,請嚴格按照該格式
    NSString *orderString = nil;
    if (signedString != nil) {
        orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
                       orderSpec, signedString, @"RSA"];
        //本地未安裝支付寶客戶端奖地,或未成功調用支付寶客戶端進行支付的情況下(走H5收銀臺),會通過該completionBlock返回支付結果赋焕。相應的結果參考"客戶端[同步返回參數(shù)說明](https://opendocs.alipay.com/open/204/105301/)"鹉动。
        [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
            NSLog(@"reslut = %@",resultDic);
        }];
    }

注意:這一步應在商戶服務端完成苫幢,商戶服務端直接將組裝和簽名后的請求串orderString傳給客戶端懈玻,客戶端直接傳給SDK發(fā)起請求。文檔和Demo是為了示例效果在客戶端實現(xiàn)秉剑。

  1. 配置支付寶客戶端返回url處理方法

回調方法.png

本地安裝了支付寶客戶端蜜氨,通過openURL同步返回結果(結果在URL中)械筛,可以通過支付包的-(void)processOrderWithPaymentResult:(NSURL*)resultUrl standbyCallback:(CompletionBlock)completionBlock;解析結果。

同步通知:支付寶 SDK 對商戶的請求支付數(shù)據(jù)處理完成后飒炎,會將結果同步反饋給商戶 App 端埋哟。
異步通知:對于App支付產生的交易,支付寶會根據(jù)原始支付 API 中傳入的異步通知地址 notify_url,通過 POST 請求的形式將支付結果作為參數(shù)通知到商戶系統(tǒng)赤赊。

同步返回的數(shù)據(jù)闯狱,商戶可以按照支付寶約定的方式在服務端驗證,驗證通過后抛计,可以認為本次用戶付款成功哄孤。有些時候會出現(xiàn)商戶App在支付寶付款階段被關閉導致無法正確收到同步結果,此時支付結果可以完全依賴服務端的異步通知吹截。

由于同步通知和異步通知都可以作為支付完成的憑證瘦陈,且異步通知支付寶一定會確保發(fā)送給商戶服務端。為了簡化集成流程波俄,商戶可以將同步結果僅僅作為一個支付結束的通知(忽略執(zhí)行校驗)晨逝,實際支付是否成功,完全依賴服務端異步通知懦铺。

交易查詢接口提供所有支付寶支付訂單的查詢捉貌,商戶可以通過該接口主動查詢訂單狀態(tài),完成下一步的業(yè)務邏輯冬念。 需要調用查詢接口的情況: 當商戶后臺趁窃、網絡、服務器等出現(xiàn)異常刘急,商戶系統(tǒng)最終未接收到支付通知棚菊; 調用支付接口后浸踩,返回系統(tǒng)錯誤或未知交易狀態(tài)情況叔汁; 調用alipay.trade.pay,返回INPROCESS的狀態(tài)检碗; 調用alipay.trade.cancel之前据块,需確認支付狀態(tài);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末折剃,一起剝皮案震驚了整個濱河市另假,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌怕犁,老刑警劉巖边篮,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奏甫,居然都是意外死亡戈轿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門阵子,熙熙樓的掌柜王于貴愁眉苦臉地迎上來思杯,“玉大人,你說我怎么就攤上這事挠进∩” “怎么了誊册?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長暖璧。 經常有香客問我案怯,道長,這世上最難降的妖魔是什么漆撞? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任殴泰,我火速辦了婚禮,結果婚禮上浮驳,老公的妹妹穿的比我還像新娘悍汛。我一直安慰自己,他們只是感情好至会,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布离咐。 她就那樣靜靜地躺著,像睡著了一般奉件。 火紅的嫁衣襯著肌膚如雪宵蛀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天县貌,我揣著相機與錄音术陶,去河邊找鬼。 笑死煤痕,一個胖子當著我的面吹牛梧宫,可吹牛的內容都是我干的。 我是一名探鬼主播摆碉,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼塘匣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巷帝?” 一聲冷哼從身側響起忌卤,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎楞泼,沒想到半個月后驰徊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡堕阔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年棍厂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片印蔬。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡勋桶,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情例驹,我是刑警寧澤捐韩,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站鹃锈,受9級特大地震影響荤胁,放射性物質發(fā)生泄漏。R本人自食惡果不足惜屎债,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一仅政、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盆驹,春花似錦圆丹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廉丽,卻和暖如春倦微,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背正压。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工欣福, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人焦履。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓拓劝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裁良。 傳聞我的和親對象是個殘疾皇子凿将,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容