前言

一直想弄一个有关于支付的第三方接口调用的web项目,网上看了一大堆资料,最后还是选择了使用支付宝。原因有一下两点:

  1. 不用另外注册账户(一直讨厌注册各种账户)
  2. 支付宝有沙箱功能,可以实现虚拟支付,适合拿来练手

下面就进入正题吧

进入沙箱

支付宝扫码登录蚂蚁金服开放平台之后,在首页的常用功能那里进入沙箱应用,如果是第一次使用,就需要添加功能。参考下图

生成RSA密钥

进入沙箱应用之后可以看到信息配置部分需要设置RSA2(SHA256)密钥,由于我已经设置过了,这里就没有相应的截图。

生成RSA密钥的工具官方也提供了,直接查看生成RSA密钥进入下载工具,并按照步骤就可以生成密钥了。

上传密钥

通过上一步生成的密钥,直接在沙箱应用中上传,如果验证通过的话,就可以开始接入代码了。

下载demo

在官网中下载demo:https://docs.open.alipay.com/270/106291/ , 将demo解压。然后下载沙箱版的支付宝(只支持安卓版),然后回到沙箱环境中,查看沙箱账号,用买家信息登录。

合并入自己的项目

下面就以一个简单的例子开始,具体步骤如下:

  1. 将解压文件中的jar包放入项目lib中,把 jsp文件 或者自己写的页面复制入项目,
  2. 修改AlipayConfig文件的部分配置
  3. 编写简单的servlet
  4. 运行查看支付

详细的目录结构如下:

AlipayConfig:

public class AlipayConfig {//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号public static String app_id = "填入沙箱APPID";// 商户私钥,您的PKCS8格式RSA2私钥public static String merchant_private_key = "填入你的密钥";// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。public static String alipay_public_key = "填入公钥";// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问public static String notify_url = "http://localhost:8080/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问public static String return_url = "http://localhost:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";// 签名方式public static String sign_type = "RSA2";// 字符编码格式public static String charset = "utf-8";// 支付宝网关public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";// 支付宝网关public static String log_path = "C:\\";

servlet代码:

这里写了一个简单的doGet方法,当请求这个servlet的时候就会执行支付,然后使用沙箱版的支付宝直接扫码或者网页登录沙箱应用账号就可以支付了

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获得初始化的AlipayClientAlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);//设置请求参数AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();alipayRequest.setReturnUrl(AlipayConfig.return_url);alipayRequest.setNotifyUrl(AlipayConfig.notify_url);//商户订单号,商户网站订单系统中唯一订单号,必填String out_trade_no = "20181037";//付款金额,必填String total_amount = "9999";//订单名称,必填String subject = "支付宝测试";//商品描述,可空String body = "商品描述";alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\"," + "\"total_amount\":\""+ total_amount +"\"," + "\"subject\":\""+ subject +"\"," + "\"body\":\""+ body +"\"," + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");//请求String result;try {result = alipayClient.pageExecute(alipayRequest).getBody();response.setContentType("text/html;charset=" + AlipayConfig.charset);response.getWriter().write(result);//直接将完整的表单html输出到页面response.getWriter().flush();response.getWriter().close();} catch (AlipayApiException e) {e.printStackTrace();response.getWriter().write("捕获异常出错");response.getWriter().flush();response.getWriter().close();}}

效果:

这时候直接使用沙箱版扫码支付就可以了
从此不用担心钱的问题,随心所欲,不用家里有矿也有花不完的钱!!!

案例源码下载地址:https://pan.baidu.com/s/175LNRgWushP9iI3sDdgPhg
提取码:x5mt

在Java Web中使用支付宝沙箱支付相关推荐

  1. java项目中使用支付宝支付(手机端,web端)--菜鸟小回

    java项目中使用支付宝支付(手机端,web端) 文章目录 java项目中使用支付宝支付(手机端,web端) @[toc] 一.Spring boot项目代码 二.支付宝沙箱环境配置 1. 因为上面c ...

  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. 基于SpringBoot vue的茶叶商城平台源码和论文含支付宝沙箱支付

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

  6. 【支付宝沙箱支付】麻瓜教程——申请----代码----修改测试----问题解决

    文章目录 支付宝沙箱环境 沙箱概述: 支付宝沙箱支付操作 `1.搜索进入支付宝开放平台` `2.登录,进入控制台` `3.进入沙箱` `4.进入支付宝开发助手下载所需的工具(度娘搜索就有)` `5.然 ...

  7. Asp.Net支付宝沙箱支付(也可用手机扫描支付)详细教程

    要想完成支付宝沙箱支付就必须先完成这些设置后才能往后走 一.首先先注册 1.点击下面的网址,点击右上角的立即入驻,然后用支付宝账号扫码登陆.然后填写信息,登陆. 支付宝开放平台 然后进入平台找到沙箱后 ...

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

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

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

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

最新文章

  1. 阿里云TSDB在大数据集群监控中的方案与实战
  2. Go语言的context包从放弃到入门
  3. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(4) - 比特位设置指令/字节设置指令
  4. Apache ActiveMQ消息中间件的基本使用
  5. 怎样管理Lotus Domino
  6. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
  7. 关于Exchange Server 2010(WEB浏览证书)证书问题
  8. python判断ip地址是否合法_Python课堂:判定IP地址合法性的三种方法
  9. mod_shout 模块
  10. Java的15种锁总结
  11. 教师使用计算机的能力提升,河南省中小学教师信息技术应用能力提升工程实效研究...
  12. HTML5基础学习(6):个人简历制作
  13. 解决jupyter notebook报错500的问题
  14. 2013 EE 排名
  15. word生成电子签名
  16. 从数字城市迈向智能城市
  17. 南加州大学计算机专业研究生录取,南加州大学研究生录取案例分享
  18. [数据与处理]归一化(连续值和离散值)
  19. ROS小车——摄像头的使用(3)
  20. 浅谈Java项目中要不要使用实体类

热门文章

  1. 嵌入式linux更改bootlogo
  2. HTML入门教程之表格标志
  3. java 加密解密时间戳
  4. ByteBuf 详解
  5. 转载SSIS中的容器和数据流—数据转换(Transformations)
  6. bluebird与原生Promise对象及bluebird模块的中文API文档
  7. zabbix监控应用进程状态
  8. mysql整段注释_MySQL注释:单行注释和多行注释
  9. 常见加密算法有哪些?是否对称?
  10. 定时任务cron表达式使用详解