微信支付心得

来源:互联网 发布:晋中干部网络培训平台 编辑:程序博客网 时间:2024/05/29 07:18
微信支付需要直接调起支付连链接地址都不用你管这里面7个参数分别是应用id,合作商户id,预支付id,扩展字段,随机字符串,时间戳,签名。
前6个参数通常不会有问题,第七个参数是最容易出现问题,它签名规则是1.参数名按ASCII码顺序排列拼接商户key值 2.区分大小写。
   客户端调用微信支付的时候是只要返回错误信息,也没有打log,所以是很难判断你是哪里出错,而且测试时用的debug.keystore 和打包后的keystore不一样。 微信的私钥,公钥是给出来的demo的工具类进行加密与解密的。
  1.首先点击微信支付的按钮。
  2.首先在oncreate()方法中初始化支付接口的api;在微信支付点击按钮的点击事件中  首先 
    判断是否支付微信支付;开启子线程联网访问支付接口(我这里用的微信提供的访问网络工具类也可以用自己封装的)并对返回结果封装成json对象,从json对象中提取参数并封装到,
  微信Sdk提供的PayReq类中调用api的sendReq(req) 方法请求支付结果,api.sendReq(req);这个方法的返回值将会在另一类中处理。
  3.这个类要实现IWXAPIEventHandler接口  oncreate方法中初始化api对象调用,api.handleIntent(getIntent(), this)方法,重写onNewIntent方法和onResp和onReq方法,处理结果主要在onResp方法中实现。
  4.一、用户在商城选择商品下单点击去支付。
    二、微信生成二维码,登录授权,进入微信支付服务端,然后返回openid到微信内部浏览器。
    三、选择商品的下的订单,统一调用接口,返回Prepayid与返回带支付签名的订单数据。
    四、调用微信支付,发起支付进入微信支付服务端,返回支付授权码验证,用户提交全选,并且确认金额与名称数量,进入支付服务端,向用户展示支付结果,支付服务器进行一步通知商户,支付结果,查询订单支付状态。
    六、微信平台上的事,客户端这里负责监听支付结果结束后自动返回该结果页面。