国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

集成qq支付時的簡便步驟和兩個深坑處理

2019-11-09 18:50:11
字體:
來源:轉載
供稿:網(wǎng)友

1:大概步驟和官方文檔差不多(官方地址QQ錢包支付android路徑點擊此處),但是看官方肯定會感覺太繁瑣,只需簡單幾步就可集成,關鍵還是調試時的一些小坑。

2:不要太相信經(jīng)理給你的賬號和密碼設置,因為賬號不通的話會出現(xiàn)各種問題,你根本無從下手解決即使你的集成完全ok 例如:每次支付都會提示你你的appid和簽名不一致。不用想了,賬號問題,很可能你的賬號都沒通過呢,可能原因你們的簽名那一串數(shù)字其他地方用的時候要把中間冒號去掉,但是qq的不能,只能連冒號一起提交審核。

3:簡單的集成步驟 3.1添加jar包mqqopenpay.jar 3.2判斷是否支持qq是qq支付的版本最低版本,一般都支持(處理好null值即可) 調用isMobileQQSupportApi函數(shù)判斷手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下發(fā)的數(shù)字簽名,生成的簽名串,參看“數(shù)字簽名” //api.sigType = “HMAC-SHA1”; // 簽名時,使用的加密方式,默認為”HMAC-SHA1” try { signApi(api); }if (api.checkParams()) { mOpenApi.execApi(api); Log.e(“glkk”,”調起qq支付”); } 簽名代碼 3.4

/** * 簽名步驟建議不要在app上執(zhí)行,要放在服務器上執(zhí)行. */ 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"); // 根據(jù)給定的字節(jié)數(shù)組構造一個密鑰,第二參數(shù)指定一個密鑰算法的名稱 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按開發(fā)文檔即可 appkey為后臺給你的那個32位的(千萬別用那個短的十位左右的,那個不行) 小結,本來想把出現(xiàn)問題的那兩個黑框框簽名不對,和appkey不對應的圖貼上,但是找不到了,如有問題可聯(lián)系我郵箱18792586740@163.com


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岳阳市| 镇江市| 江源县| 承德市| 宁河县| 页游| 九台市| 鹤峰县| 岱山县| 崇义县| 唐河县| 贵港市| 吉隆县| 黔南| 萨嘎县| 徐州市| 辽中县| 时尚| 那曲县| 永平县| 青田县| 广元市| 洪江市| 温泉县| 宁乡县| 元氏县| 泗水县| 阳江市| 红原县| 浦北县| 扶余县| 托里县| 岚皋县| 余庆县| 枣阳市| 清水河县| 河北省| 财经| 屯门区| 三都| 右玉县|