swift 移动支付之【微信支付】开发步骤

swift 移动支付之【微信支付】开发步骤,第1张

概述微信开放平台 懒人直接上Git代码 https://github.com/gaowenhui0822/app-pay-demo 一.准备工作 微信开放平台注册账号  在平台进行签约 创建应用 二.配置工程 下载SDK 微信支付SDK 导入SDK引入头文件 还是最好创建文件夹(WeChatSDK),将文件放入文件夹后再导入工程 桥接文件里导入头文件 [plain] view plain copy p

微信开放平台


懒人直接上Git代码 https://github.com/gaowenhui0822/app-pay-demo

一.准备工作 微信开放平台注册账号 在平台进行签约 创建应用 二.配置工程
下载SDK 微信支付SDK
导入SDK引入头文件 还是最好创建文件夹(Wechatsdk),将文件放入文件夹后再导入工程 桥接文件里导入头文件 [plain] view plain copy print ? #import"WXAPI.h" #import"WXAPIObject.h"</span>
#import "WXAPI.h"#import "WXAPIObject.h"</span>

设置URL Types (TARGETS-->Info)


三.代码部分
1.在AppDelegate里向微信注册

dIDFinishLaunchingWithOptions 方法里

[plain] view plain copy print ? //向微信注册 WXAPI.registerapp(WX_APPID,withDescription:"xxxx")
//向微信注册WXAPI.registerapp(WX_APPID,withDescription: "xxxx")

2.发送预支付(Prepay)数据

预支付数据由后台返回,格式如下

[plain] view plain copy print ? { "appID":"wxxxxxxxxxxx", "noncestr":"Hk8dsZoMOdTXGjkJ", "package":"Sign=WXPay", "partnerID":"01001010110", "prepayID":"wx2016050000000000000000000000", "sign":"B4879FFFA8B65522A04034E2D027A3B8", "timestamp":"1459394923", "success":true }
{  "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 签名,详见签名生成算法

发送请求

[plain] view plain copy print ? //MARK:微信支付 funcwechatPay(model:WXPayModel) { letreq=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) }
//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方法

[plain] view plain copy print ? //MARK:-WXAPIDelegate处理支付结果 funconResp(resp:BaseResp!) { varstrtitle="支付结果" varstrMsg="what:\(resp.errCode)" ifresp.isKindOfClass(PayResp) { print("retcode=\(resp.errCode),retstr=\(resp.errStr)") switchresp.errCode { case0: NSNotificationCenter.defaultCenter().postNotificationname("WXPaySuccessNotification",object:nil) default: strMsg="支付失败,请您重新支付!" } } } 总结

以上是内存溢出为你收集整理的swift 移动支付之【微信支付】开发步骤全部内容,希望文章能够帮你解决swift 移动支付之【微信支付】开发步骤所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存