1:大概步骤和官方文档差不多(官方地址QQ钱包支付android路径点击此处),但是看官方肯定会感觉太繁琐,只需简单几步就可集成,关键还是调试时的一些小坑。
2:不要太相信经理给你的账号和密码设置,因为账号不通的话会出现各种问题,你根本无从下手解决即使你的集成完全ok 例如:每次支付都会提示你你的appid和签名不一致。不用想了,账号问题,很可能你的账号都没通过呢,可能原因你们的签名那一串数字其他地方用的时候要把中间冒号去掉,但是qq的不能,只能连冒号一起提交审核。
3:简单的集成步骤 3.1添加jar包mqqopenpay.jar 3.2判断是否支持qq是qq支付的版本最低版本,一般都支持(处理好null值即可) 调用isMobileQQSupportApi函数判断手Q是否支持QQ钱包支付: boolean isSupport = openApi.isMobileQQSupportApi(OpenConstants.API_NAME_PAY); 3.3通过OpenApiFactory工厂类获得开放Api实例: IOpenApi openApi = OpenApiFactory.getInstance(this, APP_ID); 3.4`PayApi api = new PayApi(); api.appId = APP_ID;(申请应用的唯一标识) api.serialNumber =”” + paySerial++;(自增长的int值) api.callbackScheme = “qwallet100703379”;(固定格式+appid) api.tokenId = mJsonObject3.getString(“tokenId”);(相当于预支付订单号,从后台获取) api.pubAcc = “”;(可不写) api.pubAccHint = “”;(可不写) api.nonce = mJsonObject3.getString(“nonce”);(随机字符串) api.timeStamp = System.currentTimeMillis() / 1000; api.bargainorId = BARGAINOR_ID;(商户号,申请时给定的) //api.sig = mJsonObject3.getString(“sign”); // 商户Server下发的数字签名,生成的签名串,参看“数字签名” //api.sigType = “HMAC-SHA1”; // 签名时,使用的加密方式,默认为”HMAC-SHA1” try { signApi(api); }if (api.checkParams()) { mOpenApi.execApi(api); Log.e(“glkk”,”调起qq支付”); } 签名代码 3.4
/** * 签名步骤建议不要在app上执行,要放在服务器上执行. */ public void signApi(PayApi api) throws Exception { // 按key排序 StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("appId=").append(api.appId); stringBuilder.append("&bargainorId=").append(BARGAINOR_ID); stringBuilder.append("&nonce=").append(api.nonce); stringBuilder.append("&pubAcc=").append(""); stringBuilder.append("&tokenId=").append(api.tokenId); byte[] byteKey = (APP_KEY+"&").getBytes("UTF-8"); // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 SecretKey secretKey = new SecretKeySpec(byteKey, "HmacSHA1"); // 生成一个指定 Mac 算法 的 Mac 对象 Mac mac = Mac.getInstance("HmacSHA1"); // 用给定密钥初始化 Mac 对象 mac.init(secretKey); byte[] byteSrc = stringBuilder.toString().getBytes("UTF-8"); // 完成 Mac 操作 byte[] dst = mac.doFinal(byteSrc); // Base64 api.sig = Base64.encodeToString(dst, Base64.NO_WRAP); api.sigType = "HMAC-SHA1"; }3.5:配置清单文件和回调的activity按开发文档即可 appkey为后台给你的那个32位的(千万别用那个短的十位左右的,那个不行) 小结,本来想把出现问题的那两个黑框框签名不对,和appkey不对应的图贴上,但是找不到了,如有问题可联系我邮箱18792586740@163.com
新闻热点
疑难解答