美文网首页
iOS开发中支付宝支付的集成(其实很简单)

iOS开发中支付宝支付的集成(其实很简单)

作者: 梁森的简书 | 来源:发表于2018-09-20 21:43 被阅读587次

注明:之前CSDN上的博客
最近项目中要使用支付宝支付,记得之前集成支付宝支付是挺麻烦的一件事,可这次集成支付宝支付却顺利、方便了许多,感谢支付宝开放平台的技术人员将集成文档写的越来越方便我们这些开发人员使用。先附上支付宝支付集成的官方文档https://docs.open.alipay.com/204/105295/

大概的集成流程就是1.下载官方demo 2.将AlipaySDK.bundle、AlipaySDK.framework两个框架导入到项目中并添加支付宝SDK依赖的系统库。 3.在AppDelegate中拷贝官方代码

// 仅支持iOS9以上系统

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options

{

//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响

BOOL result = [[UMSocialManager defaultManager]  handleOpenURL:url options:options];

if (!result) {

    // 其他如支付等SDK的回调

    if ([url.host isEqualToString:@"safepay"]) {

        //跳转支付宝钱包进行支付,处理支付结果

        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {

            NSLog(@"result = %@",resultDic);

        }];

     }

}

return result;

}

  - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];

if (!result) {

    // 其他如支付等SDK的回调

    if ([url.host isEqualToString:@"safepay"]) {

        //跳转支付宝钱包进行支付,处理支付结果

        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {

            NSLog(@"result = %@",resultDic);

        }];

    }

}

return result;

}

  - (BOOL)application:(UIApplication *)application

        openURL:(NSURL *)url

  sourceApplication:(NSString *)sourceApplication

     annotation:(id)annotation {

if ([url.host isEqualToString:@"safepay"]) {

    //跳转支付宝钱包进行支付,处理支付结果

    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {

        NSLog(@"result = %@",resultDic);

    }];

}

return YES;

}

4.在需要使用支付宝支付的控制器中导入头文件

# import <AlipaySDK/AlipaySDK.h>

5.在URL Types的URL Schemes中填写自己定义的具有唯一标识度的字符串,这是为了在支付宝App支付后能成功跳转回本App中,这个URL Schemes要和支付时使用的支付代码中schemeStr参数一致。

6.进行支付

//应用注册scheme,在AliSDKDemo-Info.plist定义URL types

        NSString *appScheme = @"唯一标识符";

        NSString * orderString = responseObject[@"data"][@"niu_index_response"];

        // NOTE: 调用支付结果开始支付

        [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {

            NSLog(@"reslut = %@",resultDic);

            NSString * memo = resultDic[@"memo"];

            NSLog(@"===memo:%@", memo);

            if ([resultDic[@"ResultStatus"] isEqualToString:@"9000"]) {

                [SVProgressHUD showSuccessWithStatus:@"支付成功"];

            }else{

                [SVProgressHUD showErrorWithStatus:memo];

            }

        }];

支付方法:

/**

 *  支付接口

 *

 *  @param orderStr       订单信息

 *  @param schemeStr      调用支付的app注册在info.plist中的scheme

 *  @param completionBlock 支付结果回调Block,用于wap支付结果回调(非跳转钱包支付)

 */

- (void)payOrder:(NSString *)orderStr

  fromScheme:(NSString *)schemeStr

    callback:(CompletionBlock)completionBlock;

订单信息是通过和后台交互,我们自己的后台返回给我们的订单信息。

支付宝支付就这样集成了,个人感觉简单了许多,希望帮助到寻求帮助的朋友们!

相关文章

  • ## [iOS 支付宝支付]

    [iOS开发系列-支付宝支付] 概述 开发中支付通常都会集成支付宝支付,下面讲解支付宝的整体流程。 集成支付宝支付...

  • 集成支付、第三方登录知识总结

    1、玩转iOS开发:集成 WeChat SDK - 支付篇2、玩转iOS开发:集成 AliPay - 支付宝

  • iOS Alipay -支付宝

    iOS 集成Alipay -支付宝支付 集成 AliPay - 支付宝

  • 支付宝支付流程(I)

    参考资料:支付宝支付集成支付宝支付集成实现蚂蚁金服iOS支付集成

  • ios支付宝签名

    支付宝: iOS 支付功能概述 - 简书 1.iOS集成支付宝 - 简书 2.iOS 集成支付宝 - 简书 3.i...

  • iOS&Android集成支付宝-server篇(PHP

    iOS&Android集成支付宝-server篇(PHP) 在上一篇文章《iOS集成支付宝-Swift版》中,我介...

  • ios-支付集成

    iOS开发之第三方支付支付宝支付教程,史上最新最全第三方支付宝支付方式实现、支付宝集成教程,支付宝实现流程 iOS...

  • 文章汇总

    ios iOS 网络篇 网络基础总结 支付宝集成 iOS支付宝支付集成 - demo例子集 - 博客园 理解 iO...

  • iOS - 三大支付系之核心流程

    马云的支付宝SDK_iOS 移动支付集成开发包--《支付宝钱包支付接口开发包2.0标准版.pdf》 我们还需要先生...

  • 支付宝集成

    搭建商品列表界面 集成支付宝 点击进入支付宝开发者平台 文档中心->文档目录->支付能力->App支付->iOS集...

网友评论

      本文标题:iOS开发中支付宝支付的集成(其实很简单)

      本文链接:https://www.haomeiwen.com/subject/vvhonftx.html