springboot整合支付宝当面付以及退款,查询订单状态,关闭订单(详细步骤)

本文主要是介绍springboot整合支付宝当面付以及退款,查询订单状态,关闭订单(详细步骤),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明

当面付是支付宝的官方收款接口,稳定性非常高,2019 年 5 月份后,支付宝开放当面付注册,任何人不再需要营业执照这个门槛就可以免费申请。目前有两种费率,0.38%和0.6%

开通当面付服务

1、去支付宝商家中心:支付宝商家中心-国内领先的第三方支付和金融服务平台

2.按照要求上传店铺信息(注意招牌图片上的名字和填写的店铺名一样)

3.等待审核(一般情况会很快,最多一天之内)

使用前准备

进入支付宝开放平台

支付宝开放平台 (alipay.com)

点击右上角控制台 

 选择网页&移动应用

创建应用,创建好之后点进应用

添加能力 

添加当面付

  • APPID:应用 ID

 在左上角

 支付宝公钥:

        下载支付宝开放平台助手:https://gw.alipayobjects.com/os/bmw-prod/02b946e1-9faf-4394-8004-d241443c874e.exe

打开支付宝开放平台助手

 点击生成密钥

 复制公钥

 点击加签方式的设置查看

 

将公钥填写进去 保存设置

使用当面付

1.导入依赖

 

<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.23.0.ALL</version>
</dependency>

2.使用

首先我们可以自定义一个Client继承DefaultAlipayClient

import com.alipay.api.DefaultAlipayClient;public class MyPayClient extends DefaultAlipayClient {public MyPayClient() {super("https://openapi.alipay.com/gateway.do","你的appid","支付宝开放平台助生成的私钥","RSA2");}
}

然后使用

MyPayClient myPayClient = new MyPayClient();
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setNotifyUrl("此处设置支付成功后响应的接口地址");//例http://localhost:8080/Success
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", orderid);//设置你的订单号
bizContent.put("total_amount", 0.01);//设置金额
bizContent.put("subject",untitled);//设置标题名称
bizContent.put("scene", "bar_code");
request.setBizContent(bizContent.toString());
//发起请求获取响应信息
AlipayTradePrecreateResponse response = myPayClient.execute(request);
//获取支付链接
String url=response.getQrCode()

支付链接可以响应到前端生成支付二维码,扫码支付

示例如下

 3.关闭订单

MyPayClient myPayClient = new MyPayClient();
AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", orderid);//需要关闭的订单的订单号
request.setBizContent(bizContent.toString());
AlipayTradeCloseResponse response = myPayClient.execute(request);

4.查询订单状态

MyPayClient myPayClient = new MyPayClient();
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.setBizContent(querycan(orderid));
AlipayTradeQueryResponse response = myPayClient.execute(request);
String status=response.getTradeStatus()//获取订单的状态

5.退款

MyPayClient myPayClient = new MyPayClient();
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no",orderid);//需要退款的订单的订单号
bizContent.put("refund_amount", 0.01);//退款金额
bizContent.put("out_request_no", "HZ01RF001");
request.setBizContent(bizContent.toString());
AlipayTradeRefundResponse response = myPayClient.execute(request);

这篇关于springboot整合支付宝当面付以及退款,查询订单状态,关闭订单(详细步骤)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/DXWAN/article/details/125758196
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/309076

相关文章

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

Java如何将文件内容转换为MD5哈希值

《Java如何将文件内容转换为MD5哈希值》:本文主要介绍Java如何将文件内容转换为MD5哈希值的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java文件内容转换为MD5哈希值一个完整的Java示例代码代码解释注意事项总结Java文件内容转换为MD5

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

解决Java异常报错:java.nio.channels.UnresolvedAddressException问题

《解决Java异常报错:java.nio.channels.UnresolvedAddressException问题》:本文主要介绍解决Java异常报错:java.nio.channels.Unr... 目录异常含义可能出现的场景1. 错误的 IP 地址格式2. DNS 解析失败3. 未初始化的地址对象解决

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

如何合理使用Spring的事务方式

《如何合理使用Spring的事务方式》:本文主要介绍如何合理使用Spring的事务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、底层构造1.1.事务管理器1.2.事务定义信息1.3.事务状态1.4.联系1.2、特点1.3、原理2. Sprin

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储