最近看到很多人想用java写支付宝的收款功能用来做网站支付,
个人感觉网站支付的话支付宝的当面付功能算是有简单又实用的
当面付功能只需要实现他的两个接口就可以完成网站的支付和结果校验
1.支付宝的预创建订单----改接口实现后可以做到返回二维码的连接通过返回来的连接去生成二维码即可
我这里用springboot项目来演示
首先创建springboot项目完成项目结构的搭建
接下来第一步:引入支付宝提供的SDK
引入SDK后即可进行编码
首先创建一个当面付德工具类----将交易与创建功能和订单支付结果查询功能写在里面
引入maven
<!--支付宝当面付SDK -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.34.52.ALL</version>
</dependency>
交易预创建和订单支付状态查询
public class PayCreatutil {
//订单预创建方法 返回值类型为Map 或者List都可 接收参数为订单实体类
public Map<String,String> AlipayTradePrecreate(goods goods) throws AlipayApiException {
String privateKey = "这里写你的支付宝应用私钥";
String alipayPublicKey = "这里是你的支付宝公钥";
AlipayConfig alipayConfig = new AlipayConfig();
//此处括号里参数为网关地址---使用的是沙箱测试环境的网关
alipayConfig.setServerUrl("https://openapi.alipaydev.com/gateway.do");
alipayConfig.setAppId("此处参数为支付宝的APPID可在支付宝开发者中心查找");
alipayConfig.setPrivateKey(privateKey);
alipayConfig.setFormat("json");
alipayConfig.setAlipayPublicKey(alipayPublicKey);
alipayConfig.setCharset("UTF8");
//设置加密方式要与你支付宝生成秘钥时的方式一样RSA2或者RSA
alipayConfig.setSignType("RSA2");
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
AlipayTradePrecreateModel model = new AlipayTradePrecreateModel();
log.info("外部订单号是{}",goods.getOutTradeNo());
model.setOutTradeNo(goods.getOutTradeNo());
model.setTotalAmount(goods.getTotalAmount())