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值,不适合在客户端暴露出去。
  • 相关阅读:
    剑指offer55. 平衡二叉树
    剑指offer52. 两个链表的第一个公共节点
    LC1043. Partition Array for Maximum Sum
    剑指offer40. Top K
    剑指offer39. 数组中出现次数超过一半的数字
    剑指offer36.将BST原地转换为双向循环链表
    判断大小端
    CentOS安装RabbitMQ 3.8.9
    Nginx 413 Request Too Large 错误
    NginxPC端和移动端区分
  • 原文地址:https://www.cnblogs.com/lipeil/p/5130288.html
Copyright © 2011-2022 走看看