SpringBoot项目后台对接微信支付开发——微信统一下单接口开发
开始没找到微信支付的sdk。自己根据官方给的接口文档纯手写,各种xml转JSON,JSON转xml,加密解密,签名、、、、整个人都是崩溃的
开发的第三天,发现有官方的sdk。心情一下子豁然开朗,整个人都轻松了一截。
话不多说,直接上代码
首先当然是引入微信支付的依赖包啦
- <dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>- 大家可以进去源码里面看看,各个方法都被封装得挺好得,从原生过来的我泪流满面
下面以微信统一下单接口开发为例
- /** @description 微信统一下单接口
* @Author wenjing
* @Date 10:46 2019/5/13
* @Param [wxUnifiedorderModel]
* @return com.zyhp.utils.Result
**/
public Result wxUnifiedorder(WxUnifiedorderModel wxUnifiedorderModel)throws Exception{
//new一个微信支付,实际开发中最好使用单例模式
MyWxConfig config = new MyWxConfig();
WXPay wxPay = new WXPay(config);
SortedMap<String, String> params = new TreeMap<String, String>();
params.put("device_info", "WEB"); //设备号
params.put("body", wxUnifiedorderModel.getBody());//商品描述
//生成商户订单号
long serialNumMax = redisUtil.incr("outTradeNo");
String outTradeNo = CommonUtil.getDateStr(new Date())+serialNumMax;
wxUnifiedorderModel.setOutTradeNo(outTradeNo);
params.put("out_trade_no", outTradeNo);
params.put("total_fee", wxUnifiedorderModel.getTotalFee().movePointRight(2).toString());
// params.put("time_start", time_start);
params.put("trade_type","JSAPI");
params.put("notify_url",Constans.SERVICE_HOST+"/payInfoBack");
params.put("spbill_create_ip",wxUnifiedorderModel.getSpbillCreateIp());
Map<String,String> resultMap = wxPay.unifiedOrder(params);
if("FAIL".equals(resultMap.get("return_code"))){
return new Result("-1","参数格式错误",null);
}
if("SUCCESS".equals(resultMap.get("result_code"))){
return new Result("-1",resultMap.get("err_code_des"),null);
}
//保存该订单记录
wxUnifiedorderModel.setTimeStart(new Date());
wxUnifiedorderModelMapper.insert(wxUnifiedorderModel);
return new Result("1","成功",resultMap.get("prepay_id"));
}
SpringBoot项目后台对接微信支付开发——微信统一下单接口开发的更多相关文章
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...
- 浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)
本文是[浅析微信支付]系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处. 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 微信支付是集成在微信客户 ...
- Android调试大法 自定义IDE默认签名文件==>微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信
转载地址:http://blog.yanzhenjie.com Android调试大法之自定义IDE默认签名文件,你是否为调试第三方SDK时debug签名和release签名发生冲突而烦恼?你是否在d ...
- 微信支付和微信支付通知基于sdk的说明(2)
前期准备工作 微信商户账户/密码(获取appid等信息) 微信公众号账户/密码(获取cert证书等信息,不做线上退款不需要证书) 下载php支付demo 从商户平台进入的话是以下界面或者直接搜索公众号 ...
- 怎样调通微信支付及微信发货通知接口(Js API)
怎样调通微信支付及微信发货通知接口(Js API) 微信支付提供了一个支付測试页面,微信支付正式使用须要測通支付.发货通知接口 .告警接口.维权接口.告警接口.维权接口非常easy.支付界面调通也相对 ...
- #PHP#微信支付 第二篇 JSAPI 调用统一下单接口获取预支付交易数据
上一篇讲到成功获取 openid,本篇要调用微信统一接口创建预支付交易单,并获取到相关数据,以便(后边)在微信内调起H5支付 第三步,调用微信统一下单接口创建预支付交易单 微信统一下单API是微信支付 ...
- 微信支付之微信H5支付(坑,ajax不支持重定向跳转)
这里讲的是 微信h5支付, 是微信以外的手机浏览器调用微信h5支付 h5支付: H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起 ...
- PHP九大接口视频教程( 支付宝,QQ,短信接口,微信接口开发, 支付宝即时到账接口开发三级分销全套)
PHP九大接口视频教程( 支付宝,QQ,短信接口,微信接口开发, 支付宝即时到账接口开发三级分销全套) 需要的联系我:QQ: 1844912514 PHP九大接口视频教程( 支付宝,QQ,短信接口 ...
随机推荐
- MySQL的DDL和DML
SQL语句:结构化查询语句,使用SQL与数据库“沟通”,完成相应的数据库操作. 语句分类 DDL(Data Definition Languages)语句:即数据库定义语句,用来创建数据库中的表.索引 ...
- D语言-运算符
Part 0:概念 表达式:表达式是由非赋值运算符或特殊运算符和值组成的,每个表达式都可以计算出一个值 Part 1:非赋值运算符 §1.1 基本的运算符 基本的运算符有+,-,*,/,% 我相信你除 ...
- da道至简读后感
大道至简,衍化至繁. 往往特别深奥的事却是从特别简洁的发展而成的,就像麦克斯韦仅仅凭一个方程组就统一了电磁学一样,物理学中的算式往往非常简练.开普勒计算天体运行的时候是遵循老师认同的地心说计算的,结果 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习: JSON
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- CodeForces - 350B(反向建图,)
B - Resort CodeForces - 350B B. Resort time limit per test 2 seconds memory limit per test 256 megab ...
- 108.生成和下载csv文件
生成CSV文件 有时候我们做的网站,需要将一些数据,生成一个csv文件返回浏览器,并且是作为附件的形式下载下来. 生成小的csv文件: 生成一个小的csv文件,我们用Python内置的csv模块来处理 ...
- Aras Innovator客户端批量下载关联文件
<button onclick="btnDownload();" id="downfilebtn">批量下载关联文件</button> ...
- UVA 515 差分约束 SPFA判负
第一次看这个题目,完全不知道怎么做,看起来又像是可以建个图进行搜索,但题目条件就给了你几个不等式,这是怎么个做法...之后google了下才知道还有个差分约束这样的东西,能够把不等式化成图,要求某个点 ...
- python thrift demo
简介Thrift最初由Facebook研发,主要用于各个服务之间的RPC通信,支持跨语言,常用的语言比如C++, Java, Python, PHP, Ruby, Erlang, Perl, Hask ...
- PHP实现快速排序算法相关案例
<?php /** * 快速排序 --主要运用递归, 先把一个数找准位置,然后再递归把左右两边的数都找准位置 */ function QSort($a= []){ $nCount = count ...