1 。支付寶支付回調在appdelegate里面,支付成功后再那里做相應處理
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"safepay"]) {
//跳轉支付寶錢包進行支付,處理支付結果
[[AlipaySDK defaultService]PRocessOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
//(貌似可以不寫 后來經測試發現在支付頁面執行的回調)
//友盟分享 BOOL result = [UMSocialSnsServicehandleOpenURL:url];
// if (result == FALSE) {
// //調用其他SDK,例如支付寶SDK等(微信支付)
// return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
// }
return result;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
//跳轉支付寶錢包進行支付,處理支付結果
[[AlipaySDK defaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
if ([[resultDic objectForKey:@"resultStatus"]isEqualToString:@"9000"]) {
這里用了個通知做相應的頁面處理
//創建一個消息對象
NSNotification * notice = [NSNotificationnotificationWithName:@"zhifubao" object:nil userInfo:nil];
//發送消息
[[NSNotificationCenterdefaultCenter]postNotification:notice];
}
}];
}
return YES;
}
2 。支付要核對好參數問題,比如parternerID 上次就傳錯了 提示簽名錯誤,實則簽名是沒問題的,而是參數錯了!
3. .
// 應用注冊scheme,在當前項目的Info.plist定義URL types
NSString *appScheme = @"alisdkdemo";
這個參數自己隨便設一下就行 不過需要跟下圖位置保持一致
新聞熱點
疑難解答