android微信支付坑,微信支付踏坑之旅
其實微信支付的集成步驟也就那么幾步,奈何第一次接觸無論是微信官方文檔還是5+SDK文檔都看的暈頭轉向,于是我換個思路
(以下只針對android app支付功能,服務端為java)
1、首選確定app已經開通支付功能,確保 包名、應用簽名、appid、mchid、apikey
(包名、應用簽名、appid 在https://open.weixin.qq.com/中查看;mchid、apikey 在https://pay.weixin.qq.com/中獲得;關于應用簽名和包名可查看https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5,里面提供驗證包名和應用簽名匹配的apk,應用簽名可修改,但不會立即生效)
2、下載http://pan.baidu.com/s/1slI29aP的工程,將工程中的包名換成你自己的,將Constants.java中的信息補充完成并打包簽名成apk,安裝在android手機中查看是否能正常調用微信的支付功能,不能正常調起微信支付說明你1中的信息不正確
3、在https://github.com/wxpay/WXPay-SDK-Java下載封裝包(微信官方提供,分別有php、c、node.js、java、Python,本例以java為例)引入到服務端,代碼如下
MyConfig config = new MyConfig();
WXPay wxpay = new WXPay(config);
Map data = new HashMap();
data.put("body", body);
data.put("out_trade_no", outTradNo);
data.put("total_fee", totalFee);
data.put("trade_type", "APP");
data.put("spbill_create_ip", clientIp);
data.put("notify_url", "http://192.168.1.101/login.html");
Map resp = wxpay.unifiedOrder(data);
Map app = new HashMap<>();
app.put("appid", MyConfig.APP_ID);
app.put("partnerid", MyConfig.MCH_ID);
app.put("prepayid", resp.get("prepay_id"));
app.put("noncestr", WXPayUtil.generateNonceStr());
app.put("timestamp", String.valueOf(System.currentTimeMillis()/1000));
app.put("package", "Sign=WXPay");
String sign = WXPayUtil.generateSignature(app, MyConfig.API_KEY);
app.put("sign", sign);
return app;
使用HBuilder需要使用自己的簽名打包安裝才能看到效果,在調試狀態下會報-100
總結
以上是生活随笔為你收集整理的android微信支付坑,微信支付踏坑之旅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样在半个月内迅速提升技能,搞定面试进
- 下一篇: 在Linux系统下实现进程,Linux进