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中的信息不正确

6bce1460cfbde7744ff5af4475e07614.png

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

ca3f6e536819f3c0945f310141dc7662.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值