当咱们申请签约好当面付功能之后怎么用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. 支付宝当面付扫码支付功能详解

    前言: 上篇呢主要是针对微信验证登录做了讲解,当然微信也是提供了很多的接口来供开发者进行调用,同样,微信也有支付,相信小伙伴们学习了上篇的登录之后,已经能够融汇贯通,做出微信的支付功能.那么本篇呢就讲 ...

  2. 支付宝当面付-扫码支付

    1.需要jar包 2.请求支付 private static AlipayTradeService tradeService;@Autowiredstatic {/** 一定要在创建AlipayTra ...

  3. 支付宝当面付扫码支付接口开发

    最近公司要做一个有关支付的相关项目,需要对接支付宝的支付接口,实现扫描二维码支付功能,为此研究了一下支付宝相关业务.主要依据就是支付宝的相关接口文档: https://docs.open.alipay ...

  4. 支付宝当面付扫码支付支付后不回调_个人也可以申请支付宝当面付,费率0.38-无需营业执照,个体户0.3...

    个人也可以申请支付宝当面付啦,费率0.38%-支付信用卡和花呗付款,无需营业执照.如果有个体户营业执照的,费率甚至可以低至0.3%.T0实时到账开通当面付产品的支付宝账户余额中,随时可以发起提现到银行 ...

  5. 支付宝当面付扫码支付支付后不回调_对接支付宝当面付进行电脑网站和手机网站收款教程...

    对接支付宝当面付进行电脑网站和手机网站收款教程 第一步:风铃自动卡密发卡平台前端搭建 第二步:对接支付宝当面付进行电脑网站和手机网站收款 项目地址:https://github.com/Tai7sy/ ...

  6. 支付宝当面付扫码支付支付后不回调_支付宝餐饮蓝海计划2020年推出最新版

    政策简介:服务商为商户完成代报名后,商户将获得0.2%的优惠费率:服务商帮助商户完成配置IOT设备. 适用商户范围:参加餐饮新蓝海行动的餐饮客户,签约支付宝当面付产品,配置和绑定IOT设备 政策有效期 ...

  7. C#支付宝当面付扫码支付开发,包括demo代码的修改和蚂蚁金服开发平台的配置

    支付宝开发前配置: 第一步登陆蚂蚁金服开放平台服:支付宝扫码登陆 登录之后看到一下界面,找到自主研发选项,点击开始入驻 配置自己的个人信息: 到此为止我们所有应该做的配置基本上就完成了,但是我们要注意 ...

  8. 支付宝当面付扫码支付支付后不回调_码云上不错的几个支付相关的项目

    阅读文本大概需要15分钟. 网上支付相关的额业务场景无处不在,如果能掌握支付相关的核心技术,对于升职涨薪有莫大的好处.目前国内支付以支付宝和微信这两种支付为首,其他支付则可以忽略不计.有些网友以这两种 ...

  9. 支付宝当面付扫码支付支付后不回调_支付宝当面付门店码

    政策简介:针对当面付的商家,支付宝推出商家数字化经营推广方案,该方案包含两个个政策:大促商家优惠券招商政策.门店码铺设政策,不同政策可获得不同的奖励. 政策奖励标准:(1)铺设奖励=有效门店码铺设数量 ...

  10. 支付宝当面付扫码支付支付后不回调_科普帖 | 青蛙?蜻蜓?自助收银?刷脸支付?一文为你解惑...

    思迅支付金融 青蛙是什么? 蜻蜓又是什么? 要如何购买正确的设备? 自助刷脸大屏又是什么鬼? 刷脸支付还要区分设备和支付方式? 我采购的硬件设备能开通刷脸支付吗? 刷脸支付有没有新的优惠政策呢? 不知 ...

最新文章

  1. WinDbg用法详解
  2. python入门用spyder还是jupyter_python3工作环境部署+spyder3+jupyter notebook
  3. 如何把单精度二进制数转换成十进制数?
  4. php header功能的使用
  5. 微软HTTP API指南
  6. 4位并行加载寄存器设计
  7. Spark学习笔记(7)---Spark SQL学习笔记
  8. navicat怎么查看数据库的url_连接数据库url怎么写
  9. OpenCL_Barrier同步
  10. 编辑电线标注及图纸上从主电源线上引出多条支路时如何进行线号的编写?
  11. (33)VHDL实现异步复位D触发器
  12. Linux下编译软件时指定安装目录
  13. 桥本分数式(用递归法实现全排列)
  14. video 设置 poster,默认显示视频第一帧
  15. 计算机显卡设置方法,显卡在哪里设置 显卡设置方法【详细介绍】
  16. 两个例子让你了解什么是中介作用和调节作用
  17. [问题解决]QCA‘s qca-ossl (OpenSSL) plugin is missing
  18. html5游戏防止作弊,html5 canvas模拟的小球躲避小游戏
  19. 压缩软件bandizip下载
  20. UniAPP Android 蓝牙 ESCPOS打印机 打印图片和二维码

热门文章

  1. 火狐浏览器个人设置保存备份即归档文件问题
  2. 品牌对比 | 隅田川咖啡 VS 雀巢咖啡
  3. 华为鸿蒙填申请表,鸿蒙申请,这里填什么吗?
  4. vxworks固件分析
  5. 这个变态的AI想想都很恐怖啊!!
  6. CG4-v1.0-三维造型
  7. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java双笙映画ou5oj
  8. 第十一章 :日志采集工具flume使用
  9. [生存志] 第106节 韩非孤愤说难
  10. 移动端App开发的三种开发技术对比