一、前言
-
用過支付寶支付的都知道,支付寶支付有兩個回調,一個是wap支付回調,一個是支付寶錢包回調,簡單來說就是,一個是有支付寶app的回調,一個是沒有安裝支付寶的回調
/**
* 處理錢包或者獨立快捷app支付跳回商戶app攜帶的支付結果Url
*
* @param resultUrl 支付結果url
* @param completionBlock 支付結果回調
*/
- (void)processOrderWithPaymentResult:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
/**
* 支付接口
*
* @param orderStr 訂單信息
* @param schemeStr 調用支付的app註冊在info.plist中的scheme
* @param compltionBlock 支付結果回調Block,用於wap支付結果回調(非跳轉錢包支付)
*/
- (void)payOrder:(NSString *)orderStr
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
二、問題
-
wap支付回調是在發起支付的方法裏面,而支付寶錢包的回調是在AppDelegate裏面實現的,那麼問題就來了,如果我有支付寶app~我在當前的頁面上發起支付,但回調卻不在當前頁面
三、解決方案
-
使用通知,在appDelegate的支付回調中發起一個通知,然後任意頁面監聽這個通知就可以處理
- 優點: