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

支付宝pc支付(springboot版),简单配置即可实现支付

概述

支付宝pc支付,只需要修改配置就可以实现支付,0基础小白都可以用。使用springboot编写,简单易用。

详细

DEMO简介

springboot整合支付宝pc支付,仅仅需要少量的配置,就可以实现pc支付。

项目截图

demo01.png

支付流程

  1. 用户在浏览h5或者网站时,点击支付,传递商品信息

  2. 商户服务端,接收商品信息,定价,数量总金额等等

  3. 商户将金额,商品等数据封装成参数,请求支付宝平台进行支付

  4. 用户跳转到支付收银台

  5. 用户确认订单信息金额等,输入用户名密码登录支付宝,输入支付密码进行支付

  6. 用户支付成功,支付宝回调商家接口

  7. 商家服务端收到支付宝回调,进行扣减库存等相关逻辑,并提示用户支付成功!

运行项目

基础环境:java8,maven

导入项目:idea - > 打开项目所在的文件夹即可,等待maven依赖下载完成。 eclipse -> 导入本地maven项目即可。

# **************************************************************************************************
#
#
#alipay.appId=应用编号
#alipay.privateKey=应用私钥
#alipay.publicKey=支付宝公钥,通过应用公钥上传到支付宝开放平台换取支付宝公钥(如果是证书模式,公钥与私钥在CSR目录)。
#alipay.appCertPath=应用公钥证书
#alipay.aliPayCertPath=支付宝公钥证书
#alipay.aliPayRootCertPath=支付宝根证书
#alipay.serverUrl=支付宝支付网关,沙箱环境时设置为 https://openapi.alipaydev.com/gateway.do 使用正式环境时设置为 https://openapi.alipay.com/gateway.do
#alipay.domain=外网访问项目的域名,支付通知中会使用
# **************************************************************************************************
alipay.appId=2016092000553473
alipay.privateKey=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCMhUvHrtgWCj4i1skML5AraaCBg5N8XWSQnXkrcVFk+0nkQyKTCIVsnwqjsEEO8/pOfixmBWmB8/gRWIckC4DxILoSOH7Osk/DhM4zNCaIzJwAdigTfMkxm+5iMgmOn5yImYzjc4vV/AxUGAbuopMBAxekTURHZ3Cm5yOAtk5w9715nZ47rHysENHBbYmUjudA59mzI9p7DOmP6WT+LOPb6GzJ4//ZeGHuJwRA53We/3uXEZvQRH0ByTDCGmN6jlbd9PpBeot9eCyj8ZFxBcXr5LRXtSaZPz51FXuNJKHtRut6Gf0UmEBUN+3++rtZloLO02qT8kP1n6prplNqNYPvAgMBAAECggEAVxhXO9DXBfIbSSSvP+pLBV1Wqm+O/ko0hp3T+GUn+dr2lZA24cMqT4TT51jbOhVmUzhI9ILuPimk27tvJ5wps0qBicGSdzJ11c1+sKXmLGwFVRPnCw0Q9rqbKimxWsD7GH9zn5aCWYL7cTPjOA1z5/CuuptZcpheblRc4O4d+E3i19unvRw1+oQAcW4dM1kKa8eg7sJtxOpYXcuQ3xc8AiL9MWwJKOlNHoSbLTzWaRh6ZzhkSXnJ7Em16qXJuzM123PQ0fPQA4MER18d6joxifHdBMR+hXPGyTIQheRV7JgXPea91rsd1GcInNdMa3y0O+dBZakbZSsd+quihqwaoQKBgQDyes4MfTyPp/v/yumjCxquVRn/AXDjJLa7w3h2F15A+oiELdMSNV0f4OsRAfyaYT7G54D+HCPluau+qeMFJnGynKVvAr8ncA+5l/1uWpVHlJO+vzjNEdqCPnkFc74pKpQoXULsoY8Ilu+ENDYNrRH1/D9QaeHyYpxCH/3vw+bRjQKBgQCUWxyCsGvSjeNKYOhK3E19YmAjnAXtLpsrJpcB8WtrFWmxrRMa76SiuvcrLGnpzMwNmcqtEcq08J2yTOFaIzmmm6ZwQo9QCl0hu1aYp7g9k99l780TAZ5jJJTJcPjJk1e1FXD36VZHZbnF22gtfhNC7i+VrxPEAoxmXk1tPWUmawKBgQDBut4vWkvtltAe4Xbjfja1/GZFuFgCEs4wnA79gtQaZFB4Esilrp8VnjURJJ42leV7M3F7FO6VV0/hiIhKEBodE0yVsgMZtk3KAaZI6fSE+S9F4i+2oEINd25nrb7L0yoGSeTzfGzz9uusm65oJNPJzdykGcSdTK39ouPXEZSz7QKBgHwtZ0fc8+Nh8IYpZ0aB8DqrRV2JE0zcXfVYb72ongkb+0RFYmCBhoTPimQQ4PZZ/dLEj+kdo1agsN61i0svgOn8DuyYSeztP9ckP++3M3gXdj6U4kquaC0ESaXzccsIEbn5IH3iSd2pQD5k0GaDyQuU4y+fRCQlHe/xr01ovmnRAoGBAJqxPXH762WTRiE+Wdg9idcKSORy0pGgcKeZNkHKNIt7WFAWK+Iw1zUktTGuQT59tLrojs3CiOzTbvWG8iFxT97NyUQoA1350Og4GknBRMOa9U6bz2Pt9dkx5clznEIkjMikNmleelZKDbXNvaODXrcdyddRrLga9Kei9T5yD8kv
alipay.publicKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjIVLx67YFgo+ItbJDC+QK2mggYOTfF1kkJ15K3FRZPtJ5EMikwiFbJ8Ko7BBDvP6Tn4sZgVpgfP4EViHJAuA8SC6Ejh+zrJPw4TOMzQmiMycAHYoE3zJMZvuYjIJjp+ciJmM43OL1fwMVBgG7qKTAQMXpE1ER2dwpucjgLZOcPe9eZ2eO6x8rBDRwW2JlI7nQOfZsyPaewzpj+lk/izj2+hsyeP/2Xhh7icEQOd1nv97lxGb0ER9Ackwwhpjeo5W3fT6QXqLfXgso/GRcQXF6+S0V7UmmT8+dRV7jSSh7Ubrehn9FJhAVDft/vq7WZaCztNqk/JD9Z+qa6ZTajWD7wIDAQAB
alipay.appCertPath=D:/sanbox/appCertPublicKey_2016092000553473.crt
alipay.aliPayCertPath=D:/sanbox/alipayCertPublicKey_RSA2.crt
alipay.aliPayRootCertPath=D:/sanbox/alipayRootCert.crt
alipay.serverUrl=https://openapi.alipaydev.com/gateway.do
alipay.domain=http://xe4wga.natappfree.cc

修改支付配置:

 

配置获取:

  1. 创建支付应用:小程序文档 - 支付宝文档中心 , 如果使用 沙箱环境(https://opendocs.alipay.com/open/200/105311/)可以跳过此步骤,系统已经自动为你创建一个应用。

  2. 生成密钥并上传,下载相关整数。详细流程:https://opendocs.alipay.com/open/291/105971

使用支付宝密钥生成工具,工具使用可参照上前面那个链接:

image.png

密钥生成后,可看到以下文件:

image.png

配置中的应用私钥和支付宝公钥应填写CSR中的,作者已经踩过坑了,谨记!否则会报密钥问题

将以下三个证书下载下来,并记住你存放的路径,最好放在一起!把路径填写到alipay.properties中!

微信截图_20201106194104.png

网关地址只有两个,一个是沙箱的,一个正式的,发布应用填正式的就可以。

域名配置:

alipay.domain=http://xe4wga.natappfree.cc

domian是你的服务域名,如果你是本机,那就是http://localhost:80,当然本地域名是不行的。必须要是公网可以访问,如果你想测试回调的话,可以使用内网穿透技术(我用的是natapp ,免费的).

如何实现内网穿透?

基本原理看这个:https://www.cnblogs.com/zhangfengfly/p/6606295.html

如何使用Natapp实现内网穿透:

快速使用教程:https://natapp.cn/article/natapp_newbie

结语

这块就是支付宝的配置有些难度,配置搞定,支付就解决了,流程已经给你跑通了,只需要往里面加业务就可以了。有疑问可以评论,或者购买服务,切莫直接评论诋毁,愿你们工作生活越来越顺利!!—— 尘心

相关文章:

支付宝pc支付(springboot版),简单配置即可实现支付

概述 支付宝pc支付,只需要修改配置就可以实现支付,0基础小白都可以用。使用springboot编写,简单易用。 详细 DEMO简介 springboot整合支付宝pc支付,仅仅需要少量的配置,就可以实现pc支付。 项目截图 支付流程 用户…...

【Redis专题】Redis持久化、主从与哨兵架构详解

目录 前言课程目录一、Redis持久化1.1 RDB快照(Snapshot):二进制文件基本介绍开启/关闭方式触发方式bgsave的写时复制(COW,Copy On Write)机制优缺点 1.2 AOF(append-only file)&…...

【vue2第十三章】自定义指令 自定义v-loading指令

自定义指令 像 v-html,v-if,v-for都是vue内置指令,而我们也可以封装自定义指令,提升编码效率。 什么是自定义指令? 自己定义的一些指令,可以进行一些dom操作,扩展格外的功能。比如让图片懒加载…...

数据结构--6.3查找算法(静态、动态)(插值查找)

静态查找:数据集合稳定,不需要添加,删除元素的查找操作。 动态查找:数据集合在查找的过程中需要同时添加或删除元素的查找操作。 对于静态查找来说,我们不妨可以用线性表结构组织数据,这样可以使用顺序查找…...

Spring Boot日志基础使用 设置日志级别

然后 我们来说日志 日志在实际开发中还是非常重要的 即可记录项目状态和一些特殊情况发生 因为 我们这里不是将项目 所以 讲的也不会特别深 基本还是将Spring Boot的日志设置或控制这一类的东西 相对业务的领域我们就不涉及了 日志 log 初期最明显的作用在于 开发中 你可以用…...

Playwright for Python:断言

一、支持的断言 Playwright支持以下几种断言: 断言描述expect(locator).to_be_checked()复选框被选中expect(locator).to_be_disabled()元素是禁用状态expect(locator).to_be_editable()元素是可编辑状态expect(locator).to_be_empty()容器是空的expect(locator).…...

websocket--技术文档--spring后台+vue基本使用

阿丹: 给大家分享一个可以用来进行测试websocket的网页,个人觉得还是挺好用的. WebSocket在线测试工具 还有一个小家伙ApiPost也可以进行使用websocket的测试。 本文章只是基本使用--给大家提供思路简单实现!! 使用spring-boot建立一个服…...

day01-ES6新特性以及ReactJS入门

课程介绍 ES6新特性ReactJS入门学习 1、ES6 新特性 1.2、let 和 const 命令 var 之前,我们写js定义变量的时候,只有一个关键字: var var 有一个问题,变量作用域的问题,作用域不可控,就是定义的变量有时会…...

MySQL5.7慢查询实践

总结 获取慢查询SQL 已经执行完的SQL,检查慢查询日志,日志中有执行慢的SQL正在执行中的SQL,show proccesslist;,结果中有执行慢的SQL 慢查询日志关键参数 名称解释Query_time查询消耗时间Time慢查询发生时间 分析慢查询SQL e…...

MySQL数据库的增删改查(进阶)

目录 数据库约束 约束类型 NULL约束 UNIQUE:唯一约束 DEFAULT:默认值约束 PRIMARY KEY:主键约束 FOREIGN KEY:外键约束 表的设计 一对一关系 一对多关系 多对多关系 查询 聚合查询 聚合函数 GROUP BY子句 HAVING …...

韶音骨传导耳机好不好用,韶音的骨传导耳机怎么样

提到韶音骨传导耳机,相信很多人在第一时间会想到韶音OpenRun Pro这一款骨传导耳机,这是在去年韶音新发布的一款骨传导耳机,在佩戴舒适性面做了很多优化,采用了夹紧力道适度的柔韧钛合金材质后挂;发声单元包裹柔软硅胶材…...

Nginx从安装到使用,反向代理,负载均衡

什么是Nginx? 文章目录 什么是Nginx?1、Nginx概述1.1、Nginx介绍1.2、Nginx下载和安装1.3、Nginx目录结构 2、Nginx命令2.1、查看版本2.2、检查配置文件正确性2.3、启动和停止2.4、重新加载配置文件2.5、环境变量的配置 3、Nginx配置文件结构4、Nginx具体…...

freertos之资源管理

中断屏蔽 屏蔽中断函数 在任务中使用 taskENTER_CRITICA()/taskEXIT_CRITICAL() 在中断中使用 taskENTER_CRITICAL_FROM_ISR()/taskEXIT_CRITICAL_FROM_ISR() 功能介绍 使用上述函数,进入临界中断,任务不会切换,且中断优先级处于con…...

1.创建项目(wpf视觉项目)

目录 前言本章环境创建项目启动项目可执行文件 前言 本项目主要开发为视觉应用,项目包含(视觉编程halcon的应用,会引入handycontrol组件库,工具库Masuit.Tools.Net,数据库工具sqlSugar等应用) 后续如果还有…...

使用element-ui导航,进入对应的三级页面菜单保持点击状态

1.注意事项 01.路由中使用了keepAlive属性&#xff0c;要用keepAlive&#xff1a;true&#xff0c;不能等于false&#xff0c;使用false页面会刷新 2.使用的方法 NavMenu 导航菜单 3.项目实例 <template><div class"policy-home"><div class"…...

golang字符串转64位整数

在Go语言中&#xff0c;可以使用strconv包中的ParseInt函数将字符串转换为64位整数。以下是一个示例代码&#xff1a; package main import ( "fmt" "strconv" ) func main() { str : "12345" num, err : strconv.ParseInt(str, 10, 64…...

创作纪念日-我的第1024天

机缘 不知不觉已经成为创作者的第1024天啦… … 刚开始接触博客的初衷就是为了记笔记&#x1f4d2;、记总结&#x1f4dd;&#xff0c;或许对于当时就等同于是为了找工作。坚持学习并持续输出博客一年后&#xff0c;这时我发现再写博客&#xff0c;不在是为了找一份工作&…...

【线上问题】很抱歉,如果没有 JavaScript 支持,将不能正常工作

目录 一、问题说明二、解决方式 一、问题说明 1.修改了nginx的配置 2.postman调用接口正常&#xff0c;浏览器访问接口200&#xff0c;但无数据 3.浏览器访问&#xff0c;nginx没有访问记录&#xff0c;接口请求到不了应用服务 4.原因不祥 二、解决方式 1.清理了浏览器缓存...

便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术

编者按&#xff1a;日前&#xff0c;Alibaba Cloud Linux 3 为使 AI 开发体验更高效&#xff0c;提供了一些优化升级&#xff0c;本文为“Alibaba Cloud Linux 3 AI 能力介绍”系列文章预告篇&#xff0c;以 GPU 实例为例&#xff0c;为大家演示 Alibaba Cloud Linux 3 对 AI 生…...

创新科技改变城市:智慧城市建设全景展望

在当今科技飞速发展的时代&#xff0c;智慧城市的概念已经成为城市发展的新趋势&#xff0c;为人们的生活带来了前所未有的便利和改变。智慧城市&#xff0c;顾名思义&#xff0c;是以先进的信息技术为基础&#xff0c;通过数字化、互联网化和智能化手段&#xff0c;实现城市基…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...