Hyperswitch项目本地环境搭建与API测试指南
前言
Hyperswitch是一个开源的支付路由系统,本文将为开发者详细介绍如何在本地环境中搭建Hyperswitch项目并进行API测试。无论你是想快速体验Hyperswitch的功能,还是准备参与项目开发,本文都将提供全面的指导。
一、环境搭建方案选择
Hyperswitch提供了多种本地运行方案,开发者可根据自身需求选择:
-
Docker Compose方案(推荐新手使用)
- 最简单快捷的部署方式
- 适合快速体验系统功能
- 无需安装额外依赖
-
开发环境方案
- 适合需要修改代码的开发者
- 提供完整的开发环境
- 支持代码热更新
-
Nix环境方案(实验性)
- 提供可复现的开发环境
- 自动管理依赖项
- 适合高级用户
-
原生Rust环境方案
- 需要手动安装所有依赖
- 提供最大的灵活性
- 适合Rust开发者
二、Docker Compose快速部署
准备工作
- 确保系统已安装Docker Compose或Podman Compose
- 建议分配至少4GB内存给Docker
部署步骤
-
获取项目代码:
git clone --depth 1 --branch latest https://github.com/juspay/hyperswitch cd hyperswitch
-
启动服务:
scripts/setup.sh
-
根据提示选择配置选项:
- 基础服务:支付路由核心功能
- 附加服务:调度器和监控服务(可选)
-
验证服务状态:
curl -I http://localhost:8080/health
返回200状态码表示服务已就绪
三、开发环境搭建
1. 基于Docker的开发环境
docker compose -f docker-compose-development.yml up -d
注意:首次编译可能需要30分钟以上,取决于机器性能
2. Nix开发环境(实验性)
安装Nix
curl -L https://detsys.dev/nix-installer | sh
启动依赖服务
nix run .#ext-services
该命令会启动:
- PostgreSQL数据库(已预配置)
- Redis缓存服务
四、原生Rust环境搭建
系统依赖安装
Ubuntu/WSL2
sudo apt update
sudo apt install postgresql redis-server libpq-dev pkg-config libssl-dev
MacOS
brew install postgresql@14 redis openssl
Windows
建议使用WSL2或直接安装PostgreSQL和Redis
Rust工具链安装
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
数据库配置
-
创建数据库用户:
sudo -u postgres psql -c "CREATE USER hyperswitch WITH PASSWORD 'password' CREATEDB;"
-
创建数据库:
sudo -u postgres psql -c "CREATE DATABASE hyperswitch_db;"
-
运行迁移:
export DATABASE_URL=postgres://hyperswitch:password@localhost:5432/hyperswitch_db diesel migration run
五、应用配置与启动
配置文件说明
配置文件位于config/
目录:
development.toml
- 开发环境配置sandbox.toml
- 沙盒环境配置production.toml
- 生产环境配置
启动应用
cargo run
或使用Nix:
nix run
六、API测试指南
1. 商户账户设置
- 获取管理员API密钥(位于config文件中)
- 配置Postman环境变量:
baseUrl
: http://localhost:8080admin_api_key
: 你的管理员密钥
2. 创建API密钥
使用管理员密钥调用/api_keys
接口创建业务API密钥
3. 支付连接器配置
- 选择支持的支付处理器(如Stripe、PayPal)
- 配置商户账户凭证
4. 支付流程测试
curl -X POST http://localhost:8080/payments \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"amount": 1000,
"currency": "USD",
"payment_method": "card"
}'
5. 退款流程测试
curl -X POST http://localhost:8080/refunds \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"payment_id": "PAYMENT_ID",
"amount": 1000
}'
常见问题解决
-
编译时间过长:
- 确保系统有足够内存(建议8GB以上)
- 使用
cargo build --release
进行优化编译
-
数据库连接问题:
- 检查PostgreSQL服务是否运行
- 验证
DATABASE_URL
环境变量配置
-
Redis连接问题:
- 检查Redis服务状态
- 确认配置文件中Redis地址正确
结语
通过本文的指导,你应该已经成功在本地搭建了Hyperswitch环境并进行了基础API测试。Hyperswitch作为支付路由系统,其强大之处在于能够统一多个支付处理器的接口,为开发者提供一致的支付体验。如需进一步了解系统架构和高级功能,建议查阅项目文档中的架构设计部分。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考