全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

IOS 集成微信支付功能的实现方法

IOS 集成微信支付功能的实现方法

第一步:集成微信的SDK

https://pay.weixin.qq.com/wiki/doc/api/index.html    

点击进入

下载对应SDK或示例,最后可以看看示例程序

第二步:在Xcode中填写微信开放平台申请的Appid

Xcode>info>URL Types  中新建加入Appid

第三步:在Appdelegate.m 中注册微信支付 和回调

#import "WXApi.h"
添加 代理
WXApiDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.
  //self.window.backgroundColor = [UIColor clearColor];

  // 微信支付注册
  [WXApiregisterApp:PAY_WEIXIN_ID];

  
  returnYES;
}

// ios 9.0以上系统版本回调
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
  // 微信
  if ([url.schemeisEqualToString:PAY_WEIXIN_ID]) {
    [WXApihandleOpenURL:url delegate:(id<WXApiDelegate>)self];
  }
  
  // 支付宝
  if ([url.schemeisEqualToString:@"SearchPigeonWorld"]) {
    //跳转支付宝钱包进行支付,处理支付结果
    [[AlipaySDKdefaultService] processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {
      if ([self.appMyDelegaterespondsToSelector:@selector(payCenterWeixinOnResultWith:)]) {
        [self.appMyDelegatepayCenterWeixinOnResultWith:[resultDic[@"resultStatus"]intValue] ==9000 ? YES :NO];
      }
    }];
  }

  returnYES;
}


//支付成功时调用,回到第三方应用中 ios 9.0以下系统版本回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
  // 微信
  if ([url.schemeisEqualToString:PAY_WEIXIN_ID])
  {
    [WXApihandleOpenURL:url delegate:(id<WXApiDelegate>)self];
  }
  
  // 支付宝
  if ([url.hostisEqualToString:PAY_ALIPAY_appID]) {
    //跳转支付宝钱包进行支付,处理支付结果
    [[AlipaySDKdefaultService] processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {
      if ([self.appMyDelegaterespondsToSelector:@selector(payCenterWeixinOnResultWith:)]) {
        [self.appMyDelegatepayCenterWeixinOnResultWith:[resultDic[@"resultStatus"]intValue] ==9000 ? YES :NO];
      }
    }];
  }
  
  
  returnYES;
}


/**
 微信自己的结果返回方法

 @param resp 返回结果状态
 */
- (void)onResp:(BaseResp*)resp
{
  if([respisKindOfClass:[PayRespclass]]){
    BOOL isPaySuccess =NO;
    switch (resp.errCode) {
      caseWXSuccess:
        isPaySuccess = YES;
        break;
      caseWXErrCodeUserCancel:
        isPaySuccess = NO;
        break;
      caseWXErrCodeSentFail:
        isPaySuccess = NO;
        break;
      caseWXErrCodeAuthDeny:
        isPaySuccess = NO;
        break;
      default:
        isPaySuccess = NO;
        break;
    }
    if ([self.appMyDelegaterespondsToSelector:@selector(payCenterWeixinOnResultWith:)]) {
      [self.appMyDelegatepayCenterWeixinOnResultWith:isPaySuccess];
    }
  }
}

第四步:在使用微信的地方调用支付方法

#pragma mark 2.2.14(10)使用微信进行付款,获取微信加密信息
- (void)getWebResponsePayWeixinInfo {
  NSDictionary *parameters =@{@"key" :appDelegate.userKeyString,
                 @"foundRecordId" : [self.payInfoDictobjectForKey:@"foundRecordId"]};
  [MBProgressHUDshowMessage:@""];
  [WebDataResponseInterfaceSessionManagerPostWebDataWithApi:WEBInterFace_Good_CreateWeiXinPayOrderandParameters:parameters andSuccess:^(id successObject) {
    MYLOG(@"%@", successObject);
    [MBProgressHUDhideHUD];
    if ([successObject[@"status"]isEqualToString:@"success"]) {
      successObject = [successObject objectForKey:@"value"];
      // 微信支付
      //需要创建这个支付对象
      PayReq *req  = [[PayReqalloc] init];
      //由用户微信号和AppID组成的唯一标识,用于校验微信用户
      req.openID = successObject[@"appid"];
      
      // 商家id,在注册的时候给的
      req.partnerId = [successObjectobjectForKey:@"partnerid"];
      
      // 预支付订单这个是后台跟微信服务器交互后,微信服务器传给你们服务器的,你们服务器再传给你
      req.prepayId = [successObjectobjectForKey:@"prepayid"];
      
      // 根据财付通文档填写的数据和签名
      //这个比较特殊,是固定的,只能是即req.package = Sign=WXPay
      req.package  = [successObjectobjectForKey:@"package"];
      
      // 随机编码,为了防止重复的,在后台生成
      req.nonceStr = [successObjectobjectForKey:@"noncestr"];
      
      // 这个是时间戳,也是在后台生成的,为了验证支付的
      req.timeStamp = [[successObjectobjectForKey:@"timestamp"]doubleValue];
      
      // 这个签名也是后台做的
      req.sign = [successObjectobjectForKey:@"sign"];
      
      //发送请求到微信,等待微信返回onResp
      [WXApisendReq:req];
    } else {
      [MBProgressHUDshow:[successObject objectForKey:@"value"]icon:nilview:self.view];
    }
    
  } andFailure:^(NSError *error) {
    [MBProgressHUDhideHUD];
    MYLOG(@"error: %@", error);
  }];
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读, 希望通过本文能帮助到大家,谢谢大家对本站的支持!


# IOS  # 微信支付  # 微信支付开发的步骤详解  # 微信支付实现方法  # iOS实现微信支付流程详解  # iOS开发傻瓜式微信支付的方法教程  # 解决iOS调起微信支付显示系统繁忙问题  # iOS 9.0后微信支付回调处理实例  # iOS集成微信支付开发  # iOS微信支付开发案例  # iOS微信支付交互图分析  # 微信支付开发IOS图文教程案例  # 微信支付终于成功了(安卓、iOS)在此分享  # iOS开发微信支付的方法  # 支付宝  # 回调  # 跳转  # 自己的  # 如有  # 点击进入  # 谢谢大家  # 第三方  # 第二步  # 为了防止  # 第三步  # 第四步  # 疑问请  # 文档  # openURL  # NSURL  # url  # options  # PAY_WEIXIN_ID  # returnYES 


相关文章: 平台云上自助建站如何快速打造专业网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何用PHP工具快速搭建高效网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  建站主机如何安装配置?新手必看操作指南  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何在Golang中使用replace替换模块_指定本地或远程路径  创业网站制作流程,创业网站可靠吗?  php json中文编码为null的解决办法  安云自助建站系统如何快速提升SEO排名?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  西安专业网站制作公司有哪些,陕西省建行官方网站?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  山东网站制作公司有哪些,山东大源集团官网?  建设网站制作价格,怎样建立自己的公司网站?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何通过虚拟主机空间快速建站?  三星网站视频制作教程下载,三星w23网页如何全屏?  自助网站制作软件,个人如何自助建网站?  建站之星收费标准详解:套餐费用及年费价格表一览  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何设计高效校园网站?  广德云建站网站建设方案与建站流程优化指南  重庆市网站制作公司,重庆招聘网站哪个好?  如何用搬瓦工VPS快速搭建个人网站?  宝塔面板创建网站无法访问?如何快速排查修复?  小建面朝正北,A点实际方位是否存在偏差?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何快速搭建自助建站会员专属系统?  C++时间戳转换成日期时间的步骤和示例代码  C++用Dijkstra(迪杰斯特拉)算法求最短路径  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  高端企业智能建站程序:SEO优化与响应式模板定制开发  北京专业网站制作设计师招聘,北京白云观官方网站?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  香港服务器租用每月最低只需15元?  建站ABC备案流程中有哪些关键注意事项?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  建站之星北京办公室:智能建站系统与小程序生成方案解析  宁波自助建站系统如何快速打造专业企业网站?  建站主机数据库如何配置才能提升网站性能?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  建站之星后台管理如何实现高效配置?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。