微信支付

1、注册微信开放平台账号--》创建应用--》申请开通支付功能
链接:https://open.weixin.qq.com/
2、下载微信支付Demo
链接:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1
3、App内嵌入微信支付
a、注册App到微信:

  api = WXAPIFactory.createWXAPI(this, WeixinHelper.APP_ID); // App_ID在创建应用成功之后,在微信开放平台获取
  api.registerApp(WeixinHelper.APP_ID);

  b、Androidmenifest中配置微信回调Activity:

   .wxapi.WXEntryActivity、.wxapi.WXPayEntryActivity // 前缀为App包名,前面两个必须一样,而且必须实现接口:IWXAPIEventHandler

  具体的参考微信demo

  c、向后台发送统一支付请求:

   后台收到请求向微信发送统一支付请求,并且获取预支付id prepayid;

   然后将结果返回给客户端

   具体需要的参数参考链接:

   https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_12&index=2

  d、解析返回的参数,封装到PayReq对象,使用api发送请求

   api.sendReq(req);

   返回的参数一一设置到PayReq中,其中sign参数必须采用如下方式生成:

     安全签名算法:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=4_3

   另外req.packageValue = "Sign=WXPay"; 这个参数可以写死,不适用服务器返回的

  e、各种权限权限,直接从demo拷贝就可以了

参考链接
1、http://blog.csdn.net/jdsjlzx/article/details/47422279
2、http://www.mamicode.com/info-detail-862201.html
上面的两个例子,签名都是在客户端做的,其实这部分最好在服务器做,客户端直接使用就行了;原因是这里需要使用到支付的秘钥,也就是签名算法中需要用到的Key值,不适合在客户端暴露出去。
原文地址:https://www.cnblogs.com/lipeil/p/5130288.html