[QSDK]使用微信SDK在手机中实现微信支付

QSDK 的微信支付的移动支付版本已经搞定,目前实测工作正常。

关于开通微信支付相关的东西,咱们先不讨论,大家按微信支付的要求就可以了。

先说共同的部分,在代码中调用微信支付的步骤:

一、引用单元

QSDK 中微信相关功能的接口实现单元是 qsdk.wechat.pas,而对应于 Android 和 iOS 版本的具体实现分别是 qsdk.wechat.android.pas 和 qsdk.wechat.ios。所以第一步,我们需要在 我们的程序中首先引用 qsdk.wechat 单元。

二、调用全局函数 WechatService 函数,返回全局的服务实例并配置相关的参数:

  • OnResponse:事件完成事件,处理微信返回的支付结果
  • AppId:您注册的微信 App 编码
  • MchId:您在微信注册的商户编号
  • PayKey:微信分配的支付密钥

三、调用服务器端统一支付接口,生成支付所需的参数(此步出于安全应在服务器端生成):

  • 预支付代码(prepayId)
  • 随机字符串(nonceStr)
  • 签名(sign)
  • 时间戳(timeStamp)

四、调用 WechatService.Pay 接口,调用微信支付来完成付款。

五、在 DoWechatResponse 事件响应函数中,响应微信支付结果。如果微信支付成功,返回的 ErrorCode 值为0。

六、在 DoPayOk 函数中,从服务器端取得支付结果

[注意] 按照官方开发文档里的说法,千万不要以这个第五步中的支付结果做为实际的依据,应该以微信服务器端的通知或查询的结果做为依据,所以在这一步一定要从服务器取支付结果。

七、额外的配置步骤

【iOS版】

iOS 版需要你在 info.plist.TemplateiOS.xml 增加 CFBundleURLTypes 部分的内容,注意替换为你自己的微信 AppId:

【Android】

Android 版需要你做更多的额外步骤:

  1. 修改 QSDK 已经为您提供 WXPayEntryActivity 的源码,让其包名与你应用的包名一样。如你的包名为  cc.qdac.qsdk,则修改结果为 cc.qdac.qsdk.wxapi。如下所示:
  2. 将 WXPayEntryActivity 和微信的 SDK 开发包 libammsdk.jar 合并编译成一个包,假设叫 wxpay.jar。
  3. 将生成的 wxpay.jar 添加到目标平台的 Android  的 Library 结点下。
  4. 修改 AndroidManifest.template.xml 配置文件,默认的 Activity 下面增加 WXPayEntryActivity  的入口定义:

八、编译并发布你的 App。

为了方便大家使用,QDAC 为您提供了专门的工具,来完成上面的工作。

下载微信支付集成辅助工具

分享到: