一、登录支付宝沙箱

开放平台-沙箱环境 (alipay.com)

(1)获取appid 没有账号的先注册

(2)设置RSA2密钥
1、依然是沙箱环境,如下,点击 设置

2、选择 公钥,此处的公钥支付宝提供了专门的生产工具,很方便

3.选择在线生成即可

3.注意公钥,私钥

4.将生成的应用公钥拷贝到沙箱环境公钥位置

点击保存,会生成支付宝公钥,后续开发会说明用在哪里。

二、项目配置

目录结构

导入pom

<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.13.50.ALL</version>
</dependency><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-easysdk</artifactId><version>2.1.2</version>
</dependency>

三、开发

AliPayBean类
@Data
public class AliPayBean {/*** 商户订单号*/private String out_trade_no;/*** 订单名称*/private String subject;/*** 付款金额*/private String total_amount;/*** 商品描述*/
//    private String body;/*** 超时时间参数*/private String timeout_express = "60m";/*** 产品编号*/private String product_code = "FAST_INSTANT_TRADE_PAY";
}
Alipay 类:注意上面的appid,商户私钥,支付宝公钥,网关填写自己的
package com.aaa.ssm.config;import com.aaa.ssm.bean.AliPayBean;
import com.alibaba.fastjson.JSON;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;@Data
@Configuration
public class Alipay {/**日志对象*/private static final Logger logger = LoggerFactory.getLogger(Alipay.class);private final String format = "json";/*** appId*/@Value("填写自己的appid")private String appId;/*** 商户私钥*/@Value("填写自己的商户私钥")private String privateKey;/*** 支付宝公钥*/@Value("填写自己的支付宝公钥")private String publicKey;/*** 服务器异步通知页面路径,需要公网能访问到*/@Value("http://localhost:8080/ssm/error_url.html")private String notifyUrl;/*** 服务器同步通知页面路径,填写自己的成功页面路径*/@Value("填写自己的成功页面路径")private String returnUrl;/*** 签名方式*/@Value("RSA2")private String signType;/*** 字符编码格式*/@Value("utf-8")private String charset;/*** 支付宝网关*/@Value("填写自己的支付网关")private String gatewayUrl;public String pay(AliPayBean aliPayBean) throws AlipayApiException {AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, appId, privateKey, format, charset, publicKey, signType);AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();alipayRequest.setReturnUrl(returnUrl);alipayRequest.setNotifyUrl(notifyUrl);alipayRequest.setBizContent(JSON.toJSONString(aliPayBean));logger.info("封装请求支付宝付款参数为:{}", JSON.toJSONString(alipayRequest));String result = alipayClient.pageExecute(alipayRequest).getBody();logger.info("请求支付宝付款返回参数为:{}", result);return result;}
}
OrderController类:
@Controller
@RequestMapping("/ali")
public class OrderController {/**日志对象*/private static final Logger logger = LoggerFactory.getLogger(OrderController.class);@Autowiredprivate PayService payService;@RequestMapping("/pay")@ResponseBodypublic String alipay(String outTradeNo, String subject, String totalAmount) throws AlipayApiException {logger.info("商户订单号为{},订单名称为{},付款金额为{}", outTradeNo, subject, totalAmount);AliPayBean alipayBean = new AliPayBean();alipayBean.setOut_trade_no(outTradeNo);alipayBean.setSubject(subject);alipayBean.setTotal_amount(totalAmount);return payService.aliPay(alipayBean);}@RequestMapping("/success")@ResponseBodypublic String success(){return "交易成功!";}@RequestMapping(value = "/index")public String payCoin(){return "zfindex.html";}
}
 Pay 类
@Data
public class Pay {//订单号private String outTradeNo;//名称private String subject;//价格private String totalAmount;}
PayServiceImpl类
@Service
public class PayServiceImpl implements PayService {/**日志对象*/private static final Logger logger = LoggerFactory.getLogger(PayServiceImpl.class);@Autowiredprivate Alipay alipay;@Overridepublic String aliPay(AliPayBean aliPayBean) throws AlipayApiException {logger.info("调用支付服务接口...");return alipay.pay(aliPayBean);}
}
PayService 接口
public interface PayService {String aliPay(AliPayBean aliPayBean) throws AlipayApiException;
}

四、前端页面

index.html

<!--<!DOCTYPE html>-->
<!--<html lang="en">-->
<!--<head>-->
<!--    <meta charset="UTF-8">-->
<!--    <title>Title</title>-->
<!--</head>-->
<!--<body>-->
<!--<form action="/ssm/ali/pay" method="post">-->
<!--    订单号:<input type="text" name="outTradeNo" required><br/>-->
<!--    订单名称:<input type="text" name="subject" required><br/>-->
<!--    付款金额:<input type="text" name="totalAmount" required><br/>-->
<!--    商品描述:<input type="text" name="body"><br/>-->
<!--    <input type="submit" value="下单"> <input type="reset" value="重置">-->
<!--</form>-->
<!--</body>-->
<!--</html>--><!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"><!-- 引入组件库 --><script src="https://unpkg.com/element-ui/lib/index.js"></script></head>
<body><div id="app"><el-form :model="info" label-width="80px"><el-form-item label="订单号"><el-input v-model="info.outTradeNo"></el-input></el-form-item><el-form-item label="商品名称"><el-input v-model="info.subject"></el-input></el-form-item><el-form-item label="支付价格"><el-input v-model="info.totalAmount"></el-input></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">立即创建</el-button><el-button>取消</el-button></el-form-item></el-form></div><script type="text/javascript">var app = new Vue({el: "#app",data: {info: {outTradeNo:'',subject: '',totalAmount: ''}},methods: {onSubmit() {var outTradeNo=app.info.outTradeNovar subject=app.info.subjectvar totalAmount=app.info.totalAmountlocation.href="/ssm/ali/pay/?outTradeNo="+outTradeNo+"&subject="+subject+"&totalAmount="+totalAmount;}}})
</script></body>
</html>

error_url.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h2>支付失败</h2>
</body>
</html>

return_url.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h2>支付成功</h2>
</body>
</html>

运行结果:输入订单号,名称,价格   注意:不能为汉字

账号密码沙箱里面有

完结

支付宝沙箱支付 Java相关推荐

  1. 在线商城介绍-支付宝沙箱支付-JAVA【数据库设计、源码、开题报告】

    1 绪论 1.1 管理信息系统概述 管理信息系统是计算机在信息管理领域的一种实用技术.通过运用管理科学.数学和计算机应用的原理及方法,在符合软件工程规范的原则下,形成一套完整的理论和方法体系.是一个以 ...

  2. 基于SpringBoot vue的电脑商城平台源码和论文含支付宝沙箱支付

    演示视频: 基于SpringBoot vue的电脑商城平台源码和论文含支付宝沙箱支付演示视频 支付宝沙箱: package com.java.controller;import java.util.* ...

  3. 一文叫你学会用JavaWeb开发共享图书馆系统(附加支付宝沙箱支付接入)

    前提: 学习书籍: 黑马程序员的<Java Web程序设计任务教程>: 如果没有本文的资源均可以评论留言,我可以免费发给你们学习. 下载安装Eclipse 2021.MySQL 5.5.T ...

  4. SpringBoot+Vue整合支付宝沙箱支付

    SpringBoot+Vue2整合实现支付宝沙箱支付 原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!! 在进行电脑网站开发时我们 ...

  5. app支付宝支付java后台_支付宝app支付java后台流程demo

    支付宝app支付java后台流程demo 使用ssm框架实现支付宝支付功能. 支付宝测试环境代码测试 源代码 https://github.com/OUYANGSIHAI/sihai-maven-ss ...

  6. 支付宝app支付java后台流程demo

    支付宝app支付java后台流程demo 使用ssm框架实现支付宝支付功能. 支付宝测试环境代码测试 源代码 https://github.com/OUYANGSIHAI/sihai-maven-ss ...

  7. 基于SpringBoot vue的茶叶商城平台源码和论文含支付宝沙箱支付

    此项目是前后端分离的 后台项目:shop 前端项目:Vue-shop 后端项目启动步骤: 1.先把sql导入数据库 2.把后台项目导入编辑器 3.修改数据库配置 4.启动项目   前端项目启动步骤: ...

  8. springboot整合支付宝沙箱支付

    springboot整合支付宝沙箱支付 1.简介 支付宝开发平台地址:https://open.alipay.com/develop/sandbox/app 对于学生来说,目前网上确实没有比较统一而且 ...

  9. 阿里云支付宝沙箱支付

    阿里云支付宝沙箱支付 项目文件是maven项目 第一步pom.xml引入jar包 <!-- 沙箱支付依赖--><dependency><groupId>com.al ...

最新文章

  1. 深入理解JVM(二)--垃圾收集算法
  2. vue拖动添加模块展示_一个全新的Vue拖拽特性实现:“移动”部分
  3. Python之配置日志模块logging
  4. boost::hana::zip用法的测试程序
  5. 题目1023:EXCEL排序---------Case后面的是count,不是C
  6. 深度学习之卷积神经网络 GoogleNet
  7. python如何输出两列数据_Python-如何将一列分为两列?
  8. 关于数论【莫比乌斯反演】
  9. 卧槽:这款 SQL自动检查神器,吊炸天的功能,真TMD多!!
  10. xp系统打印服务器自动关闭,XP系统服务管理Print spooler自动关闭的解决办法
  11. 【python】教你使用seLeniun爬取淘宝商品数据(内含完整源码)
  12. 如何快速上手强化学习?
  13. java8 GC日志分析
  14. JAVA POI 读取2017Excel
  15. English--定语从句
  16. 《程序员的自我修养-链接-装载与库》第三章 目标文件里有什么(1)
  17. 三菱FX2N编程口通信协议
  18. Oracle的ltrim函数
  19. python面试中的8个必考问题_Python 面试中 8 个必考问题,值得收藏!
  20. CBI年度大选创新产品奖——Hitachi VSP 5000系列

热门文章

  1. 用Wcat隐藏你的程序窗口
  2. 青少年趣味编程之Mabot舞蹈派对机器人
  3. Ubuntu双系统踩坑记录一:删除Ubuntu双系统
  4. NTSTATUS 状态码
  5. sougou ubuntu 优麒麟_ubuntu16.04Kylin优麒麟版安装搜狗输入法后怎样切换英文?
  6. android推箱子需求分析,推箱子需求分析.doc
  7. 裴蜀定理(贝祖定理)
  8. sin查找表 matlab,FPGA查找表法sin函数的实现
  9. 网强网管软件—吃得运维苦,方为人上人
  10. windows电脑上显示中文完好,新安装的办公系统上输入中文显示错误、无法显示中文