支付宝沙箱支付(最新)

开发工具:IDEA 2021.1.3
框架: springboot

实现功能:简单的web网页跳转支付。

首先理解什么什么是支付宝支付,沙箱又是什么东西
沙箱可以简单理解为支付宝提供给开发者的一些随意使用的学习工具,真正要想运用还需要相应的从营业执照(没有自己的店铺不能申请)之类的。
最后实现的效果就是,需要下载一个沙箱钱包(目前只开发android版本的,哭了)并用分配好的账户登录上去。且只能实现一对一的支付~~

支付宝沙箱demo 支付宝沙箱支付是什么_spring

万事开头难,让我们我们一步一步来~~

**1.**来到支付宝首页,点击 你是开发者 后登录
(注册一个开发者账号,需要身份证,手机号)

支付宝沙箱demo 支付宝沙箱支付是什么_支付宝沙箱demo_02


**2.**登录开发者账号后,找到分配的appid

支付宝沙箱demo 支付宝沙箱支付是什么_java_03

进入开发者页面选择 文档----->网页&移动应用

支付宝沙箱demo 支付宝沙箱支付是什么_spring_04

3.出于安全性的考虑,我们需要生成一份公钥和私钥,公钥提供给支付宝,支付宝对数据进行加密;私钥用于解析支付宝传来的加密数据,由我们自行保管。支付宝提供了公钥和私钥的生成工具

支付宝沙箱demo 支付宝沙箱支付是什么_spring_05

这里的ID需要保存,要用!
点击这个地方设置公钥

(注意不是公钥证书!!!)

我选择的是网页生成,非常方便,推荐。(这里的公钥私要,需要保存,待会要用)

支付宝沙箱demo 支付宝沙箱支付是什么_spring_06

**4.**这里会提供一个配置信息

支付宝沙箱demo 支付宝沙箱支付是什么_xml_07


然后下载沙箱版的支付宝(下载即送10w虚拟货币~)

在Idea中创建spring boot项目

我的项目结构:

支付宝沙箱demo 支付宝沙箱支付是什么_支付宝_08


pom.xml 依赖文件:常出错!!!

<?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.1.12.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yc</groupId>
    <artifactId>AliPay03</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>AliPay03</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-easysdk</artifactId>
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket</artifactId>
            <version>1.3.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>RELEASE</version>
            <scope>test</scope>
        </dependency>


    </dependencies>

运行会发现有这样一个错误,

支付宝沙箱demo 支付宝沙箱支付是什么_java_09

在AliPay03Application这里加上:

(exclude= {DataSourceAutoConfiguration.class})

即可

支付宝沙箱demo 支付宝沙箱支付是什么_支付宝沙箱demo_10

访问localhost:8080/pay/config

大概率出现:支付存在钓鱼风险!防钓鱼网站的方法

留个坑把,以后解决!

支付宝沙箱demo 支付宝沙箱支付是什么_支付宝_11

亲自实现了功能,若有问题可留言哦~