1231312312312
1231312312312
  • 发布:2017-08-08 08:18
  • 更新:2017-08-08 08:18
  • 阅读:6299

微信支付踏坑之旅

分类:5+ SDK

其实微信支付的集成步骤也就那么几步,奈何第一次接触无论是微信官方文档还是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<String, String> data = new HashMap<String, String>();  
	    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<String, String> resp = wxpay.unifiedOrder(data);  
	      
	    Map<String, String> 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

1 关注 分享
独木为夕

要回复文章请先登录注册

1231312312312

1231312312312 (作者)

回复 点Chris :
没试过,不保证
2018-05-15 09:11
点Chris

点Chris

微信支付只用云打包不行吗?
2018-04-17 17:56
8***@qq.com

8***@qq.com

亲测,官网上下载的都是坑,付费的请联系我QQ/微信:826096331
微信请参考下这里:http://http://www.erdangjiade.com/php/2750.html
支付宝请参考下这里:http://www.erdangjiade.com/php/2475.html
2018-01-08 23:50