android微信支付
来源:互联网 发布:上海电力有限公司知乎 编辑:程序博客网 时间:2024/05/16 06:03
微信支付
微信支付的架构
从这幅图里,必须了解之后的工作,那些是自己的服务器应该做的,那些是自己的客户端应该的。
整体支付步骤
客户端关键代码
public void pay(long waybillId, int money) { // 订单的识别码生成,微信为32字节 String sn = Util.getPaySN(); //网络请求,按照自己的接口,最少要抛过去waybillId,money,sn }
public void sendPayRequest( String prepayId ) { //这个方法填充req req.appId = WX_APP_ID;//app的id req.partnerId = WX_PAY_MERCHANT_ID;//商户id req.prepayId = prepayId;//刚才返回的东西 req.packageValue= "Sign=WXPay";//微信接口说暂时必须这样写 req.nonceStr = nonceStr;//一个32字节的识别码,可以自己生成,也可以服务器返回 req.timeStamp = String.valueOf(genTimeStamp());//时间戳 //为prepayId再签名,需要MD5加密,这一部分可以照抄 List<NameValuePair> signParams = new LinkedList<NameValuePair>(); signParams.add(new BasicNameValuePair("appid", req.appId)); signParams.add(new BasicNameValuePair("noncestr", req.nonceStr)); signParams.add(new BasicNameValuePair("package", req.packageValue)); signParams.add(new BasicNameValuePair("partnerid", req.partnerId)); signParams.add(new BasicNameValuePair("prepayid", req.prepayId)); signParams.add(new BasicNameValuePair("timestamp", req.timeStamp)); req.sign = genAppSign(signParams);//如果服务器很照顾你的话,可以得到服务器的返回,就不用自己写了 msgApi.registerApp(WX_APP_ID);//注册 msgApi.sendReq(req);//发送}
之后就是轮询你的支付状态的接口,得到支付结果了。这就是客户端的所有事情了,很简单的。
服务器端关键代码
然而现在我并不会。
注意事项
- sendReq()返回true却没跳转,基本上一定是签名的问题,点击这里下载那个签名工具
- accesstoken可以服务端来搞,基本没你啥事
- 微信支付很奇葩,不需要orderInfo
推荐阅读
https://github.com/kingiol/WeChatDemo
http://blog.fangjie.info/android微信支付
http://www.2cto.com/kf/201409/330136.html
0 0
- android微信支付
- android微信支付
- Android 微信支付
- android微信支付
- android微信支付
- android微信支付
- Android 微信支付
- Android 微信支付
- android微信支付
- android 微信支付
- Android 微信支付
- android微信支付
- Android微信支付
- Android微信支付
- Android微信支付
- Android微信支付
- android微信支付
- Android微信支付
- 一个java程序员必备的9项基本技能
- java笔记03 基础语法02 运算符
- 第十五周项目二 二进制文件浏览器
- 毕业了----新的生活
- apache+tomcat集群搭建,包括负载均衡
- android微信支付
- x210v3开发板u-boot-2012.10移植之七---六步轻松搞定串口初始化
- C++写文件时覆盖与否的问题
- (6)LinuxI2C驱动--I2C设备驱动
- 链表体验
- c++ 使用throw抛出异常
- High-speed Tracking with Kernelized Correlation filters笔记
- 基于linux-2.6.35的网络视频服务器移植
- [BZOJ4086][Sdoi2015]travel && 暴力