当前位置: 首页 > news >正文

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

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

相关文章:

  • karabiner json语法
  • Java反射-动态类加载和重新加载
  • 女博士被程序员嘲笑:代码能力太差,不知道怎么招进来的
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • WordCount2.0
  • 用阿里云函数计算部署thinkphp5.1
  • 01什么是面向对象,面向对象的基本操作
  • day-19 django2
  • Go 语言编译器的 //go: 详解
  • 《2019年世界发展报告》发布,阿里巴巴助力小企业发展创造就业
  • @Service注解让spring找到你的Service bean
  • python 3.5 解决csv 读入中的'utf-8' codec can't decode办法
  • 2018 JVM 生态报告:79% 的 Java 开发者使用 Java 8
  • 微信小程序 - 使用七牛云 API 截取第 n 秒图像为封面图
  • 《netty入门与实战》笔记-03:数据传输载体 ByteBuf 介绍
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • C++入门教程(10):for 语句
  • Docker 笔记(2):Dockerfile
  • express + mock 让前后台并行开发
  • Invalidate和postInvalidate的区别
  • java多线程
  • JS基础之数据类型、对象、原型、原型链、继承
  • spring + angular 实现导出excel
  • V4L2视频输入框架概述
  • 聊聊flink的TableFactory
  • 排序(1):冒泡排序
  • 区块链分支循环
  • 少走弯路,给Java 1~5 年程序员的建议
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  •  一套莫尔斯电报听写、翻译系统
  • 一些关于Rust在2019年的思考
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​卜东波研究员:高观点下的少儿计算思维
  • # 计算机视觉入门
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #《AI中文版》V3 第 1 章 概述
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (C语言)fgets与fputs函数详解
  • (C语言)逆序输出字符串
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (k8s中)docker netty OOM问题记录
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三)elasticsearch 源码之启动流程分析
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)大型网站架构演变和知识体系
  • .dwp和.webpart的区别
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .Net Web窗口页属性