android中微信支付!! 其实没那么难

最近这段时间在做微信支付,把一些开发的流程及遇到的一些问题记录下来,以后遇到的话也能做个参考!毕竟刚接触这个支付的时候也是走了好多弯路。

首先第一步肯定是要去申请你的公众号,服务号各种的。。。

如果一切顺利的话,就可以拿到以下东西,也是开发时所需要的

①java的证书(在退款,企业转账时用的上)

②AppID:微信分配的公众账号ID

③AppSecret:获取token有用

④Mchid:微信支付分配的商户号

上面这些都准备好后,需要登录到商户平台去设置一些开发环境:就是设置应用debug签名(SHA1的值,注意是不需要冒号的,如果是正式发布的版本需要用正式签名的debug),和包名;

http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5

这一部做好了以后应该就能跑通官网下载的demo了,这部签名和包名一定要正确,不然demo跑不通,LZ就是因为这个弄了好久。

不出意外的话应该就能调出微信的支付界面了。


下面我提供了两个demo 一个是以前官网的,一个是现在在官网下载的。

 前一个有一个自带的debug的签名的,只需要通过eclipse的windows --> preferences -- > android -->build 点击browse 找到那个DEMO中自带的debug签名,这样就不需要到后台去配置签名那一步了。 后面这种就需要到商户平台去配置下签名,如果是集成到自己的应用中,只需要改下签名和包名就可以了。支付完成,按照支付宝的流程,支付完成应该有个回调的,来通知我已经支付完成了。可是没有回调成功,去查了下资料。微信开放平台有个 不成文的规定(文档里没有说明),就是回调的Activity必须是:你的包名(微信demo里是:net.sourceforge.simcpux)+.wxapi.WXPayEntryActivity.java,走起。。。。。可是还是没去走回调。。。。又去百度下,发现在发起微信支付时,有一个notify_url 参数,这个参数是支付成功后微信调用的,(当时是在服务器端写了一个.jsp的页面,返回了一个success,(这个.jsp页面可以去处理查询订单是否支付成功等等的操作。)可是怎么测试了,微信那边这么能访问到我本地电脑上的服务器,又不能拿公司的服务器去做测试。看了网上说的,可以去下载一个ngrok(https://ngrok.com/ )的软件,将内网映射到外网去,在命令行下配置下就可以了。。。下面我也提供了,但那个验证码还是要去注册才能得到[http://blog.csdn.net/liuxiyangyang/article/details/22922265](不过好像被墙了),然后到公众平台中的微信支付中的 开发配置中配置下回调的页面,我在服务器写了一个test.jsp, 然后把刚才映射的地址加上test.jsp填上去就可以了。

至此微信支付的功能就差不多搞定了,接下就是安全性的为了做安全性设计,把一些重要的东西放到服务器生生成,这样是为防止客户端被反编译。反编译之后,带来的就是别人拿到key 模拟支付过程,把某个订单号支付完成。那么,腾讯那边收到钱就会同时给客户端 和我们自己的服务器发送请求。那么,我们自己的服务器收到腾讯的通知之后,就会把这个订单的状态置为已经支付。

好了  ,后面我会继续补充 一些转账功能,授权的一些问题。


1、 微信开放平台:https://open.weixin.qq.com/

2、微信公众平台:https://mp.weixin.qq.com/

3、API文档:https://open.weixin.qq.com/zh_CN/htmledition/res/dev/document/sdk/android/index.html

4、商户平台开发文档:http://mch.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1


微信Demo.zip




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值