热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sha256校验工具_Springboot整合支付宝支付加内网穿透工具实现本地回调

项目中我们集成了支付宝,用户可以使用支付宝来进行支付项目测试时,我们当然也需要一套测试环境对支付流程进行测试如果我们使用线上的支付宝配置进行测试,那么我们必须使用真实货币进行支付并
757d895bb0a8cfde630c7c43f6062e88.png

项目中我们集成了支付宝,用户可以使用支付宝来进行支付

项目测试时,我们当然也需要一套测试环境对支付流程进行测试

如果我们使用线上的支付宝配置进行测试,那么我们必须使用真实货币进行支付

并且支付的金额会进入生产环境的支付宝绑定银行卡中,造成诸多不便

这里,支付宝为测试提供了一个沙箱环境,使我们可以使用虚拟货币进行支付测试

这篇文章就来详细说一下支付宝沙箱环境的配置和使用

首先创建支付宝配置文件类:

@Configuration@Datapublic class AliPayConfig { /** * 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 */ @Value("${sdk.alipay.appID}") private String appID; /** * 商户私钥,您的PKCS8格式RSA2私钥 */ @Value("${sdk.alipay.merchantPrivateKey}") private String merchantPrivateKey; /** * 支付宝公钥 */ @Value("${sdk.alipay.alipayPublicKey}") private String alipayPublicKey; /** * 签名方式 */ @Value("${sdk.alipay.signType}") private String signType; /** * 网关 */ @Value("${sdk.alipay.gatewayUrl}") private String gatewayUrl; /** * 编码 */ @Value("${sdk.alipay.charset}") private String charset; /** * 异步通知地址 */ @Value("${sdk.alipay.notifyUrl}") private String notifyUrl; /** * 类型 */ @Value("${sdk.alipay.format}") private String format; /** * 商户号 */ @Value("${sdk.alipay.sysServiceProviderId}") private String sysServiceProviderId;

登陆支付宝开放平台进行沙箱环境配置

807a33e2f7ae2444a9549e05a070c063.png

配置截图

注意:沙箱环境的支付宝网关、公钥私钥都和正式不同,现在做的是沙箱环境的模拟支付

生成RSA密钥:https://docs.open.alipay.com/291/106074上传应用公钥并获取支付钥:https://docs.open.alipay.com/291/105972/使用应用私钥生成请求签名:https://docs.open.alipay.com/291/105974/使用支付宝公钥验签:https://docs.open.alipay.com/291/106074/下载密匙生成工具:https://docs.open.alipay.com/291/105971

983ab1802727dfaf13165906714c47b3.png

配置截图

然后生成密钥:

d42378b7d1c69aae52b3e885f1985569.png

生成公钥 私钥以后把公钥上传到支付宝,在开发者配置中点击 RSA2(SHA256)密钥

如下图:

f63365d11ccbce74d6d5d26e324f7776.png

配置信息

上传成功之后点击查看支付宝公钥,注意这里不要搞反了在配置文件中我们要的是支付宝给我们的公钥不是我们刚刚生成的公钥!

dd7bb37566cdf133303c2bfaa318ea35.png

配置成功,现在配置项目

打开配置文件添加配置:

e31ad3c9284595c113180aa9f90257cb.png

商户私钥就是刚刚生成的私钥支付宝公钥不是我们生成的公钥,是支付宝给我们的公钥切记 不然签名校验会不通过

添加生成支付代码,简单创建支付没有加参数和业务代码:

@Override

public String payWithAliPay() throws AlipayApiException {

/**

* 业务代码

*/

String order_no = UUID.randomUUID().toString(); //77777777

String body = "";

String total_fee = "999.99"; //真实金钱

AlipayClient alipayClient = new DefaultAlipayClient(aliPayConfig.getGatewayUrl(), aliPayConfig.getAppID(), aliPayConfig.getMerchantPrivateKey(), aliPayConfig.getFormat(),

aliPayConfig.getCharset(), aliPayConfig.getAlipayPublicKey(), aliPayConfig.getSignType()); //获得初始化的AlipayClient

AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();//创建API对应的request类

JSONObject jsonObject = new JSONObject();

/**

* 订单号

*/

jsonObject.put("out_trade_no



推荐阅读
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
  • Vuforia 开发指南:第二章 环境配置与搭建
    本章节详细介绍了如何在Vuforia官网上完成账号注册及环境配置。首先,访问Vuforia官方网站并点击“Register”按钮,按照提示填写必要的个人信息。提交表单后,系统将验证信息并创建账户。接下来,用户需要下载并安装Vuforia开发工具,确保开发环境的顺利搭建。此外,还提供了详细的配置步骤和常见问题的解决方案,帮助开发者快速上手。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • 基于Dubbo与Zipkin的微服务调用链路监控解决方案
    本文提出了一种基于Dubbo与Zipkin的微服务调用链路监控解决方案。通过抽象配置层,支持HTTP和Kafka两种数据上报方式,实现了灵活且高效的调用链路追踪。该方案不仅提升了系统的可维护性和扩展性,还为故障排查提供了强大的支持。 ... [详细]
  • iOS 设备唯一标识获取的高效解决方案与实践
    在iOS 7中,苹果公司再次禁止了对MAC地址的访问,使得开发者无法直接获取设备的物理地址。为了在开发过程中实现设备的唯一标识,苹果推荐使用Keychain服务来存储和管理唯一的标识符。此外,还可以结合其他技术手段,如UUID和广告标识符(IDFA),以确保设备的唯一性和安全性。这些方法不仅能够满足应用的需求,还能保护用户的隐私。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
author-avatar
Ss_爱咩咩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有