想要做支付宝网站支付,首先必须要有企业级商户号,并且成功签约,得到PID和key

controller就简单的写一下,异步回调就不写了,页面在后面

    @RequestMapping(value = "/deposit", method = RequestMethod.POST,produces = "application/json")  public String deposit(HttpServletRequest request,HttpServletResponse response,Model model) throws Exception { Date date = new Date();  // 支付类型  // 必填,不能修改  String payment_type = "1";  //订单编号,必填String out_trade_no = new String(request.getParameter("WIDout_trade_no").getBytes("ISO-8859-1"),"UTF-8"); //订单名称,必填String subject = new String(request.getParameter("WIDsubject").getBytes("ISO-8859-1"),"UTF-8");//付款金额,必填String total_fee = new String(request.getParameter("WIDtotal_fee").getBytes("ISO-8859-1"),"UTF-8");//收银台页面上,商品展示的超链接,必填String show_url = new String(request.getParameter("WIDshow_url").getBytes("ISO-8859-1"),"UTF-8");//商品描述,可空String body = new String(request.getParameter("WIDbody").getBytes("ISO-8859-1"),"UTF-8");Map<String, String> sParaTemp = new HashMap<String, String>();sParaTemp.put("service", AlipayConfig.service);sParaTemp.put("partner", AlipayConfig.partner);sParaTemp.put("seller_id", AlipayConfig.seller_id);sParaTemp.put("_input_charset", AlipayConfig.input_charset);sParaTemp.put("payment_type", AlipayConfig.payment_type);sParaTemp.put("notify_url", AlipayConfig.notify_url);sParaTemp.put("return_url", AlipayConfig.return_url);sParaTemp.put("out_trade_no", AlipayConfig.out_trade_no);sParaTemp.put("subject", subject);sParaTemp.put("total_fee", total_fee);sParaTemp.put("show_url", show_url);//sParaTemp.put("app_pay","Y");//启用此参数可唤起钱包APP支付。sParaTemp.put("body", body);//建立请求try {String sHtmlText = AlipaySubmit.buildRequest(sParaTemp,"get","确认");Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();String s = gson.toJson(sHtmlText);model.addAttribute("sHtmlText", s);request.setAttribute("sHtmlText", s);result = "{\"success\":true,\"msg\":\"跳转成功\"}";writeToWeb(sHtmlText, "html", response);return null;} catch (Exception e) {result = "{\"success\":false,\"msg\":\"跳转失败,请稍候再试!\"}";writeToWeb(result, "html", response);return null;}}/*** 同步通知的页面的Controller* @param request* @param response* @return* @author */@RequestMapping(value="/return_url")public String Return_url(HttpServletRequest request,HttpServletResponse response) throws Exception {     return "/success.jsp";}public static void writeToWeb(String message, String type, HttpServletResponse response) throws IOException{response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setContentType("text/" + type +"; charset=utf-8");response.getWriter().write(message);response.getWriter().close();}

AlipayConfig.java ,MD5.java,AlipaySubmit.java等class文件可在蚂蚁金服demo里直接导下文件,至于AlipayConfig.java 需要PID和key配置

蚂蚁金服下载手机网站支付demo:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.RzxgFl&treeId=60&articleId=103564&docType=1

这个demo是可以直接运行的,配置好pid和key的值是可以直接跑通的。

测试页面index.jsp

<!DOCTYPE html>
<html>
<head>
<title>支付宝手机网站支付接口</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>*{margin:0;padding:0;}ul,ol{list-style:none;}body{font-family: "Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;}.hidden{display:none;}.new-btn-login-sp{padding: 1px;display: inline-block;width: 75%;}.new-btn-login {background-color: #02aaf1;color: #FFFFFF;font-weight: bold;border: none;width: 100%;height: 30px;border-radius: 5px;font-size: 16px;}#main{width:100%;margin:0 auto;font-size:14px;}.red-star{color:#f00;width:10px;display:inline-block;}.null-star{color:#fff;}.content{margin-top:5px;}.content dt{width:100px;display:inline-block;float: left;margin-left: 20px;color: #666;font-size: 13px;margin-top: 8px;}.content dd{margin-left:120px;margin-bottom:5px;}.content dd input {width: 85%;height: 28px;border: 0;-webkit-border-radius: 0;-webkit-appearance: none;}#foot{margin-top:10px;position: absolute;bottom: 15px;width: 100%;}.foot-ul{width: 100%;}.foot-ul li {width: 100%;text-align:center;color: #666;}.note-help {color: #999999;font-size: 12px;line-height: 130%;margin-top: 5px;width: 100%;display: block;}#btn-dd{margin: 20px;text-align: center;}.foot-ul{width: 100%;}.one_line{display: block;height: 1px;border: 0;border-top: 1px solid #eeeeee;width: 100%;margin-left: 20px;}.am-header {display: -webkit-box;display: -ms-flexbox;display: box;width: 100%;position: relative;padding: 7px 0;-webkit-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;background: #1D222D;height: 50px;text-align: center;-webkit-box-pack: center;-ms-flex-pack: center;box-pack: center;-webkit-box-align: center;-ms-flex-align: center;box-align: center;}.am-header h1 {-webkit-box-flex: 1;-ms-flex: 1;box-flex: 1;line-height: 18px;text-align: center;font-size: 18px;font-weight: 300;color: #fff;}
</style>
</head>
<body text=#000000 bgColor="#ffffff" leftMargin=0 topMargin=4>
<header class="am-header"><h1>支付宝手机网站支付接口快速通道</h1>
</header><div id="main"><form name=alipayment action="/deposit" method=post target="_blank"><div id="body" style="clear:left"><dl class="content">
<dt>商户订单号
:</dt>
<dd>
<input name="WIDout_trade_no" id="WIDout_trade_no" />
</dd><hr class="one_line">
<dt>订单名称
:</dt>
<dd>
<input name="WIDsubject" id="WIDsubject" />
</dd><hr class="one_line">
<dt>付款金额
:</dt>
<dd>
<input name="WIDtotal_fee" id="WIDtotal_fee" />
</dd><hr class="one_line">
<dt>商品展示网址
:</dt>
<dd>
<input name="WIDshow_url" id="WIDshow_url" />
</dd><hr class="one_line">
<dt>商品描述:</dt>
<dd>
<input name="WIDbody" id="WIDbody" />
</dd><hr class="one_line"><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" type="submit" style="text-align:center;">确 认</button></span><span class="note-help">如果您点击“确认”按钮,即表示您同意该次的执行操作。</span></dd></dl></div>
</form><div id="foot">
<ul class="foot-ul">
<li>
支付宝版权所有 2015-2018 ALIPAY.COM
</li>
</ul>
</div>
</div>
</body>
<script language="javascript">
function GetDateNow() {
var vNow = new Date();
var sNow = "";
sNow += String(vNow.getFullYear());
sNow += String(vNow.getMonth() + 1);
sNow += String(vNow.getDate());
sNow += String(vNow.getHours());
sNow += String(vNow.getMinutes());
sNow += String(vNow.getSeconds());
sNow += String(vNow.getMilliseconds());
document.getElementById("WIDout_trade_no").value =  sNow;
document.getElementById("WIDsubject").value = "测试";
document.getElementById("WIDtotal_fee").value = "0.01";
}
GetDateNow();
</script>
</html>

只要是pid和key是存在并且无误的,这个就可以运行,我本人也是刚刚测试完。

java支付宝网站支付相关推荐

  1. 沙箱环境下实现支付宝网站支付

    沙箱环境下实现支付宝网站支付 前言 前期准备 1.沙箱环境配置 2.创建SpringBoot项目,导入相关依赖 3.创建沙箱环境配置文件 4.商品列表页面编写 5. 编写checked.html 7. ...

  2. Springboot整支付宝网站支付、APP支付、单笔转账给用户、退款功能

    一.概述 最近在写项目,遇到了要调用支付宝支付的地方(后台管理页面的网站支付,APP内的用户支付,APP内用户提现也就是单笔转账给用户.退款).研究了好久,全部调通了,下面把我的代码分享出来. 首先那 ...

  3. java支付宝wap支付_SpringBoot 支付宝H5Wap沙盒环境手机网站支付

    在这里介绍的是使用SpringBoot 来完成对H5Wap移动端网页沙盒环境的手机网站支付 * {+ I) s9 |- c* E先贴上支付宝沙盒环境应用网站 ( p0 b8 ^1 \0 A8 i% N ...

  4. JAVA-Servlet项目接入支付宝网站支付

    支付宝电脑支付流程,Servlet版 原文地址:https://www.cnblogs.com/it-taosir/p/9728374.html 感谢原博主,大佬无视即可,工作一年多第一次写博客,不足 ...

  5. 支付宝 网站 支付(AliPay)开发

    一. 支付宝 电脑网站支付开发 访问支付宝开放平台:支付宝开放平台 登录开放平台. 下载java版 官方 Demo,下载地址:电脑网站支付 Demo 通过 idea 导入Alipay Demo. 配置 ...

  6. java 支付宝wap支付初识

    最近突然想弄下支付宝的支付,因为感觉很好玩.中间遇到很多问题,查查找找,总算是整了两天给整出来了,这里为自己记录下. 第一步:直接去安卓支付宝的官方文档去,写的很清楚了已经,这里有源码https:// ...

  7. 对接支付宝网站支付接口

    今天因为业务需要线上支付充值,所以需要对接支付宝的网站支付接口.首先去支付宝开发者中心看了一遍demo:网址如下:https://docs.open.alipay.com/270/106291/ 大致 ...

  8. 支付宝网站支付在微信浏览器中跳转问题(亲测,附源码)

    文章目录 前言 具体步骤 配置沙箱回调地址,修改代码支付宝网关 准备加密js以及跳转html 源码下载地址 前言 奉上整理好的测试url: 点我调用支付宝 之前的博客中提到了使用支付宝提供的sdk实现 ...

  9. Idea运行支付宝网站支付demo踩坑解决及其测试注意事项

    一.前言 在一些商城网上中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试.减少我们的申请的麻烦,公钥和秘钥也比之前方 ...

最新文章

  1. 2022-2028年中国蛋白石行业发展现状分析及投资前景趋势报告
  2. Android Jetpack组件之 LiveData使用-源码
  3. python 列表中的数字转字符串_python 将列表中的字符串转为数字
  4. 自建Kubernetes集群如何使用弹性容器实例ECI
  5. 两个sql交集_如何使用性能分析工具定位SQL执行慢的原因?
  6. csdn上修改字体的颜色
  7. React中的组件通信——父传子、子传父、Context
  8. linux init 参数,Objective-C中实现覆写init函数以及在初始化时添加参数
  9. 统计系统中所有进程占用内存的方法
  10. idea 使用中文汉化包教程
  11. 世界域名后缀大全,所有国家域名后缀都有
  12. 极速办公(excel)身份证中的出生日期如何提取
  13. TCP协议全面实验分析详解
  14. android高德地图截屏,高德地图-地图截屏
  15. 【Spring boot 项目实践】基于Spring boot 的外卖系统
  16. Jzoj3176 蜘蛛侠
  17. 第一章 日常生活中的正念
  18. java计算二叉树的节点最小值_求二叉树根节点到叶子节点路径和的最小值:遍历(递归+非递归)...
  19. HTML5页面,用JS 禁止弹出手机键盘
  20. Node.js b站教学视频汇总笔记(完)CommonJS模块规范、 require、npm、Express(中间件)、MongoDB、MySQL

热门文章

  1. oracle查询部门名称,oracle查询习题(一)
  2. package ‘gdm‘ has no installation candidate
  3. python导出百万数据到excel_使用python将大量数据导出到Excel中的小技巧分享
  4. 批量获取指定数据库的表信息和字段信息
  5. 微信读书总是跳出连接服务器有问题,微信读书经常无响应怎么回事
  6. 让你的应用完美适配平板
  7. Day04| 第四期-谷歌应用商店的App分析
  8. TCP BBR Startup gain计算总结和Startup失速问题
  9. 使用GOOGLE API做了个简繁英互译小工具
  10. 凯文·凯利:流动、共享、颠覆,未来20年的 12大技术趋势