如何实现异地公网环境访问本地部署的支付宝沙箱环境调试支付SDK

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 前言
        • 1. 下载当面付 demo
        • 2. 修改配置文件
        • 3. 打包成 web 服务
        • 4. 局域网测试
        • 5. 内网穿透
        • 6. 测试公网访问
        • 7. 配置二级子域名
        • 8. 测试使用固定二级子域名访问

前言

在沙箱环境调试支付 SDK 的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境中有多种支付场景,往往是多人联合开发,本地环境可能无法满足异地联合,所以把本地环境变成公网环境下进行调试开发会更好。

本次教程,我们将使用支付宝平台提供的沙箱环境,在本地配置测试模拟支付,并做内网穿透,通过 cpolar 穿透内网,实现在公网环境下的远程访问,无需公网 IP,也无需配置路由器。

1. 下载当面付 demo

进入支付宝开放平台沙箱应用(https://open.alipay.com/develop/sandbox/app),查看产品列表–>已支持的产品,选择一种支付场景,这里选择 当面付,然后点击查看文档

2023010901

然后下载官方提供 demo,有三种语言,这里以 java 语言为例,下载 java 版 demo

2023010902

2. 修改配置文件

demo 下载好后,把TradePayDemoTradePaySDK两个模块倒入开发工具中,这里以 IDEA 开发工具为例,需要注意,官方要求的 JDK 版本是 1.6

2023010903

倒入并且设置好 JDK 版本后,打开 TradePayDemo 下面的 zfbinfo.properties 配置文件,填写对应的信息

2023010904

注意配置文件情况:

  • 第一个配置信息 open_api_domain 的值需要设置成支付宝开发平台以下对应的值

2023010905

  • pid 和 appid 对应以下信息

2023010906

  • private_keypublic_keyalipay_public_key分别对应以下信息

2023010907

202301090801

修改好配置文件后,在 Main 启动类,右键运行 mian 方法运行测试配置文件是否正确,出现下单成功表示配置文件正确

2023010909

3. 打包成 web 服务

接下来把 TradePayDemo 这个 web 项目打包成 web 服务.

2023010910

2023010911

2023010912

接着右键重新运行 Main 类的 main 方法

2023010913

然后在输出的路径上可以看到出现了一个.war 的 web war 包

2023010914

接下来把这个 war 包放在 tomcat 中的 webapps 目录下运行.(这里 tomcat 版本为 8.5.84)

2023010915

运行 tomcat

2023010916

2023010917

4. 局域网测试

在浏览器上输入http://localhost+:端口号/TradePayDemo_war exploded/index.html,访问支付页面,出现如下界面表示成功

2023010918

5. 内网穿透

接着使用 cpolar 穿透本地支付宝支付沙箱环境 demo,使得远程可以进行访问沙箱环境进行测试。cpolar 支持 http/https/tcp 协议,不限制流量,操作简单,无需公网 IP,也无需路由器。

cpolar 官网:https://www.cpolar.com/

在本地安装 cpolar 内网穿透之后,在浏览器上访问本地 9200 端口,打开 cpolar web ui 界面:http://127.0.0.1:9200。

点击左侧仪表盘的隧道管理——创建隧道,由于 tomcat 中配置的是 8040 端口,因此我们要来创建一条 http 隧道,指向 8040 端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8040
  • 域名类型:免费选择随机域名
  • 地区:选择 China top

点击创建

2023010919

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到,刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来

2023010920

6. 测试公网访问

打开浏览器,访问刚刚复制的公网地址,出现如下界面表示公网访问成功

2023010921

7. 配置二级子域名

由于以上使用 cpolar 所创建的隧道使用的是随即公网地址,该地址为随机临时地址,24 小时内会发生变化,不利于长期远程访问。

因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn 已备案】

需要注意,配置固定二级子域名需要将 cpolar 升级到基础套餐或以上。

登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留

  • 地区:选择 china
  • 二级域名:可自定义
  • 描述:即备注,可自定义

地址保留成功后,将其复制下来,本例为alipayTest

2023010922

访问本地 9200 端口,打开 cpolar web ui 界面,点击左侧的隧道管理——隧道列表,找到支付接口测试隧道,点击右侧的编辑

2023010923

修改隧道信息:

  • 域名类型:选择二级域名
  • Sub Domain:填写刚刚保留成功的二级子域名

点击更新

2023010924

点击左侧的状态——打开在线隧道列表,可以看到公网地址已经更新成为了二级子域名,复制对应的公网地址

2023010925

8. 测试使用固定二级子域名访问

我们打开浏览器,访问我们刚刚配置成功的固定二级子域名,出现如下信息表示成功。

2023010926

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CSS】CSS三大特性、盒子模型

目录 CSS三大特性 1、层叠性 2、继承性 3、优先级 盒子模型 1、网页布局的本质 2、盒子模型(Box Model)组成 3、边框(border) 3.1、边框的使用 3.2、表格的细线边框 3.3、边框会影响盒子实际大小 4、内边距&#xff0…

通过前缀和来看golang的acm输入输出

前缀和 问题引入 package mainimport ("fmt" )func main() {var n, q, l, r intfmt.Scan(&n, &q)a : make([]int, n)ap : make([]int64, n 1)ap[0] 0for i : 0; i < n; i {fmt.Scan(&a[i])ap[i 1] ap[i] int64(a[i])}for j : 0; j < q; j {f…

创建型模式--1.单例模式【巴基速递】

1. 巴基的订单 在海贼世界中&#xff0c;巴基速递是巴基依靠手下强大的越狱犯兵力&#xff0c;组建的集团海贼派遣公司&#xff0c;它的主要业务是向世界有需要的地方输送雇佣兵&#xff08;其实是不干好事儿&#xff09;。 自从从特拉法尔加罗和路飞同盟击败了堂吉诃德家族 &…

【ArcGIS学习笔记】ArcMap打开就卡在文档加载界面好久不动,打开很慢,要好长时间

Arcmap之前用得好好&#xff0c;后来打开就卡在文档加载界面&#xff0c;然后界面就关闭了&#xff1f; - 知乎针对这一情况&#xff0c;主要有下面五种解决方法。其中&#xff0c;对于大部分用户而言&#xff0c;前两种方法大概率是可以解决问题的&#xff1b;…https://www.z…

RocketMQ的docker安装和SpringBoot的集成

1.Docker安装 1.1创建docker-compose.yml文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:servercontainer_name: rmqnamesrvports:- 9876:9876networks:rmq:aliases:- rmqnamesrvrmqbroker:image: foxiswho/rocketmq:brokercontainer_name: rmqbrokerports…

C++模板初阶(个人笔记)

模板初阶 1.泛型编程2.函数模板2.1函数模板的实例化2.2模板参数的匹配规则 3.类模板3.1类模板的实例化 1.泛型编程 泛型编程&#xff1a;编写与类型无关的通用代码&#xff0c;是代码复用的一种手段。模板是泛型编程的基础。 //函数重载 //交换函数的逻辑是一致的&#xff0c…

SpringBoot学习笔记四

SpringBoot学习笔记四-监听机制 1. SpringBoot监听器1.1 无需配置1.1.1 CommandLineRunner使用1.1.2 ApplicationRunner的使用1.1.3 CommandLineRunner与ApplicationRunner的区别 1.2 需要创建META-INF文件&#xff0c;并在其中创建spring.factories&#xff0c;配置相关的信息…

【CSDN创作优化2】内嵌图片 `<img>` 标签`height`和`width`属性

【CSDN创作优化2】内嵌图片 标签height和width属性 写在最前面<img> 标签简介控制图像尺寸&#xff1a;height和width属性实例为什么要指定height和width注意事项 使用百分比进行响应式设计小结 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字…

【赛题】2024年“认证杯”数模网络挑战赛赛题发布

2024年"认证杯"数学建模网络挑战赛——正式开赛&#xff01;&#xff01;&#xff01; 赛题已发布&#xff0c;后续无偿分享各题的解题思路、参考文献、完整论文可运行代码&#xff0c;帮助大家最快时间&#xff0c;选择最适合是自己的赛题。祝大家都能取得一个好成…

[dvwa] file upload

file upload 0x01 low 直接上传.php 内容写<? eval($_POST[jj]);?> 用antsword连 路径跳两层 0x02 medium 添加了两种验证&#xff0c;格式为图片&#xff0c;大小限制小于1000 上传 POST /learndvwa/vulnerabilities/upload/ HTTP/1.1 Host: dvt.dv Content-Le…

WORD——效率提升10倍的18个神操作

1、万能F4键 在Word中F4 键的功能是重复上一步操作&#xff0c;也就说上一步你做了什么操作&#xff0c;只要按F4键&#xff0c;它就会自动帮你重来一次。比如&#xff0c;合并单元格&#xff0c;你再也不用反复去点合并按钮&#xff0c;只要合并第一个单元格后&#xff0c;剩…

四种算法(麻雀搜索算法SSA、螳螂搜索算法MSA、红尾鹰算法RTH、霸王龙优化算法TROA)求解机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人&#xff08;Mobile robot&#xff0c;MR&#xff09;的路径规划是 移动机器人研究的重要分支之&#xff0c;是对其进行控制的基础。根据环境信息的已知程度不同&#xff0c;路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

第06章 网络传输介质

6.1 本章目标 了解双绞线分类和特性了解同轴电缆分类和特性了解光纤分类和特性了解无线传输介质分类和特性 6.2 传输介质分类 现在社会还是以有线介质为主 计算机通信 - 有线通信 - 无线通信有线通信传输介质 - 双绞线 - 同轴电缆 - 光导纤维无线通信 - 卫星 - 微波 - 红外…

【SpringBoot】-- 项目实现微信公众号扫码登录

目录 一、业务需求 二、内网穿透 三、服务器配置 ​编辑 四、依赖引入 pom.xml 五、验证服务器有效性 代码 controller类 SHA1工具类 六、用户订阅后自动回复消息 代码 controller类 MessageUtil工具类 七、用户发送文本消息后回复消息 代码 controller类 八、…

基于SpringBoot+Vue的工厂生产设备维护管理系统(源码+文档+部署+讲解)

一.系统概述 随着社会的发展&#xff0c;系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息&#xff0c;但各种信息鱼龙混杂&#xff0c;信息真假难以辨别。为了方便用户更好的获得工厂生产设备维护信息&#xff0c;因此&#xff0c;设计一种安全高效的工厂生产设备…

示波器接上机器板子信号就正常工作,拿下来就机器不正常工作

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 送给大学毕业后找不到奋斗方向的你&#xff08;每周不定时更新&#xff09; 【牛客网】构建从学习到职业的良性生态圈 中国计算…

Windows系统安装WinSCP结合内网穿透实现公网远程SSH本地服务器

List item 文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本…

一文读懂RISC-V与ARM

RISC-V和ARM是近年来备受关注的两种处理器架构。RISC-V是一种基于精简指令集计算(RISC)原理的开源指令集架构(ISA)&#xff0c;而ARM是一种专有ISA&#xff0c;由于其长期存在于嵌入式系统和移动设备中&#xff0c;已成为嵌入式系统和移动设备的主导选择。市场以及多年积累的信…

前端开发攻略---利用Flexbox和Margin实现智能布局:如何巧妙分配剩余空间,让你的网页设计更上一层楼?

1、演示 2、flex布局 Flex布局是一种用于Web开发的弹性盒子布局模型&#xff0c;它可以让容器内的子元素在空间分配、对齐和排列方面具有更大的灵活性。以下是Flex布局的基本用法&#xff1a; 容器属性&#xff1a; display: flex;&#xff1a;将容器指定为Flex布局。flex-dire…

Realme GT Neo6 SE ROOT 解锁BL教程

Realme GTNeo6 SE 解锁ROOT教程 前言&#xff1a; 本文解锁BL教程以及深度测试APP来自Realme官方社区。相关操作流程已进行简化&#xff0c;工具由本人制作并提供&#xff0c;降低上手难度&#xff0c;傻瓜式操作&#xff08;工具长期免费更新&#xff09;。 正文&#xff1a…