阿里云沙箱支付 复制即用

密钥生产

密钥

配置密钥

配置

pom 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>alipay</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>alipay</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <fastjson_version>1.2.28</fastjson_version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
        <groupId>com.alipay</groupId>
        <artifactId>alipay-sdk-java</artifactId>
        <version>4.5.0.ALL</version>
    </dependency>

        <dependency>
            <groupId>com.alipay</groupId>
            <artifactId>alipay-trade-sdk</artifactId>
            <version>20161215</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>3.7.110.ALL</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson_version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.json/json -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20180813</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.10</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

index页面

<!DOCTYPE html>
<html lang="en">
<head>
       <meta charset="UTF-8">
       <title>Title</title>
</head>
<body>
<H1>支付宝demo测试</H1>
<hr>
<form action="order/alipay" method="post">
       订单 :<br>
       <input type="text" name="out_trade_no"><br>
       名称 :<br>
       <input type="text" name="subject"><br>
       金额 :<br>
       <input type="text" name="total_amount"><br>
       描述 :<br>
       <input type="text" name="body"><br>
       <input type="submit" value="支付宝支付">
</form>
</body>
</html>

请求订单 支付宝网关

package com.example.alipay.config;

import com.alibaba.fastjson.JSON;
import com.alipay.api.*;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.example.alipay.bean.AlipayBean;
import com.example.alipay.bean.Alipayconfig;
import com.example.alipay.config.PropertiesConfig;

/* 支付宝 */
public class AlipayUtil {
    public static String connect(AlipayBean alipayBean) throws AlipayApiException {
        Alipayconfig alipayconfig=new Alipayconfig();
        //1、获得初始化的AlipayClient
        AlipayClient alipayClient = new DefaultAlipayClient(
                "https://openapi.alipaydev.com/gateway.do"
                /*PropertiesConfig.getKey("gatewayUrl")*/,//支付宝网关
               "2016101500691213" /* PropertiesConfig.getKey("app_id")*/,//appid
               "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCDP/WmHgxX+OPps4MY7FOpxs3SDCd94lcM2auu1yUHMYdCPu5MTr84+leYc6q8JZuz6ZKuJYwOhatkPqmv0nBfBHF+kzifKeAI/36peQ67j+3VTxpO9YBnbD09ERkN3TjYs01BqD6p877WNOC7gXGRVQCfaE3An/zv9PFjCXcQmrS8itsL3ALATjBaJUhan0TIfil1NakUGAKNBIuBKx2+kJeSNINN/lybxZCRR0rXPVFBFDO7YaBq7OTWM05PNxOfXjUYdhqbfhNk6L0FnNU0wDRF56pLOZErReCJrfM6UI6pSYG/7GE6NxepbMyVljgi17cNbQCHZa1Qx9I9rq2LAgMBAAECggEAdolsXVQkB8vEY0v6Kac+xEXFm1/YxuuFfRiV4rlyOrXzl9PoOkigkWAffpNwbq50mh9olxlYDcGRkl65uA6R6G7F5fAmojEaomXFyl+H+8O4o/7mHsvA5Scvg5iOjSPv9F6zdonx1mJKR4HIOfBlVkFz54Q3PLIBqeIJpE1nGDmjxVHuYX6lX7MjmKTJnTe+s8brTVqzqbSIpIju0B5ml1MQuzgRnt/v+aOiaHszE1C+wzJL6Ofu0tq/bqIuZyoXsj1owROrRdmyf/zedZtJLliKH3aMik7v+W//YN3VA/VNtc2QRs/q34eOvY/SZr/Qldl60fSEvP6wBxAtRtaweQKBgQDMsRQlEagC3lKEnVu0edlwhTQpcVv/WT/0puVbE5kcIySjyVAi7JEd5sJwnBFvLYkHb7duPE7sTskYxEd6jFxBMfzpKquMes2j5n5cmlL3egCD8ucahwD94YPho/MMh9eKw1GmOaQfx4YpyxmYXFtxfSWtuDnfvwlpJbkgphOMPwKBgQCkJisYjuNPfm8IoRDl3F0pUYz3NlQsFCyfPGNqo8JJ97rk73J4eeIHQ909p1esf945dd9pWCXIabnQHvniOiplcyzfKscs/eF1ltrww4xXBmRkVgbhbgpvBBa4rxBabO6S2huFrYKkVNveLScBc+YmKRaWpVWPzVmKljCfdPY7tQKBgCRhVLNB8BqSaRgo36O0BHF7O0oiW7eGpVdWUm1djljx5hE2Nof+g8xMt0JMeszHyxMHSBLPpTdayWMdf5bIW506xTir3NGbAfGfhdXvl89kX7MT+P89/28gJdB00z3m5uhCzsA8fm8nhzDmaCYsRBRnqcq2c5LQ4VtO2Rh0bAUBAoGBAJoPbKE28mbYjlN1/8sMwK8X6ArZhbR9Fsg4wEIFAkOz60gU58Xk9tvEuO+1kJbIyAP7+jv/zC5F9Gw9tl+6IbJnn7SwjJFQkntvo3sWvS+sQyrchsarJcW9+6lIPTvxQxS2+d/D0npzXowuqo41fctRAu9Oq3g0zhZBEc+G0deFAoGAbEuyAeyCaTBClK+ksxsAbLsqJqUd41mznkYOXIrIGoKpQTCyZkDsk0tdtY+BDn92bzCxSSvPCO2Kw+5Z6y6CgBpNwemL25GpF0J7akKZmdZsqXTZGfrUZ3BdBz7YfuitWFaXe+2gWYOYt1dfklcI0QzWbKw0VM43Ae4xiBfoUuI="/* PropertiesConfig.getKey("merchant_private_key")*/,//商户私钥
                "json",
                "utf-8" /*PropertiesConfig.getKey("charset")*/,//字符编码格式
               "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB" /*PropertiesConfig.getKey("alipay_public_key")*/,//支付宝公钥
               "RSA2" /*PropertiesConfig.getKey("sign_type")*///签名方式
        );
//2、设置请求参数
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
//页面跳转同步通知页面路径
        alipayRequest.setReturnUrl(PropertiesConfig.getKey("return_url"));
// 服务器异步通知页面路径
        alipayRequest.setNotifyUrl(PropertiesConfig.getKey("notify_url"));
//封装参数
        alipayRequest.setBizContent(JSON.toJSONString(alipayBean));
//3、请求支付宝进行付款,并获取支付结果
        String result = alipayClient.pageExecute(alipayRequest).getBody();
//返回付款信息
        return result;
    }
}

service层

package com.example.alipay.service;

import com.alipay.api.AlipayApiException;
import com.example.alipay.bean.AlipayBean;
import org.springframework.stereotype.Service;

/*支付服务*/
public interface PayService {
/*支付宝*/
String aliPay(AlipayBean alipayBean) throws AlipayApiException;
}

serviceimpl层

package com.example.alipay.serviceimpl;


import com.alipay.api.AlipayApiException;
import com.example.alipay.bean.AlipayBean;
import com.example.alipay.service.PayService;
import com.example.alipay.config.AlipayUtil;
import org.springframework.stereotype.Service;

/* 支付服务 */
@Service(value = "payService")
public class PayServiceImpl implements PayService {
@Override
public String aliPay(AlipayBean alipayBean) throws AlipayApiException {
return AlipayUtil.connect(alipayBean);
 }
}

控制层

package com.example.alipay.controller;

import com.alipay.api.AlipayApiException;
import com.example.alipay.bean.AlipayBean;
import com.example.alipay.service.PayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/* 订单接口 */
@RestController()
@RequestMapping("order")
public class OrderController {
@Autowired
private PayService payService;//调用支付服务​
/*阿里支付*/
@PostMapping(value = "alipay")
public String alipay(String out_trade_no,String subject,String total_amount,String body) throws AlipayApiException {
 AlipayBean alipayBean = new AlipayBean();
 alipayBean.setBody(body);
 alipayBean.setOut_trade_no(out_trade_no);
 alipayBean.setTotal_amount(new StringBuffer().append(total_amount));
 alipayBean.setSubject(subject);
return payService.aliPay(alipayBean);
 }
}

注意不要写错商户id 密钥 支付宝公钥

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值