SpringBoot项目(支付宝整合)——springboot整合支付宝沙箱支付 & 从极简实现到IOC改进_实现支付宝沙箱(1)

        <artifactId>alipay-sdk-java</artifactId>
        <version>4.34.0.ALL</version>
    </dependency>


server:
port: 9090

日志需要配置一下 @Slf4j

logging:
level:
com.tianju.alipay: debug


### 2.controller层代码



> 
> 订单ID,需要唯一;价格;物品名称(支付主题)
> 
> 
> http://localhost:9090/api/ali/pay?orderId=202307302321&price=12.56&subject=iPhone
> 
> 
> 用户名:flrnht7304@sandbox.com
> 
> 
> 密码:111111
> 
> 
> 


AliPayController.java文件



package com.tianju.alipay.controller;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradePagePayModel;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradePagePayRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
* 支付宝的支付接口
* 用户名:flrnht7304@sandbox.com
* 密码:111111
*/

// http://localhost:9090/api/ali/pay?orderId=202307302321&price=12.56&subject=iPhone
@RestController
@RequestMapping(“/api/ali”)
@Slf4j // tips:如果用debug记得在application.yml文件中配置一下日志级别
public class AliPayController {

String alipayPublicKey = "";

@GetMapping("/pay")
public void payOrder(String orderId, String price, String subject, HttpServletResponse httpResponse) throws AlipayApiException, IOException {
    // 1.准备需要的参数,私匙,支付公匙,appid,沙箱支付平台的url
    String privateKey = "";
    String alipayPublicKey = "";
    String appId = "9021000123613164";
    String serverUrl = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";

    // 2.把需要配置的参数set进AlipayConfig类中
    com.alipay.api.AlipayConfig alipayConfig = new com.alipay.api.AlipayConfig();
    alipayConfig.setServerUrl(serverUrl);
    alipayConfig.setAppId(appId);
    alipayConfig.setPrivateKey(privateKey);
    alipayConfig.setFormat("json");
    alipayConfig.setAlipayPublicKey(alipayPublicKey);
    alipayConfig.setCharset("UTF8");
    alipayConfig.setSignType("RSA2");

    // 3.创建支付宝的默认的客户端
    AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);

    // 4.准备支付的参数,包括需要支付的订单的id,价格,物品名称,
    AlipayTradePagePayModel model = new AlipayTradePagePayModel();

// model.setOutTradeNo(“2023073022083620”);
model.setOutTradeNo(orderId); // 需要支付的订单id,自定义的订单id,不能重复,唯一,已经支付的无法继续支付
model.setTotalAmount(price); // 需要支付的钱 model.setTotalAmount(“88.88”);
model.setSubject(subject); // 要支付的物品,比如 model.setSubject(“Iphone6 16G”);
model.setProductCode(“FAST_INSTANT_TRADE_PAY”);

    // 5.创建支付的请求,把上面的准备支付的参数进行set
    AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
    requ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值