获取芝麻信用分最全档案,支付宝集成流程
分类:计算机编程

后天项目须求引进百度钱袋的SDK,供给将百度提供的静态库(framework)拖进项目里。如图所示:

一、全体框架流程和衔接流程

1.寻访demo是怎么着的

图片 1效果图图片 2效果图-新增

图片 3

1.1 全体框架流程

在网络检索“iOS支付宝sdk”,下载sdk(如图1)

1.费用情形:Xocode 7.3.1

自家把它内置了种类里vender/BaiDu文件夹下,然后编写翻译报错,如图所示:

图片 4

图片 5

2.模拟器情况:iOS 9.3

图片 6

1.2 接入流程
此文书档案,为完全的连通流程中的第三步,芝麻信用移动sdk的对接文书档案。别的技能细节,请参照他事他说加以考察芝麻信用支付平台和商人平台文书档案。
先是步:商行通过芝麻信用厂商平台进行配备申请

图1

3.iOS 9 之后无法一向利用 HTTP 实行呼吁,要求在 Info.plist 新增添一段用于调整 ATS 的配置:

此前,已经遵照百度钱包SDK接入文书档案把相应的一部分布局做好了。

第二步:商家庭服务务端对接芝麻信用支付平台,集成加密加签等效果

跻身到图2点击侧面移动支付德姆o&SDK再点击左边的iOS&Android版财富,点击左边SDK&DEMO下载SDK

<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>

一、遇到这种主题素材,首先检查是否系统在编写翻译阶段无法查找到这些framework并编写翻译,那要求按下图,配置部分事物,告诉xcode到何地去找那么些framework

其三步:商家app对接芝麻信用移动端sdk接口

图片 7

也即:

图片 8

第四步: 商户获得重回的params参数,通过中华VSA解密,能够获取授权结果以及客户的openId

图2

图片 9ATS配置

依靠实际处境,填入路线,因为本身是放在vender/BaiDu,所以填法如图

二、 开辟流程
导入 SDK的Framework文件
2.1 向工程中导入SDK Framework文件
Build Phases -> Link Binary With Libraries 里导入库
ZMCreditSDK.framework
ZMDependUponSDK.framework
(找不到的话,要求的能够联系作者~)
只顾:若是商行引入支付宝钱包SDK,则无需再引进ZMBuildUponSDK.framework, 因为那样能够解决一样类库冲突的标题

下载完结后解压,就赢得了这么些(图3)

[站外图片上传中……]

图片 10

将财富bundle导入工程
H5Service.bundle
Poseidon.bundle
(找不到的话,须要的能够调换自个儿~)
导入其余重视库
SDK中依赖了其余基础库来确定保障符合规律运作,请加多如下依赖库:
MobileCoreServices.framewrok
CFNetwork.framework
MessageUI.framework
EventKit.framework
AssetsLibrary.framework
CoreMotion.framework
Libz.dylib (Xcode 7 之后是libz.tbd)
SystemConfiguration.framework
CoreTelephony.framework
2.2 代码开采
2.2.1 在appdelegate中注册APP
第一倒入头文件:#import <ZMCreditSDK/ALCreditService.h>

图片 11

注:bitcode 是 xcode 7 之后新扩展的配置选项,默认为 YES,大家付出程序到 App store 上时,Xcode 会将前后相继编写翻译为壹在那之中级表现方式。然后 App store 会再将以此 bitcode 编写翻译为可进行的 64 位或 32 位程序。

二、再检查Build Phases里的Link Binary With Libraries里,有未有插足这一个静态库,若无,点击 号,弹出三个会话框,点击add other,找到十一分framework,加进去。然后,再此编写翻译,看看是或不是还报错。

[[ALCreditService sharedService] resgisterApp]; 

图3

在那个 德姆o 里无需动用 bitcode 功能,所以设置为了 NO。[站外图片上传中……]

三、重点

自身的百无一是照旧在,表达不是因为找不到静态库,而是编写翻译静态Curry的东西时,出了错误,那么大家再次来到错误本身,如图所示

图片 12

它的意味是,1这些文件里接纳2以此东西报了错。然后自身步向那个framework里看,确实存在BaiduWallet_Protal那么些文件,表明相当的大概在那文件之中,用到了MFMessageComposeViewController。

那极有希望是MFMessageComposeViewController是有些三方框架里的事物,恐怕是ios官方有个别框架里的事物,由于我早已根据接入文书档案把百度SDK要求的三方库全体导入了,所以排除第一项,然后笔者去百度“MFMessageComposeViewController”,得出结论,这个事物依赖一个静态库messageUI.framework,然后,与上文第二步的措施类似,增添那么些静态库,如图

图片 13

再编写翻译,开采对应那一行的不当已经抛弃了

图片 14

还剩余两个错,同理。斟酌开采JSValue和JSContext是正视JavaScriptCore.framework的东西,所以,把JavaScriptCore.framework增加进工程,再度编写翻译,就一向不不当了。

备注:

1、如果导入sdk时有demo,能够关切关切demo里引进了如何静态库,恐怕说引进了怎样框架,平日demo是单一的不会引进一些风马牛不相干的东西,所以只要你的工程报错,可以走近便的小路,先看看是否demo里有的框架恐怕静态库,你未曾。

2、一二步骤,是基于导入静态库时出错须求做的事。假如您报错的场所与本人分裂,能够珍视关怀三的笔触。希望对您有帮助!

3、转载请证实出处,多谢!

2.2.2 支付宝对app进行授权

再解压“支付宝卡包支付接口开荒包2.0规范版(iOS2.2.3)”就得到了这几个(图4)

4.导入百度地图 SDK

认证 URL:https://zmopenapi.zmxy.com.cn/openapi.do?sign=rr8lb07UarEXFp2gckiAc28y+eHHdq+YwWFBW3bl1iYMKK2ScHFYtZRdOxWwBgbqBily5P6455c4QjumfF+RQhHgFr6DrA7RfMDp3tQMbTAn7wtAR8vGE8o+uCKAgDMzF2lfqCSn+GcOtbhSwnNbJDJAsNWerlezkSTu0YrMLvA=&signtype=RSA&charset=UTF-8&appid=1000509&method=zhima.customer.certification.certify&version=1.0?ms=TNjy6EwBUey02QxJF4VUB4UjkRL1NjLHrK7XKD1J9sGvjvVPXGT7e1cupoxr+BZS1OXbhpf4LTRVzPIgROiyk6az+FFU7ud0378ugHn8UbqHu/vbeTRsEY0FDAekCv6AmY6xbVZRDkClVuM9k1KlZ6bVRvs/1zUgvjP8iSivKA0=
这里给一个参考URL

- (void)doVerify:(NSString* )url {
    // 这里使用固定appid 20000067

    NSString *alipayUrl = [NSString stringWithFormat:@"alipays://platformapi/startapp?appId=20000067&url=%@",
                           [self URLEncodedStringWithUrl:url]];
    if ([self canOpenAlipay]) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:alipayUrl] options:@{} completionHandler:nil];
    } else {
        //引导安装支付宝 根据需求这里也可以跳转到一个VC界面进行网页认证
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:@"是否下载并安装支付宝完成认证?"
                                                           delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"好的", nil];
        [alertView show];
        //网页认证
        //(传入认证 URL)
        BBDCZMCreditViewController *zmCreditVC = [[BBDCZMCreditViewController alloc] init];
        zmCreditVC.zmUrl = url;
        [self.navigationController pushViewController:zmCreditVC animated:YES];



    }
}

- (NSString *)URLEncodedStringWithUrl:(NSString *)url {
    NSString *encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)url,NULL,(CFStringRef) @"!'();:@&= $,%#[]|",kCFStringEncodingUTF8));
    return encodedString;
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        NSString *appstoreUrl = @"itms-apps://itunes.apple.com/app/id333206289";
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appstoreUrl] options:@{} completionHandler:nil];
    }
}

- (BOOL)canOpenAlipay {
    return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"alipay://"]];
}

图片 15

百度地图提供了三种导入格局,能够直接把 SDK 拖入到工程,也足以选取CocoaPods ,这里作者是用后边一种方法导入百度地图 SDK。

2.2.3 网页认证
网页认证直接调用H5页面,这里需求用到与JS的交互

图4

编排 Podfile 内容如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    //_zmUrl 这个世后台返回的一个认证后的url 加载授权认证网页
    [self.zmWeb loadHTMLString:_zmUrl baseURL:nil];
    [self.view addSubview:self.zmWeb];
}

开发文件夹,运营一向下探底视。就猎取了这么些很炫的界面(图5)

pod 'BaiduMapKit' #百度地图SDK

2.3 获取芝麻信用分

图片 16

在 Podfile 所在的文书夹下输入指令:

- (void) getZMCreditInfo{
    // ①把用户数据传给服务器,即传入参数(字典)
    //(如果后台从别的页面已经获取到用户的这些数据了,此处也可以不传参数,这就看你跟后台怎么商量了;IDCardNumber:身份证号userName:用户姓名)
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"18位身份证号码", @"IDCardNumber", @"用户姓名", @"userName", nil];
    // 创建网络请求管理对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    // 申明返回的结果是json类型
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    // 申明请求的数据是json类型
    manager.requestSerializer = [AFJSONRequestSerializer serializer];
    // 如果报接受类型不一致请替换一致text/html或别的
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", nil];

    [manager POST:@"后台请求网址" parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

    } progress:^(NSProgress * _Nonnull uploadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        // ②芝麻信用SDK提供的方法,就是这么简单,就一行代码,搞定。(APPid(不是app的appid)是后台接入芝麻信用时申请时后台申请的,这个是固定的,写死就行)
        // ②这里只要传三个参数就行,app id、sign、params,芝麻信用会返回给我们一个字典,在result中
        [[ALCreditService sharedService] queryUserAuthReq:@"APP ID" sign:responseObject[@"sign"] params:responseObject[@"param"] extParams:nil selector:@selector(result:) target:self];

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    }];
}



- (void)result:(NSMutableDictionary*)dic{
    // ③从第二步中芝麻信用返回给我们的字典就是这的dic,你可以试着打印看一下
    // ③把params提交给服务器,服务器就能把芝麻信用分数返回给我们了,这里dict的key:params也是后台给你的,不是固定的。
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:dic[@"params"], @"params", nil];
    // 创建网络请求管理对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    // 申明返回的结果是json类型
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    // 申明请求的数据是json类型
    manager.requestSerializer = [AFJSONRequestSerializer serializer];
    // 如果报接受类型不一致请替换一致text/html或别的
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", nil];

    [manager POST:@"后台请求网址" parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

    } progress:^(NSProgress * _Nonnull uploadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        // 看看这里是不是打印出了你想要的芝麻分数了呢
        NSLog(@"%@", responseObject);

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    }];
}

图5

pod install

三、注意事项
ALCreditService是IOS SDK的效果入口,全体的接口调用都急需通过ALCreditService实行调用。
静心:分界面跳转是基于navigationController的push作用,并且选取的是系统的nav bar,若是商行端有对nav bar作自定义,请在调用SDK在此以前,进行nav bar的调度。
由于sdk里面有用到c编写翻译,请把调用queryUserAuthReq的controller后缀名改成.mm
附官方demo链接:滚到最下边

咱们再来看看源码:

然而无论是试行 pod install 还是 pod update 都卡在了 Analyzing dependencies 不动.

https://zmmcportal.zmxy.com.cn/technology/openDoc.htm?relInfo=CERTIFICATION_QUICK_START

图片 17

一旦从前设置过 CocoaPods,在安装和翻新第三方类库的时候提出选拔上面包车型地铁言语,那样不用等太多时光:

特别注意:像ofo、优拜单车、永安行 支付宝顾客端的认证情势独有和支付宝深度合营能力够做......
未曾深度合营就老老实实使用H5来授权认证。

图6

pod install --verbose --no-repo-updatepod update --verbose --no-repo-updatepod install --no-repo-update

(持续更新~)

图6中所示在APViewController中有多个字符串变量,和图5个中的升迁是同样的,那一个玩意儿便是专营商和Ali签定合同后收获的一密密麻麻标示符。到时候和百货店要。

先是步、依据须要导入 .framework包

2.协和集成支付宝

百度地图 iOS SDK 接纳分包的款型提供 .framework包,请广大开垦者使用时保险各分包的版本保持一致。其中BaiduMapAPI_Base.framework 为根基包,使用 SDK 任何功用都需导入,别的包括可按需导入。将所需的 BaiduMapAPI_XX.framework 拷贝到工程所在文件夹下。在 TAGL450GETS->Build Phases-> Link Binary With Libaries 中式点心击“ ”按键,在弹出的窗口中式点心击 “Add Other” 按键,采用BaiduMapAPI_XX.framework 增添到工程中。注: 静态库中选取 Objective-C 达成,由此须要你保障你工程中足足有二个 .mm 后缀的源文件(您能够将随便一个 .m 后缀的文本改名称叫.mm),恐怕在工程属性中内定编写翻译形式,即在Xcode的Project -> Edit Active Target -> Build Setting 中找到 Compile Sources As,并将其安装为 "Objective-C "

新建二个档期的顺序(注意:项目必得是罗马尼亚语,不然会油然则生迷之bug)。

其次步、引进所需的系统库

回到刚才下载的demo中有三个文件 AlipaySDK.Bundle和AlipaySDK.framework。将那多个文本拷贝到项目中

百度地图SDK中提供了确定地点功能和动画效果,v2.0.0本子起首选取OpenGL渲染,由此你须要在你的 Xcode 工程中引入CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework、libsqlite3.0.tbd(xcode7此前为 libsqlite3.0.dylib)、CoreTelephony.framework 、libstdc .6.0.9.tbd(xcode7在此之前为libstdc .6.0.9.dylib)。(注:浅黄标志的系统库为v2.9.0新添的系统库,使用v2.9.0及以上版本的地图SDK,必得扩张导入那3个系统库。)增多措施:在Xcode的Project -> Active Target ->Build Phases ->Link Binary With Libraries,增多那多少个系统库就能够。

图片 18

其三步、情况安插

图7

在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。

在ViewController中程导弹入头文件

第四步、引进mapapi.bundle能源文件

图片 19

一旦利用了根集散地图功效,供给增多该财富,不然地图不能平常显示mapapi.bundle 中累积了长久、暗中认可大头针注解View及路径关键点的财富图形,还蕴藏了矢量地图绘制必得的财富文件。即使您没有供给选用内置的图形显示效果,则足以去除 bundle 文件中的 image 文件夹。您也得以依据现实必要任性替换或删除该 bundle 中 image 文件夹的图形文件。方法:选辽宁中华工程公司程名,在右键菜单中选拔Add Files to “工程名”…,从BaiduMapAPI_Map.framework||Resources 文件中接纳 mapapi.bundle 文件,并勾选 “Copy items if needed” 复选框,单击 “Add” 开关,将能源文件增添到工程中。

图8

选拔 cocoaPods 导入的百度地图,运维之后也许会报错:[站外图片上传中……]那儿急需进入[站外图片上传中……]将具备的百度地图 framework 导入到工程中:[站外图片上传中……]然后再运营,错误消除,会产出上面包车型地铁谬误:[站外图片上传中……]那时候进入info.plist 增多 Bundle display name,如下图:[站外图片上传中……]安顿百度地图能源文件:[站外图片上传中……][站外图片上传中……]再次运营,调整台会输出『设置成功』则申明设置成功了。[站外图片上传中……]

在viewdidload方法中引进如下代码

代码结构:

  • Classess
    • 百度地图&路线设计
    • 覆盖物
      • YMAnnotationViewController - 自定义评释拖动调节器
      • YMAnnotationController - 系统标注拖动调节器
    • 主要调控制器
      • YMTableViewController - 刚进来程序的调整器
        • Controller
          • YMMapViewController - 百度地图调整器
          • YMPoiDetailViewController - 市肆详细情形调整器
          • YMRouteAnnotationController - 路线设计量调控制器
        • Model
          • YMPoi - 商号模型
          • YMPointAnnotation - 标明模型
        • View
          • YMAnnotationView - 标记视图
          • YMPaopaoView - 点击注脚弹出自定义的泡泡
    • Category
      • UIImage Rotate - 路线设计分界面 image 的扩大

注意:

  1. 需要把 AppDelegate.m 改成 AppDelegate.mm 文件
  2. 需要把门路设计量调节制也写成 .mm 后缀,即YMRouteAnnotationController.mm。

Order *order = [[Order alloc] init];

order.partner = partner;

order.seller = seller;

order.tradeNO = [self generateTradeNO]; //订单ID(由商家□自□行制定)

order.productName = product.subject; //商品标题

order.productDescription = product.body; //商品描述

order.amount = [NSString stringWithFormat:@"%.2f",product.price]; //商

品价格

新扩展效能:

新扩大七个调节器,分别是 YMAnnotationViewControllerYMAnnotationController,能够对自定义的标号和种类的标记进行拖动操作。

百度地图提供了上面包车型地铁代理方法:

/** *拖动annotation view时,若view的状态发生变化,会调用此函数。ios3.2以后支持 *@param mapView 地图View *@param view annotation view *@param newState 新状态 *@param oldState 旧状态 */- mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState fromOldState:(BMKAnnotationViewDragState)oldState;

不过作者实行安装的时候下面的办法并不起成效,大概接纳的点子不对...

据此自个儿使用了上边包车型地铁措施:

/** *当选中一个annotation views时,调用此接口 *@param mapView 地图View *@param views 选中的annotation views */- mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;/** *当取消选中一个annotation views时,调用此接口 *@param mapView 地图View *@param views 取消选中的annotation views */- mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;

像这种类型设置之后,每趟在当小编点击的时候大头针的时候,大头针处于选中状态,这一次设置大头针为开头拖动状态,然后拖动地图,撤废选中的时候,设置大头针为竣事拖动状态。

正如代码:

/** *当选中一个annotation views时,调用此接口 *@param mapView 地图View *@param views 选中的annotation views */- mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view { // 当选中标注的之后,设置开始拖动状态 view.dragState = BMKAnnotationViewDragStateStarting;}/** *当取消选中一个annotation views时,调用此接口 *@param mapView 地图View *@param views 取消选中的annotation views */- mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)annotationView { // 取消选中标注后,停止拖动状态 annotationView.dragState = BMKAnnotationViewDragStateEnding; // 设置转换的坐标会有一些偏差,具体可以再调节坐标的  值 CGPoint dropPoint = CGPointMake(annotationView.center.x, CGRectGetMaxY(annotationView.frame)); CLLocationCoordinate2D newCoordinate = [_mapView convertPoint:dropPoint toCoordinateFromView:annotationView.superview]; [annotationView.annotation setCoordinate:newCoordinate]; /// geo检索信息类,获取当前城市数据 BMKReverseGeoCodeOption *reverseGeoCodeOption = [[BMKReverseGeoCodeOption alloc] init]; reverseGeoCodeOption.reverseGeoPoint = newCoordinate; [_geoSearch reverseGeoCode:reverseGeoCodeOption];}

图片 20

说明:

1.在 AppDelegate.mm 的 - application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中设置百度地图处理者,需求在百度地图 API 调控台设置 AppKey:

NSString *mapKey = @"x5EHcRvWZm8uzkt3HUpGBQU3"; _mapManager = [[BMKMapManager alloc]init]; // 如果要关注网络及授权验证事件,请设定generalDelegate参数 BOOL ret = [_mapManager start:mapKey generalDelegate:nil]; if  { NSLog; }

2.施用 cocoaPods 可能会境遇上面包车型大巴难题[站外图片上传中……]消除办法如下:[站外图片上传中……]

再一次运营就不会报错了。

3.验证:地图上的标号抓取的是美团的数额。

证实:这只是四个简练的 demo,写的可比粗糙,我们能够给自身留言,须求产生什么样的效应,如果临时间,作者会全心全意加上需求的效果与利益,前边作者还有只怕会接二连三革新。多谢我们的帮助!假若您感觉笔者写的 demo 对你具有帮忙,请在 github 上下载的时候顺手给个 star,不胜谢谢!

图9

下边是 demo 下载地址:

您会开掘报错了。

github 下载地址

再回到下载的公文夹中

图片 21

图10

会意识有八个公文Order.h和Order.m,把那五个文件拷贝到项目中,再导入头文件。

图片 22

图11

踏向到Order.h中会发掘有繁多的性质名字被换掉了,果断改了它。

图片 23

图12

随着复制如下的代码:

order.notifyURL = @""; //回调URLorder.service = @"mobile.securitypay.pay";order.paymentType = @"1";

order.inputCharset = @"utf-8";

order.itBPay = @"30m";

//应用注册scheme,在AlixPay德姆o-Info.plist定义U奥迪Q5L types

NSString *appScheme = @"alisdkdemo";

//将商品新闻拼接成字符串

NSString *orderSpec = [order description];

NSLog(@"orderSpec = %@",orderSpec);

在复制完NSString *appScheme = @"alisdkdemo";这一句后须求在类型安顿中式茶食击info在底下的UTiguanLType中加多一个type,U大切诺基Lscheme的值为alisdkdemo;

图片 24

图13

合併完毕之后会发现还会有地点报错

图片 25

图14

申明呈现是签订公约错误,在付出文书档案中找到签字代码难点解决

图片 26

图15

到下载的demo里面找到那五个文件夹和四个文件,将文件拷贝到项目中,导入头文件“DataSigner.h”,重新编写翻译发掘啊会出现一批缺少框架的失实

图片 27

图15

此刻须要在报错的公文的头文件上导入foundation框架。编写翻译之后终于就剩叁个错了。

图片 28

图16

展开工程陈设文件BulidSetting,在寻觅框中输入“search”找到HeaderSearchPath,增多二个路径,内容为“$(SRCROOT)/项目名”回车,重新编写翻译。

图片 29

图17

会现出如图17所示的不当,此时内需导入一些静态库

libz.tbd

libc .tbd

Security.framework

CoreMotion.Framework

CFNetwork.framework

CoreTelephony.framework

SystemConfiguration.framework

图片 30

图18

加上完毕未来编写翻译就不会报错啦。

最后将

//将签订左券成功字符串格式化为订单字符串,请严酷依照该格式

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);

}];

}

这段代码复制到Viewdidload中。

再在AppDelegate.m中复制上边这段代码并导入

#import <AlipaySDKAlipaySDK.h>

- (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);

}];

}

if ([url.host isEqualToString:@"platformapi"]){//支付宝钱袋快登授权重回authCode

[[AlipaySDK defaultService] processAuthResult:url

standbyCallback:^(NSDictionary *resultDic) {

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

}];

}

return YES;

}

到此就马到成功,再结合项目实际做出修改就足以啦。

本文由pc28.am发布于计算机编程,转载请注明出处:获取芝麻信用分最全档案,支付宝集成流程

上一篇:吸引的命案,的设置难题 下一篇:没有了
猜你喜欢
热门排行
精彩图文