可组合的开源支付基础设施
📁 目录
我能用 Hyperswitch 做什么?
Hyperswitch 提供模块化、开源的支付基础设施,旨在实现灵活性和可控性。除了我们的 Payment Suite 产品外,该解决方案允许企业在现有支付栈之上,仅选择并集成其所需的模块——无需不必要的复杂性或供应商锁定。
每个模块都是独立的,并专为优化支付处理的不同方面而设计。
了解更多关于支付模块的信息
-
成本可观测性
先进的可观测性工具,用于审计、监控和优化您的支付成本。通过自助式仪表板和可操作的洞察,检测隐藏费用、降级和罚款。
阅读更多 -
收入恢复
通过根据卡 BIN、地区、支付方式等调整的智能重试策略,对抗被动流失。提供对重试算法、罚款预算和恢复透明度的细粒度控制。
阅读更多 -
Vault
符合 PCI 标准的 Vault 服务,用于存储卡、令牌、钱包和银行凭证。提供统一、安全且可复用的客户关联支付方式存储。还支持 bring-your-own-vault,以连接现有提供商(包括 VGS 和 TokenEx),而无需重新令牌化或迁移已存储的卡。
阅读更多 -
智能路由
将每笔交易路由至 Stripe、Adyen、Braintree、Worldpay、Checkout.com 及其他 120 多家 PSP 中预测授权成功率最高的服务商。减少重试,避免停机,最小化延迟,同时最大化首次尝试成功率。
阅读更多 -
对账
自动化双向和三方对账,支持回溯日期、错峰调度及可定制输出。减少人工运维工作量,提高审计信心。
阅读更多 -
替代支付方式
提供 PayPal、Apple Pay、Google Pay、Samsung Pay、Pay by Bank 以及 Klarna 等 BNPL 提供商的嵌入式组件。通过无缝的一键结账最大化转化率。
阅读更多
快速入门
通过 Docker 进行本地设置
# One-click local setup
git clone --depth 1 --branch latest https://github.com/juspay/hyperswitch
cd hyperswitch
scripts/setup.sh
此脚本:
- 检测 Docker/Podman
- 提供多种部署配置:
- 标准:应用服务器 + 控制中心
- 完整:包含监控 + 调度器
- 最小:独立应用服务器
- 完成后提供访问链接
如需更多帮助,请查看我们的视频教程。
托管沙盒(无需设置)
Hyperswitch 提供一个完全托管的沙盒环境,无需任何设置。您可以直接在 UI 中探索控制中心、配置支付连接器并测试支付。
您可以在托管沙箱中执行的操作
- 访问完整的 Control Center
- 配置支付连接器
- 查看日志、路由规则和重试策略
- 直接从 UI 尝试支付
云部署
您可以使用 Helm Charts 部署到 AWS、GCP 或 Azure。
架构概览
为什么选择 Hyperswitch?
Hyperswitch 是一个专为规模、灵活性和开发者体验而打造的商业开源支付栈。采用模块化架构设计,Hyperswitch 允许您仅选择所需的组件——无论是路由、重试、保险库还是可观测性——无需供应商锁定或臃肿的集成。
Hyperswitch 使用 Rust 构建,以确保性能和可靠性,它连接 Stripe、Adyen、Braintree、Worldpay、Checkout.com、Cybersource 以及 120 多个处理器——暴露智能路由和重试逻辑,并在 Control Center 中提供可视化工作流构建器。无论您是集成完整的支付套件,还是使用单个模块增强现有栈,Hyperswitch 都能满足您的需求。
常见的起点:从单一的 Stripe/ Stripe connect 或 Braintree 集成转向多 PSP 路由的团队,用与 TSYS、JP Morgan Payments 或其他收单机构的直接连接替换支付网关的商户,以及通过 Hyperswitch 重构其支付平台同时保留现有 VGS、TokenEx 或其他现有保险库的商户。
“支付领域的 Linux” — Hyperswitch 是为希望拥有自己支付技术栈的团队精心设计的参考范例。
我们坚信:
-
拥抱支付多样性: 创新源于赋予选择权——跨越支付方式、处理器和流程。
-
默认开源: 透明度驱动信任并构建更好、可复用的软件。
-
社区驱动开发: 我们的路线图由真实世界的使用案例和贡献者塑造。
-
系统级工程: 我们对可靠性、安全性和性能保持高标准。
-
最大化价值创造: 面向开发者、客户和合作伙伴。
-
社区驱动,企业级验证: Hyperswitch 在开放环境中构建,获得来自开发者和贡献者的真实世界反馈,并由 Juspay 维护,该团队为全球 400 多家领先企业提供支付基础设施支持。
支持的连接器
Hyperswitch 开箱即用地集成了 100 多家支付处理器。每个连接器都有专门的指南,涵盖凭证设置、Webhook 配置、支持的支付方式以及常见故障模式。
| 处理器 | 类型 | 指南 |
|---|---|---|
| Global Payments | 支付网关 | 查看 → |
| Stripe | 支付网关 | 查看 → |
| Paypal | 支付网关 | 查看 → |
| Adyen | 支付网关 | 查看 → |
| Bank of America | 支付网关 | 查看 → |
Hyperswitch 生态系统映射
Hyperswitch 构建为一组协同工作的模块化服务和 SDK。本仓库中的 Rust 应用服务器是核心,以下仓库通过仪表盘、客户端 SDK 和部署工具对其进行扩展。
1. 核心后端服务
处理支付请求的 Rust 服务。应用服务器是核心枢纽;保险库和加密服务与其协同处理敏感数据操作。hyperswitch-prism 是一个独立的轻量级入口点:一个统一的连接器库,可直接对接支付处理器,而无需运行完整的 switch。decision-engine 是另一个独立服务:一个路由控制平面,可为每笔交易选择最佳网关,并可独立于任何编排器运行。
| hyperswitch | card-vault | encryption-service | prism | decision-engine | |
|---|---|---|---|---|---|
| 语言 | Rust | Rust | Rust | Rust | Rust |
| 角色 | 应用服务器。路由、重试、保险库存储、可观测性。 | 符合 PCI 标准的卡片存储。 | 加密、解密、KMS。 | 统一连接器库,支持 100+ 处理器。 | 路由控制平面。基于规则和成功率的网关选择。独立运行,可与任何编排器配合使用。 |
| 依赖 | card-vault, encryption-service | encryption-service | 无 | 无 | 无 |
2. 仪表盘
面向商户的 UI,用于配置连接器、路由以及查看交易。两者都需要 hyperswitch 后端处于运行状态。
| control-center | control-center-embedded | |
|---|---|---|
| Language | ReScript | TypeScript |
| Role | 完整的商户仪表盘。连接器、路由规则、分析、API 密钥。 | 可嵌入的 Hyperswitch 组件,供合作伙伴和商户在其自有应用中展示 Hyperswitch UI。 |
| Depends on | hyperswitch backend | hyperswitch backend |
3. Web checkout SDKs
浏览器如何与 Hyperswitch 通信。hyperswitch-client-core 是共享核心,作为 git 子模块被每个客户端 SDK(Web 和移动)引入。hyperswitch-sdk-utils 包含共享资源,执行 Headless Implementations 的商户直接消费这些资源。
| hyperswitch-web | client-core | react-hyper-js | sdk-utils | |
|---|---|---|---|---|
| Language | ReScript | ReScript | ReScript | ReScript |
| Distribution | npm | git submodule | npm | git submodule |
| Role | 主要 Web SDK。使用 ReScript 构建的 React 库,用于统一结账。 | 共享 SDK 核心,被每个客户端 SDK 间接消费。 | Hyper JS 加载器的惯用 React 封装。 | 在 client-core 和 hyperswitch-web 中使用的共享工具和资源。 |
| Depends on | hyperswitch backend | None | hyperswitch-web | None |
4. Mobile SDKs
用于将 Hyperswitch 结账嵌入移动应用的本地 SDK。所有 SDK 均基于 hyperswitch-client-core 构建,作为 git 子模块引入。
| Android | iOS | React Native | Flutter | |
|---|---|---|---|---|
| Repository | hyperswitch-sdk-android | hyperswitch-sdk-ios | react-native-hyperswitch | flutter_hyperswitch |
| Language | Kotlin | Swift | TypeScript | Dart |
| Distribution | Maven | CocoaPods (SPM in progress) | npm | pub.dev |
| Status | Officially supported | Officially supported | Officially supported | Officially supported |
[!IMPORTANT] 一个较旧的仓库
hyperswitch-sdk-react-native正在被弃用,并且已从 npm 中移除。请改用react-native-hyperswitch。
5. Deployment & infrastructure
用于运行 Hyperswitch 的工具,涵盖从本地开发到生产环境的各个阶段。
| hyperswitch-suite | hyperswitch-helm | |
|---|---|---|
| Tooling | Terraform (HCL) | Helm charts |
| Role | 将核心、vault、control-center 和 web 连接在一起的伞式全套部署。推荐作为完整技术栈的起点。 | 适用于 GCP、Azure 或任何 K8s 兼容平台的 Kubernetes 部署。 |
Contributing
我们欢迎来自世界各地的贡献者帮助构建 Hyperswitch。无论您是修复 bug、改进文档还是添加新功能,您的帮助都值得感激。
请阅读我们的 contributing guidelines 以开始贡献。
加入 Slack 上的讨论,或在 GitHub 上探索开放的问题。
Feature requests & Bugs
对于新的产品功能、增强、路线图讨论,或分享疑问和想法,请访问我们的 GitHub Discussions
对于报告 bug,请阅读 issue 指南并搜索 现有和已关闭的 issue。如果你的问题或想法尚未被处理,请 打开一个新的 issue。
版本管理
请查看 CHANGELOG.md 文件以获取详细信息。
版权与许可证
本产品基于 Apache 2.0 License 授权。