您的位置:首页 > 移动开发 > 微信开发

微信支付

2016-01-14 15:08 561 查看
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值,不适合在客户端暴露出去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: