Java编程调用微信支付功能的方法详解

时间:2021-05-20

本文实例讲述了Java编程调用微信支付功能的方法。分享给大家供大家参考,具体如下:

微信开发文档地址:https://mp.weixin.qq.com/wiki/home/

从调用处开始

我的流程: 1.点击“支付”按钮,去后台 —-> 2.后台生成支付所需数据返回页面 —-> 3.页面点击“确认支付”调用微信支付js。完成支付功能。

支付按钮

<div class="button" id="pay" onclick="payBox()">支付</div>

支付按钮js

function payBox(){ //获得支付的钱数 var money = $(".money input").val(); //后台路径,加上参数 location.href = "/XXX/XXX/XXXX/XXXX?money ="+money;}

后台方法(例:index())

注释:

getPara( ) == request.getParameter(name);
setAttr( ) == request.setAttribute(name, value);
render() == 我现在所用框架返回页面的一种方法。

首先得OpenId;下面是具体方法。

public String getOpenId(){ String code = getPara("code"); String openid = ""; if (StringUtils.isEmpty(openid) && !StringUtils.isEmpty(code)) { SnsAccessToken token = SnsAccessTokenApi.getSnsAccessToken("你的APPID","你的appsecret密码", code); openid = token.getOpenid(); } getSession().setAttribute("openandid",openid); return openid;}public void index() throws Exception{ String openid = getOpenId(); //得到金额 String money= getPara("money"); Map<String ,String > map=new HashMap<String,String>(); //获取随机串 String nonceStr=UUID.randomUUID().toString().substring(0, 32); //可以是支付物品的订单号。一个号码,看自己怎么给 String out_trade_no="123456789"; //支付金额。微信默认支付是(1=0.01)的比例,下面是将金额换算成微信可识别的 BigDecimal re1=new BigDecimal(expressCharge); BigDecimal re2=new BigDecimal(Float.toString(100.00f)); Float aa = re1.multiply(re2).floatValue(); String total_fee = String.valueOf(aa); String[] smill = total_fee.split("\\."); total_fee = smill[0]; //微信的appid String appid="XXXXXXXXXXXXXXXXX"; String mch_id="XXXXXXXXX";//商户号 String body="xxxxxxx";//商品信息,可以自己起最好写英文 //密匙,商户平台的支付API密匙,注意是商户平台,不是微信平台 String key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"; long timestamp = System.currentTimeMillis() / 1000; map.put("appid", appid ); map.put("mch_id", mch_id); map.put("nonce_str",nonceStr); map.put("body", body); map.put("out_trade_no", out_trade_no); map.put("total_fee", total_fee); map.put("spbill_create_ip",getRequest().getRemoteAddr()); //这里是支付成功后返回的地址,微信会以XML形式放回数据,就是本篇文章的下一类(例:wxxml())方法名。 map.put("notify_url", "http://mon.Constants;

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程》

希望本文所述对大家java程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章