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

news2024/11/27 8:25:47

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
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.coloradmin.cn/o/1577363.html

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

相关文章

qt 打印日志

在 Qt Creator 中,将 QDebug、QInfo、QWarning、QCritical 和 QFatal 打印的日志输出到指定文件,需要设置 Qt 的消息处理机制。这通常涉及到安装一个自定义的消息处理器,该处理器将日志消息重定向到文件。以下是一个基本的步骤指南&#xff1…

鸿蒙实现一种仿小红书首页滑动联动效果

前言: DevEco Studio版本:4.0.0.600 效果描述:通过手指滑动列表,控制位置显示效果为:不论列表在什么位置下滑时下图粉色位置布局显示,手指上滑时下图粉色位置布局隐藏。 效果: 原理分析&…

【分治算法】大整数乘法Python实现

文章目录 [toc]问题描述基础算法时间复杂性 优化算法时间复杂性 Python实现 个人主页:丷从心. 系列专栏:Python基础 学习指南:Python学习指南 问题描述 设 X X X和 Y Y Y都是 n n n位二进制整数,计算它们的乘积 X Y XY XY 基础…

System Verilog中的线程fork...join_none的#0时延

System Verilog 首先对fork…join_none里的线程进行调度,但是由于#0时延阻塞了当前线程,并且将它重新调度到当前时间片之后启动时延使得当前线程必须等到所有在fork…join_none语句中产生的线程执行完之后才得以运行。 program no_auto;initial beginfo…

二叉树练习day.3

104.二叉树的最大深度 链接:. - 力扣(LeetCode) 题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root…

使用单点登录(SSO)如何提高安全性和用户体验

什么是单点登录(SSO) 对于所有大量采用云应用程序的组织来说,有效的身份管理是一个巨大的挑战,如果每个 SaaS 应用程序的用户身份都是独立管理的,则用户必须记住多个密码,技术支持技术人员在混合环境中管理…

JavaScript - 你遇到过哪几种Javascript的错误类型

难度级别:中级及以上 提问概率:50% 我们在开发Javascript代码的时候,经常一不小心就会遇到各种各样的异常,浏览器也会及时给出错误信息,那么一般会遇到哪几种异常情况呢,我们来看一下。 1 ReferenceError错误 ReferenceError几乎是最…

「漫画」数据工程师面试常见问题之数据倾斜

话说,闹钟一响,现实照进梦想,又是李大虎面试找工作的一天。 李大虎心里一直有个想法,如果一天睡20个小时,然后这20个小时全做美梦,醒来的4个小时用来吃喝拉撒,这样岂不就和那些富二代一样了&am…

网络基础——vrrp

前言:除了一个MPLS这个协议,其他的协议都差不多会在后面介绍,但是MPLS却不会介绍,因为自己本人学的不是很好,而且在企业网中,接触的机会也更少,除非是做ISP网络的,下面会先介绍VRRP和…

大学课堂点名程序

大学课堂点名程序 目录 main.py import tkinter as tk import pygame import csv import random from datetime import datetime from tkinter import messagebox from tkinter import simpledialog input_data="student1" def langDu(text):print(text)pygame.mi…

CSS常见样式

字体相关的样式 <style>div{/* 斜体 */font-style: italic;/* 加粗 100-900*/font-weight: 900;/* 字体大小 */font-size: 20px;/* 声明字体格式 */font-family: "微软雅黑";}</style> div内部文字垂直居中 只需要将行高设为其height的大小即可。 div{…

C语言高效的网络爬虫:实现对新闻网站的全面爬取

1. 背景 搜狐是一个拥有丰富新闻内容的网站&#xff0c;我们希望能够通过网络爬虫系统&#xff0c;将其各类新闻内容进行全面地获取和分析。为了实现这一目标&#xff0c;我们将采用C语言编写网络爬虫程序&#xff0c;通过该程序实现对 news.sohu.com 的自动化访问和数据提取。…

Golang 开发实战day06 - Boolean Conditional

&#x1f3c6;个人专栏 &#x1f93a; leetcode &#x1f9d7; Leetcode Prime &#x1f3c7; Golang20天教程 &#x1f6b4;‍♂️ Java问题收集园地 &#x1f334; 成长感悟 欢迎大家观看&#xff0c;不执着于追求顶峰&#xff0c;只享受探索过程 Golang 教程06 - Boolean &a…

FIN和RST的区别,几种TCP连接出现RST的情况

一、RST跟FIN的区别&#xff1a; 正常关闭连接的时候发的包是FIN&#xff0c;但是如果是异常关闭连接&#xff0c;则发送RST包 两者的区别在于&#xff1a; 1.RST不必等缓冲区的包都发出去&#xff0c;直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…

前端自动化测试-Jest

前端自动化测试 Jest官网&#xff1a;https://jestjs.io 安装方式 npm install --save-dev jest yarn add --dev jest cnpm add --save-dev jest 使用方法 所有以 .test.js 结尾的都是测试文件 基础用法示例 num.js&#xff1a; export function getSum (a, b) {return a b…

Vulnhub:MHZ_CXF: C1F

目录 信息收集 arp-scan nmap nikto WEB web信息收集 dirmap gobuster ssh登录 提权 获得初始立足点 系统信息收集 横向渗透 提权 信息收集 arp-scan ┌──(root㉿ru)-[~/桌面] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:50:56:…

YOLOV9 + 双目测距

YOLOV9 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov9-stereo.py 4. 实验结果4.1 测距4.2 视频展示 相关文章 1. YOLOV5 双目测距&#xff08;python&#xff09; 2. YOLOv7双目…

智慧能耗预付费系统解决方案——用户侧能源计量及收费

安科瑞电气股份有限公司 祁洁 15000363176 一、方案组织架构 二、方案特点 &#xff08;1&#xff09;多样组网&#xff0c;多样设备接入&#xff0c;多样部署&#xff1b; &#xff08;2&#xff09;集团管理、项目分级、分层拓扑&#xff1b; &#xff08;3&#xff09…

三流大学毕业,物流专业转行自述:“从月薪4K到现在月入2W+,我做到了哪些?”

我是25岁转行学python的。说实在&#xff0c;转行就是奔着挣钱去的。希望我的经历可以给想转行的朋友带来一点启发和借鉴。 先简单介绍下个人背景&#xff0c;三流大学毕业&#xff0c;物流专业&#xff0c;学习能力一般&#xff0c;没啥特别技能&#xff0c;反正就很普通的一…

Linux使用宝塔面板部署Discuz结合内网穿透实现公网访问本地论坛

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…