zoukankan      html  css  js  c++  java
  • 微信支付

    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值,不适合在客户端暴露出去。
  • 相关阅读:
    「学习笔记」Min25筛
    hash索引
    Thread的setDaemon(true)方法的作用
    Reactor模式详解
    题目整理
    jstat命令查看jvm的GC情况 (以Linux为例)
    jvm参数调优
    以网游服务端的网络接入层设计为例,理解实时通信的技术挑战
    Java 工程师成神之路
    ID生成 雪花算法
  • 原文地址:https://www.cnblogs.com/lipeil/p/5130288.html
Copyright © 2011-2022 走看看