微信支付:
1.获取的数据有:(红色的一定要知道,因为生成签名会用到)
参数注释
例如
appid
应用IDwx3ff3d1fc2ff83937
mch_id
商户号1448474102
APP_KEY
954d05bee14a4443da66df49c20fac15
WX_APPSecret
1b887f214421222e1b6a79e4bc37200f
2.官方网站下载sdk文件,
将以下文件拖入到自己的项目中
3.添加依赖库
其中官方文档中并没有提及要添加libc++.tbd这个库文件,但是不添加就会报错,是一个坑。
4.添加”-Objc-all_load”(非常重要!!!)
添加-Objc -all_load 可以,只添加-all_load也可以,但是不能只添加-Objc,会崩溃。
5.在AppDelegate.m文件里面导入头文件
#import "WXApi.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//注册微信支付(用到appid)
[WXApi registerApp:@"wx3ff3d1fc2ff83937"];
return YES;
}
//9.0前的方法,为了适配低版本 保留
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return [WXApi handleOpenURL:url delegate:self];
}
//9.0后的方法
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
//这里判断是否发起的请求为微信支付,如果是的话,用WXApi的方法调起微信客户端的支付页面(://pay 之前的那串字符串就是你的APPID,)
return [WXApi handleOpenURL:url delegate:self];
}
//微信SDK自带的方法,处理从微信客户端完成操作后返回程序之后的回调方法,显示支付结果的
-(void) onResp:(BaseResp*)resp
{
//启动微信支付的response
NSString *payResoult = [NSString stringWithFormat:@"errcode:%d", resp.errCode];
if([resp isKindOfClass:[PayResp class]]){
//支付返回结果,实际支付结果需要去微信服务器端查询
switch (resp.errCode) {
case 0:
payResoult = @"支付结果:成功!";
break;
case -1:
payResoult = @"支付结果:失败!";
break;
case -2:
payResoult = @"用户已经退出支付!";
break;
default:
payResoult = [NSString stringWithFormat:@"支付结果:失败!retcode = %d, retstr = %@", resp.errCode,resp.errStr];
break;
}
}
}
6.调用
创建一个支付按钮,处理他的点击事件
- (IBAction)pay:(id)sender {
//判断用户是否安装微信软件
if ([WXApi isWXAppInstalled]) {
[self payWithWeixin];
}else{
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"未监测到微信,是否要进行安装?" message:@"请先安装微信App,然后使用微信支付。" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
}];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/cn/app/wei/id414478124"]];
}];
[alertController addAction:cancelAction];
[alertController addAction:okAction];
[self presentViewController:alertController animated:YES completion:nil];
}
}
-(void)payWithWeixin{
//返回参数调起支付
PayReq* req = [[PayReq alloc] init];
req.openID = @"wx3ff3d1fc2ff83937”;//直接传appid就可以
req.partnerId = @"1448474102”;//就是商户ID
req.prepayId = @"wx2017031509133292984b9ce30164758239”;//要么自己前台获取,要么跟后台要
req.nonceStr = @"oK0yI6GCRT0v3FSL”;//随即串(测试数据可以随便传)
req.timeStamp = [@"98766" intValue];//时间戳(测试数据可以随便传)
req.package = @"Sign=WXpay”;//官方固定的参数
req.sign = @" AE7F415D7D39E0EEA98F3704A3FB10C5”;//自动生成签名即可(测试数据可以随便传)
//调起支付(**参数有一个错误,将不能完成调起**)
[WXApi sendReq:req];
}
支付宝支付集成
1.获取必要参数
参数名称例如
appID
商户id2017031006155166rsa2
PrivateKey私钥MIIE*******iVnY=
2。官方现在sdk,将以下文件夹拖入到自己的项目中
3.添加依赖库,一个都不能少
4.填写pch路径
5.导入
6.代码运行就可以了
iOS支付宝、微信支付相关推荐
- 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付
█ [安卓学习之第三方库] Rxpay学习:支付宝微信支付 █ 相关文章: [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) [安卓学习之第三方库] 消息 ...
- 解决ios H5微信支付不能跳回App的问题
解决ios H5微信支付不能跳回App的问题 app项目是uni-app开发的安卓和iOS版本,安卓测试无问题,以下主要说iOS的解决方案. 问题点:app用webview打开H5页面,在H5页面发起 ...
- MongoDB Ubuntu安装 APP 支付宝微信支付
mongo安装: 1.apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 2.echo "deb ht ...
- 关于IOS调用微信支付jsapi不起作用的解决方法
关于IOS调用微信支付jsapi不起作用的解决方法 参考文章: (1)关于IOS调用微信支付jsapi不起作用的解决方法 (2)https://www.cnblogs.com/randy619/p/5 ...
- WooCommerce接入支付宝微信支付
WooCommerce接入支付宝微信支付 前言 安装支付宝插件(方法一) 安装配置 获取注册信息 安装支付宝插件(方法二) 安装微信支付插件 下载及安装 获取微信公众号APPID,微信支付密钥 获取微 ...
- springboot整合支付宝微信支付案例+代码
springboot支付宝微信支付 每天多学一点点~ 之前写好了一篇,不下心被覆盖的,我的锅....下次写博客记得导出来!!!! 话不多说,这就开始吧- 文章目录 springboot支付宝微信支付 ...
- php调用支付宝微信支付接口 免签约 实测能用
找了很多支付宝微信支付收款的办法,接入的时候发现根本不靠谱,终于实测到了一个可以用的,(验证效果不用改代码,php环境下Demo.php直接打开看就行了 附件放在下面了) 支付宝收款实测有效,微信支付 ...
- ajax余额支付宝微信支付(多种情况调用同一个接口、jquery创建新对象设置属性)
需求:需要用余额.支付宝.微信支付方式支付会员,余额支付显示余额其余支付不显示余额.余额点支付直接成功或失败,支付宝/微信支付弹出相应的二维码.支付接口为同一个,但要处理三种情况. 用到了ajax的c ...
- android支付宝支付微信支付封装,Android仿支付宝微信支付密码界面弹窗封装dialog...
一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType=& ...
- IOS集成微信支付或者支付宝支付功能小结
2019独角兽企业重金招聘Python工程师标准>>> 第一,你需要有微信开发平台的开发者账号,(网址https://open.weixin.qq.com/,或者自行百度" ...
最新文章
- 安裝TA-Lib到想要罵髒話
- java内存管理的一些基础,内存溢出的解决方案
- SSH实战 · 唯唯乐购项目(下)
- 黑盒测试的测试方法及其案例
- vue 按钮控制鼠标滚轮放大缩小
- Mybatis入门笔记
- 我的世界服务器无限开号,我的世界开挂指令大全表一览!39条命令无限可能性
- manifestdependency,manifest文件
- 最新版本Hadoop面试题
- From tomorrow
- 华为设备如何将接口配置为中继模式_华为荣耀路由Pro(WS851)中继设置教程 | 192路由网...
- Node(Next)+React实现飞书扫码登录+鉴权的详细开发过程
- 新概念2 课文和单词(3)
- 弹性云服务器是什么,大家怎样租用云服务器才可靠?
- 【前端安全】密码安全
- Python报错:NameError: name 'reduce' is not defined 和 reduce()函数介绍
- AnyProxy安装使用【Windows】
- matlab与epanet对接,矿井防尘供水管网水力水质模拟实现方法与应用
- 人工智能-知识图谱的进阶一
- 成功销售心理学(3)
热门文章
- C语言中 srand()函数和rand()函数
- *皮亚诺关于公理4的一段语录解析 皮亚诺读后之六
- 人工智能建立本体库_领域本体构建方法概述
- Zoom and pan, introduction to FabricJS part 5(缩放和平移,介绍Fabric.js第五部分)
- 全国电信/联通DNS服务器地址列表
- vue中下载图片到本地
- 错误 '800a03ea'
- 2020年教师资格证考试课件百度云网盘地址分享
- html video标签canplay,HTML oncanplay事件用法及代码示例
- 3阶段魔方 2层以后口诀