美文网首页iOS功能开发很常
iOSAPP端接入微信支付流程

iOSAPP端接入微信支付流程

作者: 优优切克闹 | 来源:发表于2021-03-03 18:58 被阅读0次

1.项目设置APPID

商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID。如图所示。

设置APPID

2.导入微信支付SDK

导入sdk

将官方demo中的这个文件夹拷贝到项目里

在APPdelegate里设置APPID

导入依赖库

项目中点击支付的按钮写上如下方法

别忘了导入头文件和遵循代理和注册代理  

info.plist里添加如下字段LSApplicationQueriesSchemes,为Array类型,然后在里面添加两个小选项,分别为weixin和wechat

注意!!!下面这三处  一定要对应上  少一不可

如果不回调,APPdelegate里写上这个

//被废弃的方法如下

- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url {

    return  [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {

    return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

//替换的新方法

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary*)options {

    return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

//调起微信支付

    PayReq* req  = [[PayReq alloc] init];

    req.partnerId = @"1220277201";

    req.prepayId  = @"9201039000160315ab9324b87b451223";

    req.nonceStr  = @"83DB7tk21akNRSFs";

    req.timeStamp = 1458027344;

    req.package  = @"Sign=WXPay";

    req.sign      = @"db6919dbd8ccb3f8a25108bebcd87f7a02c52e39";

    [WXApi sendReq:req];

// 获取当前时间

    time_t now;

    time(&now);

    // 时间戳

    //NSString *timestamp = [NSString stringWithFormat:@"%ld", now];

    // 随机字符串

    //NSString *nonceStr = [[self md5:timestamp] uppercaseString];

    //订单id

    NSString *prepayid =  _prepayid;

    PayReq *request = [[PayReq alloc] init];

    /** 商家向财付通申请的商家id */

    request.partnerId = WXPartnerid;

    /** 预支付订单 */

    request.prepayId= prepayid;

    /** 商家根据财付通文档填写的数据和签名 */

    request.package = @"Sign=WXPay";

    /** 随机串,防重发 */

    request.nonceStr= _noncestr;

    /** 时间戳,防重发 */

    request.timeStamp = [_timestamp intValue];

    /** 商家根据微信开放平台文档对数据做的签名 */

    request.sign= _sign;

    /*! @brief 发送请求到微信,等待微信返回onResp

     *

     * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型

     * SendAuthReq、SendMessageToWXReq、PayReq等。

     * @param req 具体的发送请求,在调用函数后,请自己释放。

     * @return 成功返回YES,失败返回NO。

     */

    [WXApi sendReq: request];

相关文章

  • iOSAPP端接入微信支付流程

    1.项目设置APPID 商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在X...

  • 话说微信支付接入

    作为日常支付业务,微信的接入逐渐进入了大家的视野。今天以PC端接入微信支付的基本流程来说明。 先看图 这个序例图比...

  • 手把手教你android端微信支付接入

    Android端接入微信支付,蛮简单的 一、添加gradle依赖: 在app module目录下的build.gr...

  • 小程序学习笔记-微信支付避坑指南

    小程序接入微信支付避坑指南 微信支付的整体申请流程,一图以蔽之。 微信支付申请流程 容易掉坑的地方集中在「登记商户...

  • 微信小程序支付开发具体流程

    申请微信支付小程序认证后进入微信支付申请小程序的微信支付实战:微信小程序支付开发具体流程 填写企业信息对公账户并上...

  • 微信小程序支付开发具体流程

    该文章纪录了我在开发小程序支付过程中的具体流程 1. 申请微信支付 小程序认证后进入微信支付申请小程序的微信支付 ...

  • 实战:微信小程序支付开发具体流程

    来源:授权地址作者:会编码的熊 该文章纪录了我在开发小程序支付过程中的具体流程 申请微信支付 小程序认证后进入微信...

  • cocos游戏ios端接入微信支付的坑

    最近做了一个基于cocos creator的棋牌游戏项目,在跨平台发布,接入微信支付的时候,遇到了这样的一个奇怪的...

  • 集成微信支付遇见坑

    一、微信支付,首先利用CocoaPods,导入微信支付SDK pod 'WechatOpenSDK' 注意:导入重...

  • 接入微信支付

    接入微信支付相对支付宝支付要麻烦些,它和包名,签名有关。更让人难以理解的是类名和类所在的包名都是规定好的,不能改的...

网友评论

    本文标题:iOSAPP端接入微信支付流程

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