Java实现支付宝当面付(扫码)详细步骤
当咱们申请签约好当面付功能之后怎么用Java代码调用该支付接口呢?我只创建了三个Java类。
controller commen qrcode
controller用来写调用支付接口的,commen用来写全局变量,例如APPID,URL这些。
qrcode是生成二维码的工具类,因为在当面付的官方说明文档里写着要开发者用工具转换返回的链接生成二维码,所以这里用到一个生成二维码的工具类。
看图:
commen
qrcode
controller
@GetMapping("/alipay")
public void demo (HttpServletResponse response2) throws Exception {AlipayClient alipayClient = new DefaultAlipayClient( Commen.URL , Commen.APPID , Commen.APP_PRIVATE_KEY , Commen.FORMAT, Commen.CHARSET , Commen.ALIPAY_PUBLIC_KEY , Commen.SIGN_TYPE ); //获得初始化的AlipayClientAlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest (); //创建API对应的request类request.setNotifyUrl("http://mk9zr5.natappfree.cc/cs/retrun");//设置回调通知地址request.setReturnUrl("http://www.baidu.com");request . setBizContent ( "{" +"\"out_trade_no\":\"20150320010101018\"," + //商户订单号"\"total_amount\":\"0.01\"," +"\"subject\":\"Iphone6 16G\"," +"\"store_id\":\"NJ_001\"," +"\"timeout_express\":\"90m\"}" ); //订单允许的最晚付款时间AlipayTradePrecreateResponse response = null;try {response = alipayClient.execute (request);} catch (AlipayApiException e) {e.printStackTrace();}//根据response中的结果继续业务逻辑处Map map = JsonToMapUtil.analysis(JSON.parseObject(response.getBody()));Qrcode.produceQR(response2,map.get("qr_code")+"");
}
我在这里设置了回调通知地址是用的内网穿透的一个地址,实际上是我本地localhost,回调方法如下:
@PostMapping("/retrun")public void callback(HttpServletRequest request,HttpServletResponse response) throws Exception {InputStream inStream = request.getInputStream();BufferedReader in = null;String result = "";in = new BufferedReader(new InputStreamReader(inStream));String line;while ((line = in.readLine()) != null) {result += line;}Map<String,Object> map = new HashMap<>();String[] split = result.split("&");for (String s : split) {String[] spl = s.split("=");String key = spl[0];String value = URLDecoder.decode(spl[1], "UTF-8");// UTF-8解码map.put(key,value);}
// 打印success字节流传给支付宝服务器System.out.println("================================= 支付成功 =================================");Writer out= new BufferedWriter(new OutputStreamWriter(response.getOutputStream()));out.write("success"); //一定要打印successout.flush();out.close();System.out.println("付款时间是"+map.get("gmt_payment"));System.out.println("支付宝交易订单号"+map.get("trade_no"));System.out.println("商户订单号"+map.get("out_trade_no"));System.out.println("订单金额"+map.get("total_amount"));System.out.println("订单状态"+map.get("trade_status"));System.out.println(map.toString());}
回调的意思是用户扫码付款成功后,会有一个异步通知,是支付宝官方通知我们用户已经支付成功了,我们需要给支付宝一个回调的地址让他有地方通知过来。然后我是写成了map,一个一个打印出来了。
详细的代码已经上传了,只需要更改你的APPID参数即可:https://download.csdn.net/download/weixin_42167600/19988100
Java实现支付宝当面付(扫码)详细步骤相关推荐
- 支付宝当面付扫码支付功能详解
前言: 上篇呢主要是针对微信验证登录做了讲解,当然微信也是提供了很多的接口来供开发者进行调用,同样,微信也有支付,相信小伙伴们学习了上篇的登录之后,已经能够融汇贯通,做出微信的支付功能.那么本篇呢就讲 ...
- 支付宝当面付-扫码支付
1.需要jar包 2.请求支付 private static AlipayTradeService tradeService;@Autowiredstatic {/** 一定要在创建AlipayTra ...
- 支付宝当面付扫码支付接口开发
最近公司要做一个有关支付的相关项目,需要对接支付宝的支付接口,实现扫描二维码支付功能,为此研究了一下支付宝相关业务.主要依据就是支付宝的相关接口文档: https://docs.open.alipay ...
- 支付宝当面付扫码支付支付后不回调_个人也可以申请支付宝当面付,费率0.38-无需营业执照,个体户0.3...
个人也可以申请支付宝当面付啦,费率0.38%-支付信用卡和花呗付款,无需营业执照.如果有个体户营业执照的,费率甚至可以低至0.3%.T0实时到账开通当面付产品的支付宝账户余额中,随时可以发起提现到银行 ...
- 支付宝当面付扫码支付支付后不回调_对接支付宝当面付进行电脑网站和手机网站收款教程...
对接支付宝当面付进行电脑网站和手机网站收款教程 第一步:风铃自动卡密发卡平台前端搭建 第二步:对接支付宝当面付进行电脑网站和手机网站收款 项目地址:https://github.com/Tai7sy/ ...
- 支付宝当面付扫码支付支付后不回调_支付宝餐饮蓝海计划2020年推出最新版
政策简介:服务商为商户完成代报名后,商户将获得0.2%的优惠费率:服务商帮助商户完成配置IOT设备. 适用商户范围:参加餐饮新蓝海行动的餐饮客户,签约支付宝当面付产品,配置和绑定IOT设备 政策有效期 ...
- C#支付宝当面付扫码支付开发,包括demo代码的修改和蚂蚁金服开发平台的配置
支付宝开发前配置: 第一步登陆蚂蚁金服开放平台服:支付宝扫码登陆 登录之后看到一下界面,找到自主研发选项,点击开始入驻 配置自己的个人信息: 到此为止我们所有应该做的配置基本上就完成了,但是我们要注意 ...
- 支付宝当面付扫码支付支付后不回调_码云上不错的几个支付相关的项目
阅读文本大概需要15分钟. 网上支付相关的额业务场景无处不在,如果能掌握支付相关的核心技术,对于升职涨薪有莫大的好处.目前国内支付以支付宝和微信这两种支付为首,其他支付则可以忽略不计.有些网友以这两种 ...
- 支付宝当面付扫码支付支付后不回调_支付宝当面付门店码
政策简介:针对当面付的商家,支付宝推出商家数字化经营推广方案,该方案包含两个个政策:大促商家优惠券招商政策.门店码铺设政策,不同政策可获得不同的奖励. 政策奖励标准:(1)铺设奖励=有效门店码铺设数量 ...
- 支付宝当面付扫码支付支付后不回调_科普帖 | 青蛙?蜻蜓?自助收银?刷脸支付?一文为你解惑...
思迅支付金融 青蛙是什么? 蜻蜓又是什么? 要如何购买正确的设备? 自助刷脸大屏又是什么鬼? 刷脸支付还要区分设备和支付方式? 我采购的硬件设备能开通刷脸支付吗? 刷脸支付有没有新的优惠政策呢? 不知 ...
最新文章
- 史上最详细的RocketMq 下单支付案例 分享
- erlang四种启动监控策略
- 不同时重写equals和hashCode又会怎样?
- 什么是Hexo?妈妈再也不用担心我的网页编辑能力了
- tomcat无法启动(JVM错误)
- JavaScript判断浏览器类型及版本(新增谷歌的Chrome)
- Baidu-Rpc中Pb结构转为Json
- 批量更改文件名的批处理文件
- PS中预设画笔并为路径描边
- 烧写器--SPI NAND FLASH烧录定制说明
- VMware卸载Ubuntu系统(详细教程)
- 发送邮件被退回,提示: Helo command rejected: Invalid name 错误
- 费控系统对接用友NC
- 计数器设计及仿真验证
- docker安装mosquitto2.0.14问题
- Spark系列—spark简介
- 关于Keil开发C51单片机的头文件问题
- 最大公约数的几种求解及代码实现
- JVM堆内存与垃圾收集器
- VMware虚拟机上LINUX系统的安装及其练习题
热门文章
- maven项目本地手动导包
- matlab 喷嘴挡板阀,双喷嘴挡板伺服阀动态参数寻优及仿真研究
- 2018.08.28 九份的咖啡店(费用流)
- Python functools.wraps 详解
- 教师德育工作计算机教师总结,计算机教师个人年度工作总结
- 软件测试如何选择第三方软件测评公司
- 【Android病毒分析报告】 - KorBankDemon “吸金幽灵”打劫银行
- 中国系统性自身免疫性疾病诊断市场趋势报告、技术动态创新及市场预测
- 曲线平滑/散点拟合——卡尔曼滤波
- 灾难恢复全攻略:从定级、规划到实施