美文网首页iOSiOS与SDK
iOS微信支付及分享方法

iOS微信支付及分享方法

作者: 清都 | 来源:发表于2017-08-14 15:15 被阅读40次

本文最后更新时间为:2017-08-14 17:01

前言

  • 微信支付功能模块比较多,但是出于安全考虑,数据处理等涉及签名的流程往往在服务器端进行,客户端需要完成的操作则相对较少。
  • 单纯的支付和分享只需要加入WXApiManager文件即可,其余SDK相关文件根据文档要求添加。
  • 相关SDK及demo见文中链接。

微信支付

    //微信支付
    //tmpDic为从后端传递过来的支付参数
    BSGPayModel * payModel = [[BSGPayModel alloc]initWithBSGWeixinPayDictionary:tmpDic];
    
    PayReq * req = [[PayReq alloc]init];
    req.partnerId           = payModel.WXPartnerID;
    req.prepayId            = payModel.WXPrepayID;
    req.nonceStr            = payModel.WXNonceStr;
    req.timeStamp           = payModel.WXTimeStamp;
    req.package             = payModel.WXPackage;
    req.sign                = payModel.WXSign;
    //发送支付请求
    [WXApi sendReq:req];
  • BSGPayModel为数据处理的Model类。
  • - (void)onResp:(BaseResp *)resp;- (void)onReq:(BaseReq *)req;方法位于WXApiManager.m文件内,监听支付及其回调,在WXApiManager.m内部写入相关方法。于外部写入该方法无效。
  • 具体细节以demo为主。

微信App支付开发者文档

微信分享

以网址分享为例:


    WXMediaMessage * message = [WXMediaMessage message];
    message.title = @"这是一个分享标题";
    message.description = @"我是分享内容";
    [message setThumbImage:[UIImage imageNamed:@"这是一张图片"]];
    
    WXWebpageObject * webPageObject = [WXWebpageObject object];
    //webPageObject.webpageUrl = @"https://douban.fm/?from_=shire_top_nav#/channel/153";
    webPageObject.webpageUrl = @"这是一个链接";
    message.mediaObject = webPageObject;
    
    SendMessageToWXReq * req1 = [[SendMessageToWXReq alloc]init];
    req1.bText = NO;
    req1.message = message;
    //设置分享到朋友圈(WXSceneTimeline)、好友回话(WXSceneSession)、收藏(WXSceneFavorite)
    req1.scene = WXSceneSession;
    [WXApi sendReq:req1];

注意:

  • 图片大小有限制,如果分享链接中的图片太大则分享会失败,无法跳转至微信,也不会有任何提示。

完整版:微信分享与收藏
来源
官方文档:微信支付
官方文档:微信开放平台

相关文章

网友评论

    本文标题:iOS微信支付及分享方法

    本文链接:https://www.haomeiwen.com/subject/cidurxtx.html