支付宝支付开发IOS图文教程案例

前言:继上次《微信支付开发IOS图文教程案例》以来,一直没有太多时间,更新总结详细支付这样的长篇大论,很抱歉。今天,推出支付宝支付的详细流程。

1、开始下载和查看支付宝支付的Demo。

我们直接进入支付宝的支付平台参考来进行集成支付宝支付:

    https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.jIUkAQ&treeId=59&articleId=103675&docType=1

  集成过程基本上就是按照上面的四个流程就可以完成集成iOS的支付宝SDK。

  好,我们实际步骤来一边流程:

  点击下载SDK和Demo

    

  然后就会进入下面的一页,网址这里顺便给出:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1

  

  下载之后解压:

  然后运行Demo之后:

  我们会发现,不管我们点击那个Cell都会弹出这个的信息提示框。我们需要在源码中找到弹出这个信息的地方,这里顺便教大家一个快速找到目标代码的方法。

  你看弹出框提示的是:"缺少partner或者seller或者私钥",然后就这样:

  从上面图中的148、149、150行代码,我们可以看到,我们需要三个参数的值:partner、seller、privateKey。

  那么这三个参数就需要商户app申请的:

2、我们自己来实现支付宝支付功能:

  2-1、添加SDK:

  

  2-2、添加SDK依赖的类库:

  2-3、我们创建一个订单对象: AlipayOrder 

  

  2-4、然后我们把支付宝Demo中的订单对象的参数都拷贝进去:

  2-5、接着我们来处理支付的代码:

  2-6、下面我对拷贝的部分代码适当的抽取和修改,最后放在在了一个aliPay的方法中:

- (void)aliPay {
 // 支付宝支付
 /* 在调用支付宝支付之前,需要我们将相关订单参数发送至我们的后台服务器,由后台服务器进行签名处理,
 并返回客户端所有相关参数,客户端直接使用参数调起支付宝支付。
 */
 /*
 *商户的唯一的parnter和seller。
 *签约后,支付宝会为每个商户分配一个唯一的 parnter 和 seller。
 */

 /*============================================================================*/
 /*=======================需要填写商户app申请的===================================*/
 /*============================================================================*/
 NSString *partner = @"";
 NSString *seller = @"";
 NSString *privateKey = @"";
 /*============================================================================*/
 /*============================================================================*/
 /*============================================================================*/

 //partner和seller获取失败,提示
 if ([partner length] == 0 ||
 [seller length] == 0 ||
 [privateKey length] == 0)
 {
 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
 message:@"缺少partner或者seller或者私钥。"
 delegate:self
 cancelButtonTitle:@"确定"
 otherButtonTitles:nil];
 [alert show];
 return;
 }

 /*
 *生成订单信息及签名
 */
 //将商品信息赋予AlixPayOrder的成员变量
 AlipayOrder *order = [[AlipayOrder alloc] init];
 order.partner = partner;
 order.seller = seller;
 order.tradeNO = @"1234567890"; //订单ID(由商家自行制定)
 order.productName = @"测试商品标题"; //商品标题
 order.productDescription = @"测试商品描述"; //商品描述
 order.amount = @"0.01"; //商品价格
 order.notifyURL = @"http://www.xxx.com"; //回调URL

 order.service = @"mobile.securitypay.pay";
 order.paymentType = @"1";
 order.inputCharset = @"utf-8";
 order.itBPay = @"30m";
 order.showUrl = @"m.alipay.com";

 //应用注册scheme,在AlixPayDemo-Info.plist定义URL types
 NSString *appScheme = @"alisdkdemo";

 //将商品信息拼接成字符串
 NSString *orderSpec = [order description];
 NSLog(@"orderSpec = %@",orderSpec);

 //获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
// id<DataSigner> signer = CreateRSADataSigner(privateKey);

 // 签名值由服务器处理并返回客户端
 NSString *signedString = @"xxxxxxx_sign";

 //将签名成功字符串格式化为订单字符串,请严格按照该格式
 NSString *orderString = nil;
 if (signedString != nil) {
 orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
 orderSpec, signedString, @"RSA"];

 // 发起支付
 [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
 NSLog(@"支付结果 reslut = %@",resultDic);
 }];
 }

}

  2-7、另外我们需要在应用中注册appScheme,这个Scheme可以从上面代码中获取:

  

  2-8、添加appScheme

  2-9、支付代码处理之后,我们处理回调结果,我们需要在Appdelegate中添加支付宝头文件#import <AlipaySDK/AlipaySDK.h>并添加处理回到结果的代理方法:

  2-10、别忘了添加按钮监听和设置商户ID的参数

  补充:如果我们在使用支付宝支付的时候,如果我们手机安装了支付宝app,就会调用支付宝进行支付。

                     如果我们手机没有安装了支付宝app,就会调用H5界面进行支付。

3、获取商户支付ID

  以上就是本文的全部内容,希望对大家的学习有所帮助。

(0)

相关推荐

  • iOS支付宝使用方法详解

    支付宝相关资源下载地址:支付宝开放平台 在移动支付功能处下载. 一.使用官方的Demo 需要配置基本信息: 打开"APViewController.m"文件,对以下三个参数进行编辑. 二.集成支付宝到自己的工程 1.启动Xcode,为了方便快速开发,将解压包里面的AlipaySDK.bundle和AlipaySDK.framework 和Demo里面的以下文件拷贝到自己的工程文件夹中去,并导入到项目工程中. 2.在Build Phases选项卡的Link Binary With Lib

  • iOS动画解析之支付宝支付打钩动画的实现方法

    前言 我们平时在用支付宝付款时,会有一个支付中的动画和一个支付完成的动画.这篇博客主要分析一下这种动画效果,效果如下: 支付宝支付动画 一.动画解析 为了方便观察,放慢了动画的速度并添加辅助线: 放慢后的动画 从图中可以看出:加载圆弧运动轨迹可分为前半段和后半段:并且圆弧的起始角度(StartAngle)和结束角度(EndAngle)在做有规律的变化: 前半段: 从-0.5π到π,这一段运动中速度较快:StartAngle不变,始终未-0.5π:EndAngle在匀速上升,一直到π:前半段中圆弧

  • iOS仿支付宝芝麻信用分数仪表盘动画效果

    先看看效果图: 仪表盘动画效果.jpg 1.圆环上绿点的旋转 2.分数值及提示语的变化 3.背景色的变化 直接上主要代码: 1.自定义ZLDashboardView仪表盘文件: .h 文件: /** * 根据跃动数字 * * 确定百分比 * 现在的跳动数字-->背景颜色变化 * */ #import <UIKit/UIKit.h> @interface ZLDashboardView : UIView @property (nonatomic, strong) UIImage *bgIm

  • iOS开发支付宝支付成功返回字符串的处理操作

    { memo=""; result="partner=\"311811\"&seller_id=\"nse@gmail.com\"&out_trade_no=\"S005372\"&subject=\"\U522b\U5885\U8ba2\U5355\"&body=\"\U5885\"&total_fee=\"0.1\"

  • iOS实现类似微信和支付宝的密码输入框(UIKeyInput协议)

    目前在项目中需要实现发红包的功能,自己就写了一个密码输入框的控件,主要用到了UIKeyInput协议和CoreGraphics框架,效果类似微信支付,感觉还行就把我的思路和制作过程写下来给大家分享一下. 让你的自定义View具备输入的功能(UIKeyInput协议) 通过UIKeyInput协议可以为响应者提供简单的键盘输入的功能,让需要键盘的responder成为第一响应者就行了.UIKeyInput协议必须实现的有三个方法,分别是以下方法: #pragma mark - UIKeyInput

  • iOS支付宝支付方法详解

    支付宝SDK下载地址:https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1 支付宝集成 在支付宝集成的过程中,会遇到一些报错,下面就碰到的报错,和大家一起解决. 集成参考官方文档: 导入代码文档:https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.RiFaVa&treeId=59&articleId=103676&a

  • IOS 仿支付宝支付屏幕亮度变化机制

    1.首先,在需要实现的界面viewDidLoad中先保存亮度没有变化之前的亮度,因为这个界面消失之后还要变回原来的亮度,变化亮度也相当于用户的一种设置,所以也要保存一下这个状态,因为之后当APP在active和非active切换时候需要知道是否需要为用户做这个功能 // 保存原来的亮度 [[NSUserDefaults standardUserDefaults] setObject:@([UIScreen mainScreen].brightness) forKey:@"brightness&q

  • 支付宝支付开发IOS图文教程案例

    前言:继上次<微信支付开发IOS图文教程案例>以来,一直没有太多时间,更新总结详细支付这样的长篇大论,很抱歉.今天,推出支付宝支付的详细流程. 1.开始下载和查看支付宝支付的Demo. 我们直接进入支付宝的支付平台参考来进行集成支付宝支付: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.jIUkAQ&treeId=59&articleId=103675&docType=1 集成过程基本

  • 微信支付开发IOS图文教程案例

    前言:下面介绍微信支付的开发流程的细节,图文并茂,你可以按照我的随笔流程过一遍代码.包你也学会了微信支付.而且支付也是面试常问的内容. 正文: 1.首先在开始使用微信支付之前,有一些东西是开发者必须要知道的,打开下面链接: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1 然后可以看到下面的页面,这个就是微信支付商户平台的开发文档,很多东西是可以查阅和了解的,在开发使用微信SDK支付功能的时候,遇到了问题也可以到这找找相关须知信

  • Eclipse搭建spring开发环境图文教程(推荐)

    1 安装 springsource-tool-suite: (1)在官网上找安装Eclipse的对应版本(我的Eclipse版本是4.5.1,对应版本是3.7.2) http://download.springsource.com/release/TOOLS/update/3.7.2.RELEASE/e4.5/springsource-tool-suite-3.7.2.RELEASE-e4.5.1-updatesite.zip (2)INSTALL NEW SOFTWARE (3)下载sprin

  • C# 对Outlook2010进行二次开发的图文教程

    第一步:添加新项目 第二步:添加新的页签,注意,此页签是显示到Outlook主界面的 第三步:添加自己想要的文本框以及按钮 第四步:如果你想将此界面显示到主界面的话,需要这样设置:属性里面的RibbonType 设置为 Microsoft.Outlook.Explorer 运行后的结果: 获取所有邮件内容 Microsoft.Office.Interop.Outlook.Application app; Microsoft.Office.Interop.Outlook.Items items;

  • Ubuntu 20.04 下安装配置 VScode 的 C/C++ 开发环境(图文教程)

    前言: 之前安装了Ubuntu 18.04,结果在安装Codeblocks / VScode还是安装gcc,c/c++的时候出现了一堆错误(缺失依赖树等等问题,换源也无法成功),整了一个下午没有任何进展,网上找不到任何解决方法,于是只能重装了Ubuntu 20.04,之后Codeblocks倒是安装成功了,但是明明在已经安装了C/C++跟GCC编译包的情况,它仍然显示在该路径下找不到,无论路径是默认自动定位在/usr 还是在/usr/bin 之下仍然出现此情况,同样网上找不到任何解决方法,于是只

  • Apache+PHP+MySQL搭建PHP开发环境图文教程

    简介:总结在Windows环境搭建PHP开发环境(Apache+PHP+MySQL) 安装Apache 1.下载Apache,地址:http://www.apachelounge.com/download/,如下图: 2.解压压缩包,最好放到磁盘根目录,不然配置时容易报路径错误,我这里改了文件夹名,方便以后配置,如下图: 安装PHP 1.下载PHP压缩包,地址:https://windows.php.net/download,我下载的是PHP7.0 Thread Safe 版本,如下图: 2.解

  • vs2019配置Qt5开发环境(图文教程)

    目录 一.下载安装visual Studio2019 二.Qt安装 三.安装QT visual Studio Tool拓展的安装 四.qt visual studio tools插件的配置 五.新建vs下qt项目 使用visual studi 2019配置qt5开发环境.以及创建qt项目s 一.下载安装visual Studio2019 1.进入visual studio 官网下载community 2019版本(安装器). 2.下载完成后启动visual studio 的安装器,选择需要的开发

  • 支付宝支付开发——当面付条码支付和扫码支付实例

    本文介绍支付宝中当面付下属的条码支付.扫码支付.订单查询.退款申请的集成开发过程. 本文分为以下五个部分: 条码支付和扫码支付介绍 申请应用 密钥生成及配置 API及SDK集成 条码支付.扫码支付.订单查询.退款申请  一.条码支付及二维码支付介绍 1. 条码支付 条码支付是支付宝给到线下传统行业的一种收款方式.商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款.用户仅需出示付款码,所有收款操作由商家端完成.其使用场景如下: 业务流程: 使用步骤: 用户登陆支付宝钱包,点击

  • PHP后台微信支付和支付宝支付开发

    关于支付的流程之类的就不做解释,大家可以自行搜索! 微信支付 项目前提:本人用的是tp框架,PHP语言 下载到微信平台提供的微信支付接口文件,放在了tp第三方类库vendor,命名为WxpayAPI WxpayAPI/lib/WxPay.Api.php 接口访问类; WxpayAPI/lib/WxPay.Config.php 配置账号信息; WxpayAPI/lib/WxPay.Data.php 数据对象基础类; WxpayAPI/lib/WxPay.Exception.php 微信支付API异

  • Android支付宝支付开发实例

    在移动应用满天飞的时代,随着移动支付的盛行,很多应用中都集成了支付功能.之前的支付一直不是我负责,近期这个项目我负责订单模块少不了要做支付,每每提起支付就觉得怕怕,觉得很难,但当真正做的时候却远远没有想象中的那么难.支付宝的SDK提供了demo,我们只需要配置好一些基本信息,这个demo就可以正常支付.说了这么多,我们还是来看看完整的集成步骤吧! 1.首先得申请支付宝的商家用户,并签约支付宝的相关服务. 移动支付肯定是需要签约 移动支付 了,好像是废话. 2.支付宝商家账号有了之后就好办了,去支

随机推荐