iOS 支付宝支付及授权

uniapp-App ios支付宝授权小记 我们在上一次介绍了安卓的uniapp支付宝授权,里面也提了一下ios 授权后用urlscheme跳回app,但有很多的ios版本都不会跳回app(ps:这是因为自ios9以后就不再推荐使用scheme的方式来打开app了而是推荐使用Universal Links的方式来打开app) 本篇将介绍ios支付宝授权后并返回app中 阅读详情

这篇博客只是讲解了客户端如何接入

下载支付的SDK

[https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1](https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1)

从demo中可以找到AlipaySDK.bundle和AlipaySDK.framework ,将他们添加到项目中,一定要记着是copy。

在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:

添加url schemes

点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”,在“URL Schemes”中输入“xxx”,这里输入什么都可以,自己选择,只要能让支付宝找到回调就可以。

在需要调用AlipaySDK的文件中,增加头文件引用。

import <AlipaySDK/AlipaySDK.h>

这里的orderString不用客户端管,服务器端会将这个字符串拼接好传给客户端,这里的appScheme要和上面的url schemes保持一致。

 [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
        NSLog(@"reslut = %@",resultDic);
 }];

支付结果通知:

在@implementation AppDelegate中以下代码中的NSLog改为实际业务处理代码

//这个是在ios9后的接口,如果需要适配ios9以前的系统,请找对应的api
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    if ([url.host isEqualToString:@"safepay"]) {
        
      
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            DLog(@"result = %@",resultDic);
            NSInteger orderState = [resultDic[@"resultStatus"] integerValue];
            NSString *notice = nil;
            if (orderState == 9000) {
                [[NSNotificationCenter defaultCenter] postNotificationName:AppPay object:nil];
                notice = @"支付成功";
            } else {
                switch (orderState) {
                    case 8000:
                        notice = @"支付正在处理中";
                        break;
                    case 4000:
                        notice = @"支付失败";
                        break;
                    case 6001:
                        notice = @"支付取消";
                        break;
                    case 6002:
                        notice = @"网络连接出错";
                        break;
                        
                    default:
                        break;
                }
            }
 
        }];
    }
    return YES;
}

下面是授权流程:

基本的配置和支付是一样的,不同的是在调用支付接口的地方变成授权接口

//这里的orderString也是由服务器拼接好返回,AppScheme同支付一样
[[AlipaySDK defaultService] auth_V2WithInfo:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
                            DLog(@"%@",resultDic);
}];

在@implementation AppDelegate中以下代码中的NSLog改为实际业务处理代码

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    if ([url.host isEqualToString:@"safepay"]) {
        
        
        [[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
            DLog(@"result = %@",resultDic);
            
        }];
       
    }
    return YES;
}

如果授权成功:

【
     resultStatus=9000
     memo="处理成功"
     result="success=true&auth_code=d9d1b5acc26e461dbfcb6974c8ff5E64&result_code=200 &user_id=2088003646494707"
  】

可以得到auth_code和user_id,这样只要截取出需要的数据就可以了,这样基本上授权完成。

 

如果哪里写的不对或者有补充的,欢迎斧正~

 

 

[iOS]支付宝授权登录采坑记 一、关于支付宝授权demo下载下来运行,报错:“缺少pid或者appID或者私钥,请检查参数设置"pid:partnerID,是合作商户号,商户给支付宝签约时由支付宝分配的,我是问后台同事要的私钥:商户生成的私钥。商户端要生成商户公钥和商户私钥,支付宝提供了生成公私钥的工具(有window和mac 两个版本)利用此工具就可生成,然后记得把公私钥传给支付宝,支付宝会生成支付宝公钥。在哪里上传?在刚才... 阅读详情

相关推荐

uniapp集成支付宝授权登录全流程指南(附iOS/Android适配方案)

本文详细介绍了在uniapp项目中集成支付宝授权登录的全流程,包括环境配置、授权流程设计与实现、平台适配方案(iOS/Android)以及测试上线注意事项。通过清晰的代码示例和实用技巧,帮助开发者快速掌握支付宝授权登录的集成方法,提升移动应用的用户体验。

weixin_29214691的博客 434

iOS支付宝开发流程与常见的问题

From: http://www.jianshu.com/p/e95080d8b464 接入支付宝的大致流程如下: 1.向支付宝申请, 与支付宝签约,获得商户ID(partner)和账号ID(seller)和私钥(privateKey) (1)生成公钥和秘钥的方法  打开终端 生成私钥pem,执行命令   openssl genrsa -outrsa_private_k

caizhongtao的专栏 1315

uniapp-App支付宝授权小记

uniapp-App支付宝授权小记 先上效果图 【图片】 实现步骤: 1.在点击事件上使用plus.runtime模块调用支付宝打开授权地址(授权地址是后端拼接也可以前端写死) PS:完成第1点应该能看到这样的效果:(如果不是可能是你的授权地址app_id不对) //相关示例代码:(该代码会打开支付宝授权,授权之后会在支付宝中打开你所设置的【回调地址】网页) //*********************** //***url授权地址由后端拼接也可以前端写死*** //***以下是一个拼接示例,仅需修

z1783883121的博客 1万+

android支付宝支付成功后没有回调,app接入支付宝后,支付成功后,回调不响应...

1.在支付时使用的是[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {NSLog(@"%@",result)}];在跳转到支付宝客户端支付成功后,回调不响应。解决方法:需要在AppDelegate中添加两个方法:- (BOOL)application:(UIApplicati...

weixin_42298427的博客 884

支付宝的universal link-支付宝iOS启动命令-URL Schemes一键打开支付宝-uniapp支付宝登录授权

支付宝的universal link-支付宝iOS启动命令-URL Schemes一键打开支付宝-uniapp支付宝登录授权。

Rudon滨海渔村的博客 1万+

【uniappAPP实现支付宝授权登录】

uniappAPP实现支付宝授权登录

qq_39236283的博客 1万+

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

本章项目demo: https://github.com/zhonggaorong/alipayDemo 支付宝支付大致流程为 : 1. 公司与支付宝进行签约 , 获得商户ID(partner)和账号ID(seller)和私钥(privateKey),开发中用到的,很重要。 请商户在b.alipay.com里进行产品签约; 审核:商户登录qy.alipay.com,可在“签约订

chenyxh2005的专栏 7982

Flutter支付宝授权插件

在一起漫部 App开发中,遇到支付宝SDK授权的功能需求,需要集成支付宝Android和IOS两端的SDK,我们索性把它做成了一个单独的插件,开源到了pub.dev。

yiqimanbu的博客 1371

iOS支付宝授权登录集成注意事项

授权参数通过请求的方式从服务器获取 授权参数列表详情传送门 方便服务器配置修改授权参数,防止签名私钥的泄漏 授权成功后有两个回调入口 手机端安装了支付宝 [[AlipaySDK defaultService] auth_V2WithInfo: infoStr fromScheme:schemeStr callback:^(NSDictionary *resultDic) { ...

weixin_34195364的博客 355

支付宝支付和授权登录iOS2.2.1标准版

详细的将支付宝第三方登录和支付宝支付的代码展示出来,并附带有最新的支付宝SDK和文档说明

AI+AB测试提升电商主图点击率实战指南

在电商运营中,主图点击率(CTR)是衡量商品吸引力的核心指标,直接影响转化率和订单增长。通过AI技术批量生成高质量主图素材,结合数据驱动的AB测试方法,可以显著提升点击率。AI工具如MidJourney和Stable Diffusion能够快速生成多样化视觉方案,而自动化处理流水线则确保素材规格统一。AB测试体系通过多维变量控制和流量分配策略,科学验证不同素材效果。这种方法特别适用于需要快速迭代的电商场景,某女装店铺案例显示CTR从1.2%提升至3.8%,验证了AI+数据协同优化的技术价值。

weixin_29058331的博客 298

ios 支付宝:移动支付2

ios中         [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {             //callback处理支付结果为同步通知             NSLog(@"reslut = %@",resul

DynastyTing的专栏 1万+

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3003

iOS 支付宝授权登录,思路

关于支付宝授权登录,对于没写过的人来说感觉很难(写过了以后才发现很简单),在网上看了很多看的结果还是不明白,为了让刚接触的心里有点底,简单说下大概思路: 1 导入支付宝SDK (pod导入,或者手动导入,就不细说了,具体可以看支付宝官方文档) 2 我想看过看过支付宝demo的有很多不明白,demo代码如下 - (void)doAPPay { // 重要说明 // 这里只是为了方...

祝我们都能在鸡零狗碎的生活里,找到自己的快乐~ 3915

使用 ANSYS 实现铸造、凝固和熔炼的高级解决方案

凭借其强大的有限元分析 (FEA) 和计算流体动力学 (CFD) 功能,ANSYS 可以准确预测模具内的热和流体流动行为。总之,ANSYS 是铸件凝固和熔化领域的关键工具。其全面的仿真功能、工艺优化功能、材料特性分析和用户友好的界面使其成为旨在创新和改进制造工艺的工程师不可或缺的工具。通过利用 ANSYS,各行各业可以在铸造业务中实现更高的质量、效率和成本效益,从而为先进的制造解决方案铺平道路。ANSYS是一款领先的工程仿真软件,提供强大的功能来建模和优化这些复杂的热过程,从而显著提高生产效率和质量。

jkh920184196的博客 2108

深入浅出:CosineLRScheduler 调度器的原理与实战应用

本文深入解析了CosineLRScheduler调度器的核心原理与实战应用,详细介绍了余弦退火算法及其在深度学习模型训练中的优势。通过参数配置建议、PyTorch实现示例和常见问题解决方案,帮助开发者高效应用该调度器提升模型性能,特别适用于计算机视觉和自然语言处理任务。

sss66的博客 859

ios支付宝支付失败不回调_支付宝支付后返回app无法回调

支付宝调用[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {NSLog(@"%@",result);} withFail:^(NSString *result) {NSLog(@"支付失败%@",result);}]无法回调解决方法解决办法:在AppDelegate.m里面 ...

weixin_39776344的博客 672

VisualStudio2022配置CGAL

vs2022和vs2017安装配置boost没什么区别,只需要注意boost的msvc得是14.3的,这玩意跟visualstudio版本挂钩的。压缩包解压,得到下面这两文件,然后把auxiliary这个文件挪到CGAL-5.6里面就行了。我用cgal读取一个stl模型,并输出相关信息(想可视化的话需要安装Qt,不想装Qt也可以装VTK)然后下载下面这两个压缩包。照着下面的截图填就完事了。

weixin_43850909的博客 1169
上一篇: iOS 跳转到AppStore进行评分
下一篇: textView 键盘变发送,置灰发送,小细节优化
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值