1.到支付宝开放平台登录注册一下
2.进入管理中心并进入沙箱
3.appid到时候用到,接口加密方式选择自定义,然后点设置(我这里已经设置了所以没有显示有设置两个字)
4.选择公钥,然后点支付宝密钥生成器
5.选择在线加密
6.点击生成后,复制下面的应用公钥(页面不要关,上面的应用私钥还有用)
7.把刚刚复制的应用公钥粘贴进去,然后点保存设置
8.保存设置后跳转这个界面,下面这个支付宝公钥有用,复制一下,接下来我们创建一个demo测试一下
9.我自己用的test,下载打开换一下id、公钥、私钥测试一下吧
测试时建议换一个浏览器,或者把支付宝相关页面关闭,不然测试时会显示钓鱼网站,无法进入支付测试
链接:https://pan.baidu.com/s/1xbCHinHcCh3FbGEq3hvx1g
提取码:3hkv
注:自己测试时需要添加jar包
<!--支付宝依赖-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.22.22.ALL</version>
</dependency>
初始化相关设置
@GetMapping("start")
public String payOrder(HttpServletRequest request) throws UnsupportedEncodingException {
request.setCharacterEncoding("UTF-8");
// 初始化 主要是application中支付宝的相关设置
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig.getGateway(), alipayConfig.getAppId(),
alipayConfig.getRsaPrivateKey(), alipayConfig.getFormat(), alipayConfig.getCharset(), alipayConfig.getAlipayPublicKey(),
alipayConfig.getSigntype());
// 创建API对应的request
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
// 在公共参数中设置回跳和通知地址,通知地址需要公网可访问
String url = "http://localhost:8080" + request.getContextPath();
alipayRequest.setReturnUrl(url + "/return");
alipayRequest.setNotifyUrl(url + "/notify?type=1");
// 填充业务参数
// 选填
// 商品描述,可空
String body = "商品描述";
// 必填
// 商户订单号,需保证在商户端不重复(这里用的hutool)
String out_trade_no = UUID.fastUUID().toString();
// 销售产品码,与支付宝签约的产品码名称。目前仅支持FAST_INSTANT_TRADE_PAY
String product_code = "FAST_INSTANT_TRADE_PAY";
// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。
String total_amount = 0.1 + "";
// 订单标题
String subject = "支付宝测试";
alipayRequest.setBizContent("{" + "\"out_trade_no\":\"" + out_trade_no + "\"," + "\"product_code\":\""
+ product_code + "\"," + "\"total_amount\":\"" + total_amount + "\"," + "\"subject\":\"" + subject
+ "\"," + "\"body\":\"" + body + "\"}");
// 请求
String form;
try {
// 需要自行申请支付宝的沙箱账号、申请appID,并在配置文件中依次配置AppID、密钥、公钥,否则这里会报错。
form = alipayClient.pageExecute(alipayRequest).getBody();//调用SDK生成表单
request.setAttribute("form", form);
} catch (AlipayApiException e) {
e.printStackTrace();
}
return "alipay";
}
下载后只需要修改application.yml文件的三个参数就可以
app-id在这里
rsa-private-key在这里
alipay-public_key在这里
测试账号在这里,测试支付用
这里是我写的,改成你的测试账号就行,支付时方便复制
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107537.html