使用IDEA进行支付宝沙箱测试

时间:2024-10-10 20:16:15

准备

进入支付宝开放平台

进入支付宝开放平台,登录。
下拉,点击研发服务
在这里插入图片描述
进入开发者中心,红框对应支付宝跟你分配的APPID
在这里插入图片描述
因为是商家,支付宝要求进行支付操作时,你要调用支付宝的接口,支付宝也要调用你的接口,所以需要使用非对称加密。
若是刚开始操作,RSA2哪里只有设置,没有查看,需要点击设置,在下图中的框中输入利用支付宝密钥生成器生成的公钥,
因为自己弄过了,所以找了一张图

私钥/公钥的生成

生成器,点击下载,安装,打开软件进入生成器,直接点击生成密钥,就会在下方得到生成好的公钥和私钥。
在这里插入图片描述
将公钥复制,进入支付宝开发平台的那个页面,将公钥粘贴到框内,点击保存设置,得到如下内容,就拿到了支付宝公钥。
在这里插入图片描述

NATAPP

这个东西还没怎么理解。。。应该是在你没有域名的情况下,通过natapp得到一个临时域名对应你的主机,进入官网,登录点击下方红框。
在这里插入图片描述
直接点击购买就行,当然也可以自己命个名。
在这里插入图片描述
点击下图左方蓝色区域,得到如下图片内容。
在这里插入图片描述
然后点击页面右上角的客户端下载,选择自己机型对应的型号,我的是windows 64下载即可,为一个.exe文件。然后需要在该exe的同级目录下创建一个文件。官方有详细说明
在这里插入图片描述
官方给出的内容如下

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=                      #对应一条隧道的authtoken
clienttoken=                    #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none                        #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR                  #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy=                     #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

我们需要配置的就是将之前得到的authtoken序列,填进该文件。比如可将文件修改为

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=  自己得到的autotoken序列                    #对应一条隧道的authtoken
clienttoken=                    #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=stdout                        #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=DEBUG                  #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy=                     #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

将文件保存,注意是在同级目录
在这里插入图片描述
直接点击运行,得到如下图,注意红框中的url为每次启动该exe给你生成的url,后面需要使用。到这里对于临时域名的获取就暂时告一段落,注意要使该域名有效,应一直开启natapp,不要把它关闭了。
在这里插入图片描述

IDEA进行Demo测试

进入支付宝开发平台的文档,电脑网站支付Demo我下载的是java。
在这里插入图片描述

因为支付宝给出的是eclipse的demo,所以我直接导入idea出现很多问题,而且都没解决。
如果直接导入
在这里插入图片描述
然后一路next,最后出现了这个,用的是jdk1.7,而我用的是jdk12。jdk版本问题来了,忽略。
在这里插入图片描述
然后把,完整目录如下,没用过eclipse的我瑟瑟发抖,咋跟idea自己创建的目录结构不一样。
在这里插入图片描述
然后内容里面各种红,应该是jdk版本问题吧。这里我只是拿出来说一下,