java支付宝扫码支付,简单生成二维码方法_java支付宝网站支付参数中传了qr_pay_mode=4,前端怎么从body生成二维码-程序员宅基地

技术标签: java支付宝扫码支付二维码生成demo  

支付宝扫码支付
首先申请 appid、app_private_key,publicKey,
直接上代码:
方式一:可以禁用支付通道(disable_pay_channels)
public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(SERVERURL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGNTYPE);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" +
““out_trade_no”:“20180320010101001”,” +
““total_amount”:88.88,” +
““subject”:“Iphone6 16G””+
/"“seller_id”:“2018091961456482”," +
““discountable_amount”:8.88,” +
““goods_detail”:[{” +
““goods_id”:“apple-01”,” +
““goods_name”:“ipad”,” +
““quantity”:1,” +
““price”:2000,” +
““goods_category”:“34543238”,” +
““categories_tree”:“124868003|126232002|126252004”,” +
““body”:“特价手机”,” +
““show_url”:“http://www.alipay.com/xxx.jpg”” +
“}],” +
““body”:“Iphone6 16G”,” +
““operator_id”:“yx_001”,” +
““store_id”:“NJ_001”,” +
““disable_pay_channels”:“pcredit,moneyFund,debitCardExpress”,” +
““enable_pay_channels”:“pcredit,moneyFund,debitCardExpress”,” +
““terminal_id”:“NJ_T_001”,” +
““extend_params”:{” +
““sys_service_provider_id”:“2088511833207846”,” +
““industry_reflux_info”:”{\\\“scene_code\\\”:\\\“metro_tradeorder\\\”,\\\“channel\\\”:\\\“xxxx\\\”,\\\“scene_data\\\”:{\\\“asset_name\\\”:\\\“ALIPAY\\\”}}"," +
““card_type”:“S0JP0000"” +
“},” +
““timeout_express”:“90m”,” +
““settle_info”:{” +
““settle_detail_infos”:[{” +
““trans_in_type”:“cardSerialNo”,” +
““trans_in”:“A0001”,” +
““summary_dimension”:“A0001”,” +
““settle_entity_id”:“2088xxxxx;ST_0001”,” +
““settle_entity_type”:“SecondMerchant、Store”,” +
““amount”:0.1” +
“}]},” +
““business_params”:”{\“data\”:\“123\”}”," +
““qr_code_timeout_express”:“90m”” +
/
" }");
AlipayTradePrecreateResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println(“调用成功”);
String qrCode = response.getQrCode();
System.out.println("------qrCode-------"+qrCode);
// 需要修改为运行机器上的路径
String filePath = String.format("/Users/sudo/Desktop/qr- %s.png",response.getOutTradeNo());
//将生成的二维码存放到指定路径
ZxingUtils.getQRCodeImge(response.getQrCode(), 256, filePath);
} else {
System.out.println(“调用失败”);
}
注:1.实际上,支付宝生成的二维码图片我们可以不用,只用它生成的一串二维码字符串qrCode,前端可以用js来把字符串还原成二维码。这样我们也不必为保存二维码图片的空间苦恼
2.发送请求时,我们可以根据自己需要来设置参数,有三个是必须参数(out_trade_no:订单号,total_amount:总价,subject:扫码支付时的商品提示)
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sj_liu/article/details/84108180

智能推荐

Unity全局光照/Bake GI/Precomputed Real-time GI/Lightmap/Light Probe_csdn unity 动态物体 静态光照-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏18次。目录Baked GILightmap和Light ProbePrecomputed Real-time GIUnity的全局光照系统采用Enlighten解决方案,包含Baked GI和Precomputed Real-time GI系统。在不开启全局光照时,Unity的光源只产生直接光照的效果,没有任何间接光照。Baked GIBaked GIBaked GI采用一个离线的烘焙过程,将静态物体接收到的光照信息存入Lightmap中储存。由于烘焙是离线的过程,可以耗费时间来计算复杂的间接光照,将结果_csdn unity 动态物体 静态光照

Javascript 产生随机数——服从均匀分布随机数、服从正态分布(高斯分布)随机数、服从柯西分布随机数_js 正态分布随机数-程序员宅基地

文章浏览阅读3.6k次,点赞6次,收藏16次。Javascript 产生服从均匀分布随机数大家都知道Math.random是 javascript 中返回伪随机数的方法,但Math.random()产生 [0,1)区间的随机数(注意,不包括1),如果要取到1,可以这样:Math.floor(Math.random()*2);,取到 [0,2)之间的数然后向下取整。Box-Muller变换是通过服从均匀分布的随机变量,来构建服从正态分布的随机变量的一种方法。_js 正态分布随机数

Keras实现层的分离_keras输入图像通道分离-程序员宅基地

文章浏览阅读522次。前言笔者最近在复现Shufflenet Mobilenet 和谷歌最新推出的EfficientNet结构发现各大网络都在往轻巧化方向发展其中一个很关键的,就是Depthwise卷积结构的提出,可以参考我上篇博客而其中Depthwise卷积需要对单独的通道在做一次卷积,而不是多通道上进行累加因此这就涉及到了通道的分离下面我们直接来看代码代码实现import kerasfrom ke..._keras输入图像通道分离

SpringBoot 整合Swagger2 启动异常documentationPluginsBootstrapper NullPointerException_org/springframework/boot/bootstrapper-程序员宅基地

文章浏览阅读815次。SpringBoot 整合Swagger2 启动异常org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException_org/springframework/boot/bootstrapper

IntelliJ IDEA 下载安装配置教程(完整版)_idea安装教程-程序员宅基地

文章浏览阅读10w+次,点赞438次,收藏2.2k次。IntelliJ IDEA 下载安装教程参考:https://blog.csdn.net/HD_hjx/article/details/89931754number_one:官网下载 IntelliJ IDEAnumber_two:开始安装的旅途吧!_idea安装教程

centos7 安装 arl 灯塔_linux 放行5003端口-程序员宅基地

文章浏览阅读4.4k次,点赞4次,收藏20次。灯塔 arl 的安装环境要求:Linux 系统,Ubuntu、Centos等看自己喜欢哪个Python3dockerdocker compose安装安装 Python3yum install -y python3安装 docker参考:https://editor.csdn.net/md/?articleId=115617110安装docker compose参考:https://editor.csdn.net/md/?articleId=115621316安装 arl _linux 放行5003端口

随便推点

MATLAB 画图_plot(t,y),y为矩阵-程序员宅基地

文章浏览阅读1.2k次。MATLAB第一节 图形窗口与坐标系一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB通过管理图形窗口的句柄来管理图 形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形 窗口(活跃窗口); ..._plot(t,y),y为矩阵

C#加壳工具做代码加密保护_c# exe代码加固-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏17次。当前C# .net语言的应用范围越来越广泛,IIS 的服务器架构后台代码、桌面应用程序的 winform 、Unity3d 的逻辑脚本都在使用。C# .net 具备强大的便捷特性,使得开发成本极低。而作为一款.net 语言,也有它让开发者头疼的弊病——非常容易被反编译。市面上的 Dnspy, ILspy,de4dot等工具可以非常容易反编译出被混淆保护的C# .net 程序。解决方案深思自..._c# exe代码加固

C++ 使用fdk-aac对音频编码-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏11次。mp4的音频流通常是aac编码,我们做音视频采集的时候就需要将,采集的音频PCM编码成aac,然后再打包进mp4,而aac编解码库中fdk-aac是性能较好的,使用方式也比较简单。在C++项目中使用,通常再做一层封装,提高模块的复用性和替换性。本文将展示C++将fdk-aac封装成一个编码对象,以及使用示例。_fdk-aac

关于PyCharm 中使用sqlite创建数据库表,表不显示的问题。_pycharm sqlite中找不到migrate的表-程序员宅基地

文章浏览阅读1w次,点赞9次,收藏7次。1.问题:在pycharm中将爬取的数据通过sqlite3保存在数据库表中,数据库名称为:film.sqlite3,创建表名为:filmtop250。过程为import sqlite3film = sqlite3.connect('film.sqlite3')create_table = 'create table filmtop250(rank integer,title varc..._pycharm sqlite中找不到migrate的表

BZOJ 1434: [ZJOI2009]染色游戏 博弈_一共n × m 个硬币,摆成n × m 的长方形。dongdong 和xixi 玩一个游戏, 每次可-程序员宅基地

文章浏览阅读872次。[Submit][Status][Discuss] Description 一共n × m 个硬币,摆成n × m 的长方形。dongdong 和xixi 玩一个游戏, 每次可以选择一个连通块,并把其中的硬币全部翻转,但是需要满足存在一个 硬币属于这个连通块并且所有其他硬币都在它的左上方(可以正左方也可以正 上方),并且这个硬币是从反面向上翻成正面向上。dongdong 和xixi 轮流操作。_一共n × m 个硬币,摆成n × m 的长方形。dongdong 和xixi 玩一个游戏, 每次可以

使用VirtualBox安装manjaro后,如何安装增强功能(详细介绍)_virtualbox为manjaro安装增强功能-程序员宅基地

文章浏览阅读6.4k次。捣鼓arch时,突然遇到一个难题,就是如何安装好manjaro后,将增强功能安装好(可以共享文件夹,剪切板,全屏等)点击安装增强功能选项。 在manjaro中打开文件管理,左侧往下拉,会有个磁盘管理,这里面会多一个已经挂载的磁盘 点击磁盘进入该磁盘所在目录,在目录下右击root,打开命令窗口,输入./xxxxxxxx.run,,,,这里的xxxxx是指文件夹下面的run文件名 直译过来:..._virtualbox为manjaro安装增强功能

推荐文章

热门文章

相关标签