unity接入微信支付-Android篇

来源:互联网 发布:阿里云加速器 编辑:程序博客网 时间:2024/05/22 16:39

一般流程就是在android原生接入微信支付sdk测试通过后,再增加一个activity继承自UnityPlayerActivity,用于和unity通信。


1、 微信支付eclipse工程下载地址:http://code.taobao.org/p/weixinzhifu/src/



2、导入工程后首先要做的就是修改APP_ID、MCH_ID、API_KEY(此时认为你已获得appid、商户号、api密钥,没有的话就先去微信开发者平台申请开通微信支付,在商户平台设置api密钥,这里就不详述。)有几个地方需要修改:Constants.java、PayActivity.java;还有微信id也要修改为自己的,AndroidManifest.xml里面 <data android:scheme="wxfc0eb70545ba99aa" />。



3、更改包名,必须要和微信开发平台注册的包名一样



在上诉步骤做完后,那么你就可以简单的进行调试了

《此处来自:http://blog.csdn.net/qq_33639362/article/details/52085099》

在点击支付按钮时,会出现如下情况

1、微信支付结果为-1,表示支付失败

2、微信支付结果为0,表示支付成功

3、微信支付结果为-2,表示取消支付

在你调试支付时如果出现第一种情况,原因有如下

(1)应用sign签名错误

(2)没有正确修改你的包名、APPID等

(3)prepayID重复使用

当你出现第一种错误时,就说明你需要一个服务器来完成sign签名,以及构造发给微信所需要的参数(请参考链接的微信官方文档https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1),当你获取到了正确的sign签名还是报错,那么你可以仔细检查下你的应用签名是不是你自己的,如下图


打开这个窗口的步骤是选择Window-Preferences-Android-build,检查你的MD5签名是否正确,如果不正确,那么你可以在微信开放平台里下载签名生成工具,以下是链接

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN,在你用签名生成工具时,一定要确认手机里是否有和你报名一样的游戏,这样才可以签名成功。

如果你没有服务器的话,且第二、第三种都是对的,那么你可以清空微信数据(记住是清空微信数据,不是微信缓存),具体操作步骤为打开手机设置里的应用管理,找到微信,打开选择清除缓存,这样你的微信支付结果就不是为-1了。

当你出现第二种错误时,那么请你仔细检查PayActivity和AndroidMainfest以及Constants这三个文件里的APPID、APPSecret等有没有换成你自己的,还有就是仔细查看你的包名是不是正确,这里提一下你的WXPayEntryActivity这个文件一定要在wxapi目录下面。


4、与unity交互

新建一个PayInfoManager类,用于管理支付数据。



新建一个Layout


新建一个MainActivity

重新配置AndroidManifest.xml


此时测试,应该就是先运行paylhy,点击button进入支付界面;

如果此时运行正常的话,那恭喜你,马上就可以见到期待已久的jar包。。


在unity的安装目录下找到classes.jar导入该eclipse工程,然后java build path


更改MainActivity.java

此时在eclipse里面已不能运行测试,进入jar打包:右键工程名-Export-java-jar file-next-next-finish


将打包的PayWX13.jar、工程里的libs和res、AndroidManifest.xml全部复制到unity工程下。

注意在打包的时候把没有用的东西删除,不然导入unity有各种坑。。文件夹如下



5.unity搭建测试环境


至此结束,希望大家测试顺利。。有什么问题提出来大家一起交流。。。


原创粉丝点击