微信开放平台
下载SDK 微信支付SDK
导入SDK引入头文件 还是最好创建文件夹(Wechatsdk),将文件放入文件夹后再导入工程 桥接文件里导入头文件
#import "WXAPI.h"#import "WXAPIObject.h"</span>
设置URL Types (TARGETS-->Info)
三.代码部分
1.在AppDelegate里向微信注册
在dIDFinishLaunchingWithOptions 方法里
//向微信注册WXAPI.registerapp(WX_APPID,withDescription: "xxxx")
2.发送预支付(Prepay)数据
预支付数据由后台返回,格式如下
{ "appID": "wxxxxxxxxxxx","noncestr": "Hk8dsZoMOdTXGjkJ","package": "Sign=WXPay","partnerID": "01001010110","prepayID": "wx2016050000000000000000000000","sign": "B4879FFFA8B65522A04034E2D027A3B8","timestamp": "1459394923","success": true}
字段名 | 变量名 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|---|
应用ID | appID | String(32) | 是 | wx8888888888888888 | 微信开放平台审核通过的应用APPID |
商户号 | partnerID | 1900000109 | 微信支付分配的商户号 | ||
预支付交易会话ID | prepayID | WX1217752501201407033233368018 | 微信返回的支付交易会话ID | ||
扩展字段 | package | String(128) | Sign=WXPay | 暂填写固定值Sign=WXPay | |
随机字符串 | noncestr | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。推荐随机数生成算法 | ||
时间戳 | timestamp | String(10) | 1412000000 | 时间戳,请见接口规则-参数规定 | |
签名 | sign | C380BEC2BFD727A4B6845133519F3AD6 | 签名,详见签名生成算法 |
发送请求
//MARK: 微信支付 func wechatPay(model:WXPayModel) { let req = PayReq() req.partnerID = model.PartnerID req.prepayID = model.PrepayID req.nonceStr = model.NonceStr req.timeStamp = UInt32(model.TimeStamp!)! req.package = model.PackageValue req.sign = model.Sign WXAPI.sendReq(req) }
3.处理回调
App支付完成后返回App,在Appdelegate中实现协议 WXAPIDelegate 中的 onResp方法
//MARK:- WXAPIDelegate 处理支付结果 func onResp(resp: BaseResp!) { var strTitle = "支付结果" var strMsg = "what:\(resp.errCode)" if resp.isKindOfClass(PayResp) { print("retcode = \(resp.errCode),retstr = \(resp.errStr)") switch resp.errCode { case 0 : NSNotificationCenter.defaultCenter().postNotificationname("WXPaySuccessNotification",object: nil) default: strMsg = "支付失败,请您重新支付!" } } }总结
以上是内存溢出为你收集整理的swift 移动支付之【微信支付】开发步骤全部内容,希望文章能够帮你解决swift 移动支付之【微信支付】开发步骤所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)