前言:關(guān)于支付寶的集成就看螞蟻金服的集成步驟走就好了。這里只提一下其他問題。
- 喚起支付寶
- 支付寶支付成功后無法返回app
- 支付成功后回調(diào)
--------------------------------V----------------------------------
mark
->服務(wù)端‘配置’完成后給的數(shù)據(jù)格式
"partner=\"2088901199988772\"&seller_id=\"2088901199988772\"&out_trade_no=\"ali_2018052217132700062\"&subject=\"\U96ea\U8304\U5ba2\U6808-\U79ef\U5206\U5145\U503c\"&body=\"\U96ea\U8304\U5ba2\U6808-\U79ef\U5206\U5145\U503c\"&total_fee=\"0.1\"¬ify_url=\"https://cigartest.iusung.com/Pay/AlipayNotify\"&service=\"mobile.securitypay.pay\"&payment_type=\"1\"&_input_charset=\"utf-8\"&it_b_pay=\"30m\"&show_url=\"m.alipay.com\"&sign=\"dO3KD%2fOC7C5HYl9K5zySWgpnRsE3Ene1mN4MbOGiC6BMcSg8V4htij3vqLAvTEVOhYMvvl0OaNkJwwsRTYgXU60jKAeZXeX%2b%2b8tO%2fi5yijazq2%2fyysj90Bnxk1fDGlx0%2b%2fqAMdyLjD3p%2bV6rLtJ4uHkveSVQQwL6t7fcjkGapbg%3d\"&sign_type=\"RSA\""
// 就是下面的orderString
-> objectName即你的工程名稱
- 喚起支付寶
[[AlipaySDK defaultService] payOrder:orderString fromScheme:@"objectName" callback:^(NSDictionary *resultDic) {
}];
-
支付寶支付成功后無法返回app,需要設(shè)置如下圖:
0022xwlygy6Me0sOY9re9.jpeg 支付成功后回調(diào)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
// 微信支付回調(diào)
[WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
//支付寶回調(diào)
if ([url.host isEqualToString:@"safepay"]) {
//跳轉(zhuǎn)支付寶錢包進(jìn)行支付,處理支付結(jié)果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result1 = %@",resultDic);
[self zhifubaoIsPay_status:resultDic[@"resultStatus"]];
}];
}
return YES;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
// 微信支付回調(diào)
[WXApi handleOpenURL:url delegate:self];
//支付寶回調(diào)
if ([url.host isEqualToString:@"safepay"]) {
//跳轉(zhuǎn)支付寶錢包進(jìn)行支付,處理支付結(jié)果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result2 = %@",resultDic);
[self zhifubaoIsPay_status:resultDic[@"resultStatus"]];
}];
}
return YES;
}
#pragma mark -- 處理支付寶支付回調(diào)結(jié)果
-(void)zhifubaoIsPay_status:(NSString *)status
{
NSInteger code = [status integerValue];
NSString *msg = @"支付失敗";
switch (code) {
case 9000:
{
msg = @"支付成功";
[[NSNotificationCenter defaultCenter] postNotificationName:ZFBPaySuccess object:nil];
}break;
case 8000: msg = @"正在支付中"; break;
case 4000: msg = @"支付失敗"; break;
case 5000: msg = @"重復(fù)請求"; break;
case 6001: msg = @"中途取消"; break;
case 6002: msg = @"網(wǎng)絡(luò)錯(cuò)誤"; break;
default:break;
}
[MBProgressHUD showAutoMessage:msg];
}
