接入支付宝支付需要在支付宝开发平台创建应用获取appid,创建后需要审核,所以我们用支付宝提提供的沙箱环境开发测试。
首先登录支付宝开放平台,在开发者中心选择研发服务->沙箱环境->沙箱应用
我们只看必看部分,支付宝给我们提供了测试的appid和网关,密钥需要自己生成。点击设置,可以查看文档,下载支付宝提供的密钥生成工具生成密钥
设置好之后就可以编写代码了
首先创建个支付工具类
public final class AlipayUtil {
private static final Logger logger = LoggerFactory.getLogger(AlipayUtil.class);
//初始化AlipayClient,支付宝的所有接口都是通过它来调用
public static AlipayClient clientInit(){
AlipayClient alipayClient = new DefaultAlipayClient(
"https://openapi.alipaydev.com/gateway.do",
"2016101400687185",
"你的私钥",
"json",
"UTF-8",
"设置的支付宝公钥",
"RSA2");
return alipayClient;
}
/**
*交易预下单接口 方法一
* @return String
*/
public static AlipayTradePrecreateResponse alipay(String orderNo, String productName, BigDecimal productPrice, String payUrl, String notifyUrl){
AlipayClient alipayClient = clientInit();
AlipayTradePrecreateModel model = new AlipayTradePrecreateModel();
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();//创建API对应的request类
model.setOutTradeNo(orderNo);//订单号
model.setTotalAmount(productPrice);//订单金额
model.setSubject(productName);//订单标题
model.setTimeoutExpress("120m");//交易超时时间