微信支付:
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支付宝、微信支付相关推荐

  1. 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付

    █ [安卓学习之第三方库] Rxpay学习:支付宝微信支付 █ 相关文章: [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) [安卓学习之第三方库] 消息 ...

  2. 解决ios H5微信支付不能跳回App的问题

    解决ios H5微信支付不能跳回App的问题 app项目是uni-app开发的安卓和iOS版本,安卓测试无问题,以下主要说iOS的解决方案. 问题点:app用webview打开H5页面,在H5页面发起 ...

  3. MongoDB Ubuntu安装 APP 支付宝微信支付

    mongo安装: 1.apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 2.echo "deb ht ...

  4. 关于IOS调用微信支付jsapi不起作用的解决方法

    关于IOS调用微信支付jsapi不起作用的解决方法 参考文章: (1)关于IOS调用微信支付jsapi不起作用的解决方法 (2)https://www.cnblogs.com/randy619/p/5 ...

  5. WooCommerce接入支付宝微信支付

    WooCommerce接入支付宝微信支付 前言 安装支付宝插件(方法一) 安装配置 获取注册信息 安装支付宝插件(方法二) 安装微信支付插件 下载及安装 获取微信公众号APPID,微信支付密钥 获取微 ...

  6. springboot整合支付宝微信支付案例+代码

    springboot支付宝微信支付 每天多学一点点~ 之前写好了一篇,不下心被覆盖的,我的锅....下次写博客记得导出来!!!! 话不多说,这就开始吧- 文章目录 springboot支付宝微信支付 ...

  7. php调用支付宝微信支付接口 免签约 实测能用

    找了很多支付宝微信支付收款的办法,接入的时候发现根本不靠谱,终于实测到了一个可以用的,(验证效果不用改代码,php环境下Demo.php直接打开看就行了 附件放在下面了) 支付宝收款实测有效,微信支付 ...

  8. ajax余额支付宝微信支付(多种情况调用同一个接口、jquery创建新对象设置属性)

    需求:需要用余额.支付宝.微信支付方式支付会员,余额支付显示余额其余支付不显示余额.余额点支付直接成功或失败,支付宝/微信支付弹出相应的二维码.支付接口为同一个,但要处理三种情况. 用到了ajax的c ...

  9. android支付宝支付微信支付封装,Android仿支付宝微信支付密码界面弹窗封装dialog...

    一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType=& ...

  10. IOS集成微信支付或者支付宝支付功能小结

    2019独角兽企业重金招聘Python工程师标准>>> 第一,你需要有微信开发平台的开发者账号,(网址https://open.weixin.qq.com/,或者自行百度" ...

最新文章

  1. 安裝TA-Lib到想要罵髒話
  2. java内存管理的一些基础,内存溢出的解决方案
  3. SSH实战 · 唯唯乐购项目(下)
  4. 黑盒测试的测试方法及其案例
  5. vue 按钮控制鼠标滚轮放大缩小
  6. Mybatis入门笔记
  7. 我的世界服务器无限开号,我的世界开挂指令大全表一览!39条命令无限可能性
  8. manifestdependency,manifest文件
  9. 最新版本Hadoop面试题
  10. From tomorrow
  11. 华为设备如何将接口配置为中继模式_华为荣耀路由Pro(WS851)中继设置教程 | 192路由网...
  12. Node(Next)+React实现飞书扫码登录+鉴权的详细开发过程
  13. 新概念2 课文和单词(3)
  14. 弹性云服务器是什么,大家怎样租用云服务器才可靠?
  15. 【前端安全】密码安全
  16. Python报错:NameError: name 'reduce' is not defined 和 reduce()函数介绍
  17. AnyProxy安装使用【Windows】
  18. matlab与epanet对接,矿井防尘供水管网水力水质模拟实现方法与应用
  19. 人工智能-知识图谱的进阶一
  20. 成功销售心理学(3)

热门文章

  1. C语言中 srand()函数和rand()函数
  2. *皮亚诺关于公理4的一段语录解析 皮亚诺读后之六
  3. 人工智能建立本体库_领域本体构建方法概述
  4. Zoom and pan, introduction to FabricJS part 5(缩放和平移,介绍Fabric.js第五部分)
  5. 全国电信/联通DNS服务器地址列表
  6. vue中下载图片到本地
  7. 错误 '800a03ea'
  8. 2020年教师资格证考试课件百度云网盘地址分享
  9. html video标签canplay,HTML oncanplay事件用法及代码示例
  10. 3阶段魔方 2层以后口诀