zoukankan      html  css  js  c++  java
  • Android微信支付—注意事项

    坑点一:PayReq的参数 sign的生成

    PayReq对象有个参数为packageValue

    而sign生成时要用到packageValue,但是对应的Key是package,这里的key容易弄错

    List<NameValuePair> signParams = new LinkedList<NameValuePair>();
    signParams.add(new BasicNameValuePair("appid", req.appId));
    signParams.add(new BasicNameValuePair("noncestr", req.nonceStr));
    signParams.add(new BasicNameValuePair("package", req.packageValue));
    signParams.add(new BasicNameValuePair("partnerid", req.partnerId));
    signParams.add(new BasicNameValuePair("prepayid", req.prepayId));
    signParams.add(new BasicNameValuePair("timestamp", req.timeStamp));
    

    坑点二:支付回调方法

    微信使用反射找到对应的类并实现的回调

    微信官方给出的说明如下:

    参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。

    意思如下:

    1、你要在创建个packageName+.wxapi的包,如:你的项目报名:com.android.qq,那你要在该包名下创建个wxapi的包

    2、在该包下创建个名为 WXPayEntryActivity的Activity类,并实现 接口 IWXAPIEventHandler ,支付的回调就在该接口的 onResp(BaseResp resp)方法中进行

    package com.android.qq.wxapi;
     
    public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
     
    @Override
        public void onResp(BaseResp resp) {
            //处理支付回调
            }
    
    }
    

    三:签名测试

    这个算不上坑点洛,很多第三方都要这样才可测试

    支付的测试必须对应签名的包,否则无法测试支付功能

      

      

  • 相关阅读:
    向代码致敬,寻找你的第83行
    佛系程序员的月薪五万指南
    再谈全局网HBase八大应用场景
    如何避免HBase写入过快引起的各种问题
    阿里云MaxCompute被Forrester评为全球云端数据仓库领导者
    为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能
    《CDN 之我见》原理篇——CDN的由来与调度
    Installing GCC (C++ Compiler and Development Tools)
    Gems installation
    Fedora23
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6602643.html
Copyright © 2011-2022 走看看