支付宝沙箱测试模拟下单---idea版

序言

看了那么多大佬写的沙箱环境的实现,抱着学习的心态,我也跟着做了一下。
发现问题一大堆…因为我是用idea的,解决了一大堆问题后觉得有必要帮助咱们idea的伙伴快速排查问题并解决!
如果你在调试中还发现什么问题,可以评论区贴出来,我很闲,看到会尽量解决的。

沙箱环境

蚂蚁沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境。沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考“沙箱支持产品列表”)。
在开发者应用上线审核前,开发者可以根据自身需求,先在沙箱环境中了解、组合和调试各种开放接口,进行开发调通工作,从而帮助开发者在应用上线审核完成后,能更快速、更顺利的进行线上调试和验收工作。
如何使用和配置沙箱环境请参考《沙箱环境使用说明》。

以上是支付宝的沙箱环境介绍

沙箱环境模拟下单步骤

登录你的个人支付宝账号
在这里插入图片描述
切换到商户版,找到开放平台点击
在这里插入图片描述
在这里插入图片描述
点击开发者中心,然后点击研发服务,选择自研开发服务,记得如果你没在开发平台登录会提示你登录
在这里插入图片描述
进入后是这样 的
在这里插入图片描述

这就是沙箱环境的信息配置,APPID是自动帮我们创建好了的,网关也不用管。我们要做的就是设置那个密钥
这里RSA2需要设置公钥推荐使用RSA2.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个页面就相当于支付宝提供的文档。至于后面的验签及格式咱先不管。下载这个生成密钥工具解压安装并打开,直接点击生成密钥就可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将工具生成的公钥复制到这个里面
弄好以后去natapp官网下载natapp工具做内网穿透,先把工具下载下来解压好
在这里插入图片描述

natapp官网:https://natapp.cn/
下载完成进入官网
注册登录后购买个免费的隧道做测试,会提示你实名认证,认证一下即可
在这里插入图片描述
在这里插入图片描述
名称随便取,端口防止冲突我用个8088的,然后在我的隧道里就可以看到你隧道的信息,记住这个authtoken
在这里插入图片描述
这时,最好推荐用户可将本地DNS更换为阿里公共DNS 223.5.5.5 223.6.6.6
这样不但可以本地上网的域名增加解析速度,防止DNS劫持等.

更重要的是,我们natapp服务器在变更ip的时候,可以做到及时切换,秒级恢复服务
win10具体如下
在这里插入图片描述
右键属性,找到internet协议版本4
在这里插入图片描述
在这里插入图片描述
然后确定并关闭就已经设置好网关了。
现在去打开刚刚下载好的natapp.exe 会提示这个错误是因为没有使用authtoken认证,那我们就复制自己隧道中的authtoken
在这里插入图片描述
输入指令开启隧道:natapp -authtoken=你自己的authtoken
在这里插入图片描述
回车显示开启了隧道
在这里插入图片描述
这里的Forwarding的网址后面要用到,先记下来。
现在隧道也开启了,我们可以拿支付宝提供的demo了
在https://opendocs.alipay.com/open/270/106291中下载
在这里插入图片描述
下载解压打开一看,就是个eclipse项目。没关系,我们打开idea,然后自己创建个webapp项目
在这里插入图片描述
在这里插入图片描述
名字任意
下一步下一步完成进入,在main文件夹下创建个Java文件夹,然后设置一下sources root,并在Java文件夹下创建个文件夹,名字随意。注意:在java文件夹下必须还要创建个文件夹,后面我们的Java文件必须要在文件夹中
在这里插入图片描述
看了看官方给的lib包下的jar包,我们可以直接添加依赖让maven管理,最重要的还是那个alipay.sdk,和我一样就行了

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
    <dependency>
      <groupId>com.alipay.sdk</groupId>
      <artifactId>alipay-sdk-java</artifactId>
      <version>4.9.79.ALL</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.9</version>
    </dependency>

    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

将官方给的demo里面的Java文件和jsp文件拷贝到我们的项目中,以下是目录
在这里插入图片描述
然后打开那个AlipayConfig.java文件,更改我们自己的配置
在这里插入图片描述
其中,RSA2私钥就是我们下载的开发平台助手生成的私钥,复制粘贴
在这里插入图片描述
支付宝公钥就是网页中的那个支付宝公钥,同样复制粘贴
在这里插入图片描述
配置好tomcat,我们打开试试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开启tomcat后,直接编译出错
碰到这个问题,这时因为eclipse项目到idea出现的问题
在这里插入图片描述
解决方法为:
在这里插入图片描述
右下角选择GBK转换一下
在这里插入图片描述
然后再转换回utf-8,同样操作,重启tomcat,就可以进入页面了,点击付款
在这里插入图片描述
是的,又报错了!
在这里插入图片描述
这里是说不能编译jsp文件,说明我们tomcat服务器有问题,跟着我,解决它!
在这里插入图片描述
打开项目配置,找到Modules的dependences 添加tomcat的包
在这里插入图片描述
然后点击ok,重启tomcat,发现还是500没变,这时,打开alipay.trade.page.pay.jsp查看。发现有很多地方报红
在这里插入图片描述
是因为在此jsp中用到我们那个AlipayConfig的Java文件,import导入一下就可以了,注意哈:其他的jsp也需要导入喔!
在这里插入图片描述
翻到下面发现那个out.println也报红
因为我们上面已经把tomcat添加了配置,所以,这里就是语法错误,改成 out.print()即可
在这里插入图片描述
重启tomcat,点击付款。
谢天谢地,世界还在!
可以选择登录账户付款,账户名和密码是给了的,在沙箱账号可以看到,复制买家账号和密码登录付款就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这里,我们可以起身舒展一下了。

总结

  1. 根据项目需求,可以对此demo做需要的修改或添加功能等操作。
  2. 我做的就是使用idea实现这个沙箱环境模拟支付宝下单的功能demo,我这个源码其实也不需要贴,只要跟着我一步一步走就没什么问题,如果遇到其他问题可以评论区贴出来!

此处功能将来必改,不要写死

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值