iOS支付寶SDK回調那坑

支付寶錢包支付接口開發包2.0標準版(iOS 2.2.1) ,回調不出來,demo給出的方法是:

- (BOOL)application:(UIApplication *)application
              openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication
           annotation:(id)annotation {

 
  if ([url.host isEqualToString:@"safepay"]) {
      
         [[AlipaySDK defaultService] processAuth_V2Result:url
                                       standbyCallback:^(NSDictionary *resultDic) {
          NSLog(@"result = %@",resultDic);
          NSString *resultStr = resultDic[@"result"];
        }];

  }
  return YES;
}

而事實上的回調是這樣的:

    if ([url.host isEqualToString:@"safepay"]) {
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
            NSString *resultStr = resultDic[@"memo"];
            NSLog(@"memo = %@",resultStr);
        }];
    }

這支付寶也真是的,雖然集成過程中很簡單,但是這個回調卻讓人想屎:
支付表是這樣說的:

/**
 *  處理授權信息Url
 *
 *  @param resultUrl 錢包返回的授權結果url
 *  @param completionBlock 跳授權結果回調,保證跳轉錢包授權過程中,即使調用方app被系統```kill```時,能通過這個回調取到支付結果。
 */
- (void)processAuth_V2Result:(NSURL *)resultUrl
             standbyCallback:(CompletionBlock)completionBlock;

另附幾個狀態碼:

   9000 訂單支付成功 
   8000 正在處理中  
   4000 訂單支付失敗 
   6001 用戶中途取消 
   6002 網絡連接出錯 

這個月把公司的項目重寫了一遍,收獲很多,等有點時間時,再慢慢分享給大家啊!
~nice

  • 如果有什么疑問,可以在評論區一起討論;
  • 如果有什么不正確的地方,歡迎指導!


注:本文首發于 iHTCboy's blog,如若轉載,請注明來源。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容