到這裡下載SDK
https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1
Appdelegate.m
#pragma mark - 支付寶回調
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
// 支付跳轉支付寶錢包進行支付,處理支付結果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
if ([resultDic[@"resultCode"] isEqualToString:@"6001"]) {
//取消
}else if ([resultDic[@"resultCode"] isEqualToString:@"4000"]) {
//訂單支付失敗
}else if ([resultDic[@"resultCode"] isEqualToString:@"6002"]) {
//網絡連接出錯
}if ([resultDic[@"resultCode"] isEqualToString:@"9000"]) {
[[NSNotificationCenter defaultCenter]postNotificationName:ALIPAYORDERPAYRESULT object:SUCCESS];
//支付成功
}
}];
}
returnYES;
}
調起支付寶有兩種方法 這裡我介紹一種方法 payUrlOrder 是包含了商品各種信息的url (後台返回,把商品信息,id,價錢等傳給他會返回) fromScheme 項目的Bundle Id
[[AlipaySDK defaultService] payUrlOrder:url fromScheme:urlScheme callback:^(NSDictionary *resultDic) {
//這裡判斷是手機沒有安裝支付寶 調起網頁支付就會走這裡 如果安裝會走appdelegate.m的回調
if ([resultDic[@"resultCode"] isEqualToString:@"6001"]) {
//取消
}else if ([resultDic[@"resultCode"] isEqualToString:@"4000"]) {
[SVProgressHUD showErrorWithStatus:@"訂單支付失敗"];
}else if ([resultDic[@"resultCode"] isEqualToString:@"6002"]) {
[SVProgressHUD showErrorWithStatus:@"網絡連接出錯"];
}if ([resultDic[@"resultCode"] isEqualToString:@"9000"]) {
[self.navigationController popViewControllerAnimated:YES];
[SVProgressHUD showSuccessWithStatus:@"訂單支付成功"];
[self getUserInfomation];
}
}];
支付寶不涉及到系統左上角返回的坑
//完 如果有問題歡迎留言 謝謝大家支持
【iOS開發 支付寶支付 包看包會】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!