为了方便,个人好测试,支付,我们使用沙箱来做,什么是沙箱支付?就是给程序员用来测试支付的,
支付不是很难,只是配置东西麻烦
如何进入配置沙箱支付?
1.直接百度支付宝
进入官网,选择我是开发者
进去登录,然后首页往下翻到开发服务,点击沙箱
点击沙箱环境
接下来设置沙箱密钥,设置密钥需要下个软件来
点击
下载第一个
下载打开需要支付宝登录
选好,点击生成密钥,就会有私钥,公钥,直接保存好
私钥:给java调用使用
公钥:就是沙箱密钥
复制公钥去配置沙箱密钥
点击设置就好了
然后我们就会看见设置好的密钥
java代码springboot 对接支付
支付依赖:
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.0</version>
</dependency>
直接上代码,你们直接复制就该一下参数就可以用
回调函数,必须是外网可以访问,可以使用内网穿透工具,我的博客里面有教程
@RequestMapping("/ailpay")
public String ailpay()
throws IOException {
//去沙箱里面找自己的
AlipayClient alipayClient = new
DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do",
"沙箱appId",
"私钥", //私钥 不知道是什么 往上面看 配置沙箱密钥的时候 自己保存的
"json","utf-8",
"支付宝公钥", "RSA2" );
//订单号 自定义
String out_trade_no = "20207281614321595924072512";
out_trade_no = URLDecoder.decode(out_trade_no,"UTF-8");
String total_amount = "付款金额";
total_amount = URLDecoder.decode(total_amount,"UTF-8");
String subject = "标题";
subject = URLDecoder.decode(subject,"UTF-8");
String body = "描述";
body = URLDecoder.decode(body,"UTF-8");
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();//创建API对应的request
//同步通知
alipayRequest.setReturnUrl("支付成功去页面【必须外网能访问】");
//异步通知
alipayRequest.setNotifyUrl("支付成功去接口处理东西【必须外网能访问】");
//配置参数
alipayRequest.setBizContent("{" +
" \"out_trade_no\":\""+ out_trade_no +"\"," +
" \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
" \"total_amount\":"+ total_amount +"," +
" \"subject\":\""+ subject +"\"," +
" \"body\":\""+ body +"\"" +
" }"+
" }");//填充业务参数
String form="";
try {
form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
} catch (AlipayApiException e) {
e.printStackTrace();
}
//form就是一个表单 html 直接给前端 替换 body标签里面的东西
return form;
}
页面如何写:
$.get("支付接口",function(data){
//替换body标签里面html就可以了
$("body").html(data)
})
一个简单的支付宝支付就写好了,如何在根据自己的业务来该,封装参数什么的,不懂评论,我会看的