0
点赞
收藏
分享

微信扫一扫

支付宝沙箱(SpringBoot测试)

胡桑_b06e 2022-02-04 阅读 70

1.到支付宝开放平台登录注册一下

https://open.alipay.com/

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在这里

 测试账号在这里,测试支付用

 这里是我写的,改成你的测试账号就行,支付时方便复制

 

 

 

 

 

 

 

 

举报

相关推荐

0 条评论