文档章节

支付宝支付(PC端WEB支付)DEMO实例(沙箱环境)

lybb_lbb
 lybb_lbb
发布于 2017/09/07 16:55
字数 1205
阅读 469
收藏 2

废话不多说直接干:

第一步:登录蚂蚁金服开放平台蚂蚁金服开放平台连接,在这里你可以使用自己的支付宝进行登录,也可以使用公司的企业账号登录。

第二步:进入开发者中心,在左边的菜单找到“沙箱环境”,并点击沙箱应用

在这里你可以选择创建应用,也可以直接使用沙箱环境测试,沙箱环境和自己创建应用的效果是差不多的【应用测创建,只需要跟着网页提示进行就可以了】,因为使用支付宝的 手机网站支付接口 是需要和支付宝进行签约的,所以我在测试的时候使用的是沙箱环境,而使用支付宝的接口,需要先下载支付宝提供的demo,然后将demo导入自己的开发工具中,然后在里面修改配置文件。demo链接,我用的是服务窗的DEMO,在下载完成之后,解压,然后将工程导入开发工具。

第三步:接下来,我们需要在constants包里面配置,自己沙箱的应用环境

这里的应用公钥,是要我们去支付宝那儿下载一个公钥生成工具,RSA秘钥生成连接,根据自己的电脑系统选择,

下载、解压,然后生成秘钥,注意:文件夹的目录中一定不能带有中文字符吗,不然工具不能使用,这个步骤我就不一步步的说了。,将生成的公钥如下图,配置到查看应用公钥那儿,第一次登陆的应该现实的是配置公钥。点击确定,然后会生成支付宝公钥。

接下来我们就可以配置下载的demo里面的常量了。

在这个类里面配置常量:这里就用文字描述了  ALIPAY_PUBLIC_KEY=“填写的是支付宝的公钥,就是你配置完自己的公钥后生成的支付宝公钥,在网页上的”       APP_ID=“沙箱的APP_ID”   PRIVATE_KEY="是在生成公钥的同时,生成的packs8的私钥,在自己的文件夹可以找到"    PUBLIC_KEY=“这就是刚配置的公钥了”   ALIPAY_GATEWAY=“这个一定要注意了。这个要改成测试环境的网关,

 

https://openapi.alipaydev.com/gateway.do

在使用自己创建的应用的时候,就可以使用demo默认的网关了”

第四步:接下来是测试,在测试之前需要有一个域名,将你的访问地址放到外网上,这里我使用的natapp,natapp网址,接下来简单介绍一下natapp怎么使用(方便整个demo可以跑起来)。

进入natapp主页之后,根据自己的系统下载相应的客户端,我用地WIN7 64位,所以下载了WINDOWS 64的,如下图

下载之后解压,解压之后进入到目录里,会有一个natapp.exe文件。接下来要注册一个账号密码,注册好之后再natapp主页进行登录

然后记得进行实名认证,认证之后才可以购买免费的隧道进行测试使用。当购买好免费的隧道之后

点击配置,进行简单的配置,将端口80改成8080(本地127.0.0.1或者localhost的默认端口,你的服务器也要用这个,当然你也可以改成你喜欢的,总之要对应),配置好了之后,可以进行登录了,现在双击natapp.exe运行起来,然后输入natapp -authtoken=你的authtoken(这个在你的隧道信息里有),就可以登录,然后会给你一个网址,这个网址就是你本地对外的网址。

第五步:接下来是测试代码

创建一个Servlet,然后将doPost(doGet方法也可以)方法替换成下面的代码

public void doPost(HttpServletRequest httpRequest,
			HttpServletResponse httpResponse) throws ServletException,
			IOException {
		AlipayClient alipayClient = AlipayAPIClientFactory.getAlipayClient();
		AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();// 创建API对应的request
		alipayRequest.setReturnUrl("http://这里是natapp给你的地址/fuwuchuang_demo/return_url.jsp");
		alipayRequest.setNotifyUrl("http://这里是natapp给你的地址/fuwuchuang_demo/notify_url.jsp");// 在公共参数中设置回跳和通知地址
		String currentTime = System.currentTimeMillis()+"";
		alipayRequest.setBizContent("{" +
		        "    \"out_trade_no\":" +currentTime+","+
		        "    \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
		        "    \"total_amount\":100.00," +
		        "    \"subject\":\"大乐透\"," +
		        "    \"body\":\"大乐透\"," +
		        "    \"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +
		        "    \"extend_params\":{" +
		        "    \"sys_service_provider_id\":\"2088102172277531\"" +
		        "    }"+
		        "  }");//填充业务参数
		
		String form = "";
		try {
			form = alipayClient.pageExecute(alipayRequest).getBody(); // 调用SDK生成表单
		} catch (AlipayApiException e) {
			e.printStackTrace();
		}
		httpResponse.setContentType("text/html;charset=" + "UTF-8");
		httpResponse.getWriter().write(form);// 直接将完整的表单html输出到页面
		httpResponse.getWriter().flush();
		httpResponse.getWriter().close();
	}

代码中的return_url.jsp和notify_url.jsp自己创建出来,用于处理返回结果(自己的业务)

记得要配置Servlet(web.xml文件)

下面是测试结果:

这个只是PC端的DEMO,后面我会继续研究其他方式,会继续共享出来的。

© 著作权归作者所有

共有 人打赏支持
lybb_lbb
粉丝 0
博文 26
码字总数 8357
作品 0
闵行
加载中

评论(2)

lybb_lbb
lybb_lbb

引用来自“OSC_qTscWY”的评论

你好0
我想问一下,自己做的网上商城实战项目,可以用支付宝沙箱吗?
沙箱是虚拟的,是阿里为了让开发者进行正式开发之前做的练习,是不可以用到正式的项目的。如果不商用,只是自己做做,当然可以了
OSC_qTscWY
OSC_qTscWY
你好0
我想问一下,自己做的网上商城实战项目,可以用支付宝沙箱吗?
App 集成支付宝支付接口(一)沙箱配置

以前没有弄过支付,公司项目中要集成支付接口,首先集成支付宝支付接口,所以才来捣鼓它。官方app太多。网上找的资料也不全面,特别是服务端,资料少、描述不清晰、重点没有说明。下面开始我...

fengzhi714
2016/12/08
3.6K
0
小柒2012/spring-boot-pay

spring-boot-pay 支付服务:支付宝,微信,银联详细 代码案例 (除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项 。 API接口...

小柒2012
2017/08/02
0
0
java实现沙箱测试环境支付宝支付(demo)和整合微信支付和支付宝支付到springmvc+spring+mybatis环境全过程(支付宝和微信支付、附源码)

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:,获取优质学习资源。 一、支付宝测试环境代码测试 1.下载电脑网站的官方demo: 下载地址:https://docs.open.a...

公众号_好好学java
06/21
0
0
支付宝使用流程和踩坑小记(附Demo)

支付宝使用流程和踩坑整理 官方开发指南 本文记录了我使用支付宝的一些过程 第一部分是一些我根据官方文档中摘录的可用的重要信息 第二部分是整理的 iOS/Android App 接入主要流程 && Demo ...

xiaoyouPrince
05/24
0
0
有谁用过支付宝沙箱环境

支付宝有个支付宝沙箱环境,有谁用过这个东西。 我想在上面测试支付业务流程。但是上面弄个好烂,不知道怎么用。

xinson
2015/08/25
7.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
3
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部