unity接入微信支付-Android篇
2017-06-02 14:46
218 查看
一般流程就是在android原生接入微信支付sdk测试通过后,再增加一个activity继承自UnityPlayerActivity,用于和unity通信。
1、 微信支付eclipse工程下载地址:http://code.taobao.org/p/weixinzhifu/src/
![](https://img-blog.csdn.net/20170602145213671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、导入工程后首先要做的就是修改APP_ID、MCH_ID、API_KEY(此时认为你已获得appid、商户号、api密钥,没有的话就先去微信开发者平台申请开通微信支付,在商户平台设置api密钥,这里就不详述。)有几个地方需要修改:Constants.java、PayActivity.java;还有微信id也要修改为自己的,AndroidManifest.xml里面 <data android:scheme="wxfc0eb70545ba99aa"
/>。
![](https://img-blog.csdn.net/20170602151319917?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170602151325167?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、更改包名,必须要和微信开发平台注册的包名一样
![](https://img-blog.csdn.net/20170602151329344?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在上诉步骤做完后,那么你就可以简单的进行调试了
《此处来自: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签名还是报错,那么你可以仔细检查下你的应用签名是不是你自己的,如下图
![](https://img-blog.csdn.net/20160802143337218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
打开这个窗口的步骤是选择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类,用于管理支付数据。
![](https://img-blog.csdn.net/20170602152005435?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
新建一个Layout
![](https://img-blog.csdn.net/20170602152554797?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
新建一个MainActivity
![](https://img-blog.csdn.net/20170602152444765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
重新配置AndroidManifest.xml
![](https://img-blog.csdn.net/20170602152752735?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此时测试,应该就是先运行paylhy,点击button进入支付界面;
如果此时运行正常的话,那恭喜你,马上就可以见到期待已久的jar包。。
在unity的安装目录下找到classes.jar导入该eclipse工程,然后java build path
![](https://img-blog.csdn.net/20170602153321027?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
更改MainActivity.java
![](https://img-blog.csdn.net/20170602153545390?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此时在eclipse里面已不能运行测试,进入jar打包:右键工程名-Export-java-jar file-next-next-finish
![](https://img-blog.csdn.net/20170602154056240?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
将打包的PayWX13.jar、工程里的libs和res、AndroidManifest.xml全部复制到unity工程下。
注意在打包的时候把没有用的东西删除,不然导入unity有各种坑。。文件夹如下
![](https://img-blog.csdn.net/20170602154453462?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.unity搭建测试环境
![](https://img-blog.csdn.net/20170602154947627?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjQ1MjkwODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
至此结束,希望大家测试顺利。。有什么问题提出来大家一起交流。。。
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搭建测试环境
至此结束,希望大家测试顺利。。有什么问题提出来大家一起交流。。。
相关文章推荐
- Unity 接入ShareSDK Android&iOS 微信分享
- Unity接入移动MM支付(Android)
- Android 支付宝以及微信支付快速接入流程
- Android 支付宝微信支付快速接入流程
- Unity - 接入Android SDK
- Unity开发之接入Sharesdk微信分享Android(一)
- Android开发——支付宝和微信支付快速接入流程
- Android 支付宝以及微信支付快速接入流程
- Android 支付宝以及微信支付快速接入流程
- Android开发中的第三方支付SDK的接入与使用(支付宝+微信支付+银联)
- 教你快速高效接入SDK——Unity统一接入渠道SDK(Android篇)
- android 接入微信支付和分享填坑
- Android 接入微信支付如此简单
- Android 支付宝以及微信支付快速接入流程
- Android接入微信支付完全解析,太全了~
- 教你快速高效接入SDK——Unity统一接入渠道SDK(Android篇)
- unity android 接入admob
- 「Unity」Unity中接入iOS、Android平台:第零篇,内容描述
- Android 接入微信支付
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)