23、【支付模块开发】——Java对接支付宝步骤(沙箱环境)

简介: 1、下载导入项目https://docs.open.alipay.com/54/104506 打开支付宝接口官网:image.png我们下载Java版Demo下载之后解压,然后我们用IDEA导入这个Demo项目~image.

1、下载导入项目

https://docs.open.alipay.com/54/104506 打开支付宝接口官网:

img_331cc2d685e4947d18d32c39477be0bc.png
image.png

我们下载Java版Demo
下载之后解压,然后我们用IDEA导入这个Demo项目~
img_0e10ec791b6d6023fd0e85cb964bc249.png
image.png

然后,我们下载一个我们后面需要生成生成RSA密钥的工具: https://docs.open.alipay.com/291/105971
由于我是在Win平台开发,所以下载自己操作系统对应的版本就行:
img_ef6c4b8aa52ca2a35fb815fe11b48637.png
image.png

下载之后我们就先放一边啦~

导入项目之后,我们要查看自己导入的项目是否报错,如果出现报错,可能要调整一下自己的项目环境:


img_352007b025e8552614256a7c7c2b1d83.png
image.png

好,配置好项目时候,我们先不着急运行项目,
我们打开zhifubao.properties,显而易见,这是一个配置文件,那么我们记下来就将这个配置文件的相关配置配好~

img_1577bd3f5b63ae4e60029336ac94adba.png
image.png

2、配置好配置文件

由于我们测试的时候沙箱环境:
首先:
1、打开支付宝API官网的沙箱位置:https://openhome.alipay.com/platform/appDaily.htm?tab=info
打开这个网址,我们就会看到下面界面:

img_c28203b9a08c66c1bc20fed07f0c6bbb.png
image.png

首先我们看到相关参数,我们不管,我们一步步按照官网给的Demo里面的配置文件一个个将配置文件配好即可~

2、打开zhifubao.properties配置文件,我们就会看到下面代码:

img_5f04d714bfffc030fa68d443b503e6be.png
image.png

首先我们先配置最上面的四行:

# 支付宝网关名、partnerId和appId
open_api_domain = https://openapi.alipay.com/gateway.do
mcloud_api_domain = http://mcloudmonitor.com/gateway.do
pid = 此处请填写你的PID
appid = 此处请填写你当面付的APPID

这四行我们根据沙箱环境里面给的对应参数来配置

img_5f5496015f26a0b8aa8fd3194bf2ed48.png
image.png

mcloud_api_domain这个参数我们不需要改变~

3、接下来就是配置公钥和私钥了
我们打开上面再这个链接下载的支付宝官网提供的公钥私钥生成工具:https://docs.open.alipay.com/291/105971
解压之后:

img_16336d8917e47463a9c58c786b230bef.png
image.png

双击: RSA签名验签工具.bat
由于我们这次选择的是RSA2密钥方式:所以我们选择密钥长度为2048的方式:
img_3965abd021acf3ad46d34289acdd4f20.png
image.png

点击生成密钥
接下来我们配置Demo中配置文件的下两行

# RSA私钥、公钥和支付宝公钥
private_key = 此处请填写你的商户私钥且转PKCS8格式
public_key = 此处请填写你的商户公钥

将上面密钥生产工具生成的私钥和公钥复制到对应的地方即可:
4、下面一步,我们配置支付宝公钥,这一步我们要回到沙箱环境中:


img_54ef7318b0a263788a2c4979edc4e2c3.png
image.png

对这一行进行操作,首先我们复制上面密钥工具生成的公钥,然后再支付宝沙箱环境页面,点击查看公钥,然后点击修改,删除原来的,然后将我们刚才在密钥生成工具生成的公钥粘贴到里面:

img_311cd3cb02be0bd3ceb8205e5a0d56cd.png
image.png

点击保存:
然后点击查看支付宝公钥:
img_20a522170a5253258880b159b352e7f4.png
image.png

img_f14eb54262cc71ebb0f6dc02217d3a75.png
image.png

然后复制里面的支付宝公钥,下一步回到我们的Demo项目中,打开我们的 zhifubao.properties配置文件,将复制的支付宝公钥放到下面参数的配置上,记得把原来配置文件里默认的删除掉,

#SHA256withRsa对应支付宝公钥
alipay_public_key = 

img_5d4ec4eb0f933d35b5c3364eafd4a4af.png

这个是默认注释的,因为我们选中的是 #SHA256withRsa秘钥方式,
下面的参数选择默认的就差不多啦。。
到此,我们的支付宝Demo的配置文件算是配置好了~

3、运行Demo:

配置好配置文件之后,我们运行一下Demo的Main函数:发现项目可以正常跑起来了(如果你发发现你的项目报错,可能就是配置配置文件相关地方配置错了,根据错误提示一步步排查即可

img_399fdb3cb74e14836029192646486945.png

运行起来之后我们现在寻找输出日志里面一个参数:


img_34116b02bb6a5fbc434b14173f19ade7.png
image.png

我们复制冒号里面的内容
打开草料二维码,将冒号里面的内容生成二维码:


img_85f49e68f82f66afc91ffbad44cf9f5e.png
image.png

然后在沙箱环境中下载沙箱版支付宝:

img_4a1c0f5b480c94eed702c532a356f62f.png
img_3a194f75236c48801f82b33eec849fba.png
image.png

用沙箱版支付宝登录我们的买家账号,然后扫描生成的二维码,就发现可以付款啦~


img_d26d244cd184d644d445e3a1f9678ce5.png
image.png

img_c5f160f9e50f4afe5911417f0538cf11.png
image.png
相关文章
|
6天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
3月前
|
Java API Spring
打造未来电商新引擎:揭秘Java可扩展API设计,让支付与物流灵活如丝,引领电商时代潮流!
【8月更文挑战第30天】本文通过电商平台案例,探讨了如何设计可扩展的Java API。首先定义支付和物流服务的接口与抽象类,然后实现具体服务,接着引入工厂模式或依赖注入管理服务实例,最后通过配置实现灵活扩展。这种设计确保了应用架构的灵活性和长期稳定性。
55 3
|
1月前
|
JSON Java fastjson
Java Http 接口对接太繁琐?试试 UniHttp 框架吧
UniHttp 是一个声明式的 HTTP 接口对接框架,旨在简化第三方 HTTP 接口的调用过程。通过注解配置,开发者可以像调用本地方法一样发起 HTTP 请求,无需关注请求的构建和响应处理细节。框架支持多种请求方式和参数类型,提供灵活的生命周期钩子以满足复杂的对接需求,适用于企业级项目的快速开发和维护。GitHub 地址:[UniAPI](https://github.com/burukeYou/UniAPI)。
|
1月前
|
运维 监控 搜索推荐
阿里大鱼进行发短信业务---使用详细步骤-Java操作
这篇文章详细介绍了如何在Java中使用阿里大鱼服务来发送短信,包括开通短信服务、签名和模板管理,以及具体的Java开发步骤和代码示例。
77 0
阿里大鱼进行发短信业务---使用详细步骤-Java操作
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
41 5
|
2月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
53 3
|
1月前
|
Java 数据处理 开发者
Java Http 接口对接太繁琐?试试 UniHttp 框架~
【10月更文挑战第10天】在企业级项目开发中,HTTP接口对接是一项常见且重要的任务。传统的编程式HTTP客户端(如HttpClient、Okhttp)虽然功能强大,但往往需要编写大量冗长且复杂的代码,这对于项目的可维护性和可读性都是一个挑战。幸运的是,UniHttp框架的出现为这一问题提供了优雅的解决方案。
66 0
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
Java 大数据 开发工具
java学习——环境准备(1)
java学习——环境准备(1)
42 0
|
2月前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
94 11