本文主要是介绍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整合支付宝当面付以及退款,查询订单状态,关闭订单(详细步骤)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!