ITADN
juspay/hyperswitch
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Hyperswitch-Logo Hyperswitch-Logo

可组合的开源支付基础设施

Quickstart demo


📁 目录

我能用 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 是另一个独立服务:一个路由控制平面,可为每笔交易选择最佳网关,并可独立于任何编排器运行。

hyperswitchcard-vaultencryption-serviceprismdecision-engine
语言RustRustRustRustRust
角色应用服务器。路由、重试、保险库存储、可观测性。符合 PCI 标准的卡片存储。加密、解密、KMS。统一连接器库,支持 100+ 处理器。路由控制平面。基于规则和成功率的网关选择。独立运行,可与任何编排器配合使用。
依赖card-vault, encryption-serviceencryption-service

2. 仪表盘

面向商户的 UI,用于配置连接器、路由以及查看交易。两者都需要 hyperswitch 后端处于运行状态。

control-centercontrol-center-embedded
LanguageReScriptTypeScript
Role完整的商户仪表盘。连接器、路由规则、分析、API 密钥。可嵌入的 Hyperswitch 组件,供合作伙伴和商户在其自有应用中展示 Hyperswitch UI。
Depends onhyperswitch backendhyperswitch backend

3. Web checkout SDKs

浏览器如何与 Hyperswitch 通信。hyperswitch-client-core 是共享核心,作为 git 子模块被每个客户端 SDK(Web 和移动)引入。hyperswitch-sdk-utils 包含共享资源,执行 Headless Implementations 的商户直接消费这些资源。

hyperswitch-webclient-corereact-hyper-jssdk-utils
LanguageReScriptReScriptReScriptReScript
Distributionnpmgit submodulenpmgit submodule
Role主要 Web SDK。使用 ReScript 构建的 React 库,用于统一结账。共享 SDK 核心,被每个客户端 SDK 间接消费。Hyper JS 加载器的惯用 React 封装。在 client-core 和 hyperswitch-web 中使用的共享工具和资源。
Depends onhyperswitch backendNonehyperswitch-webNone

4. Mobile SDKs

用于将 Hyperswitch 结账嵌入移动应用的本地 SDK。所有 SDK 均基于 hyperswitch-client-core 构建,作为 git 子模块引入。

AndroidiOSReact NativeFlutter
Repositoryhyperswitch-sdk-androidhyperswitch-sdk-iosreact-native-hyperswitchflutter_hyperswitch
LanguageKotlinSwiftTypeScriptDart
DistributionMavenCocoaPods (SPM in progress)npmpub.dev
StatusOfficially supportedOfficially supportedOfficially supportedOfficially supported

[!IMPORTANT] 一个较旧的仓库 hyperswitch-sdk-react-native 正在被弃用,并且已从 npm 中移除。请改用 react-native-hyperswitch

5. Deployment & infrastructure

用于运行 Hyperswitch 的工具,涵盖从本地开发到生产环境的各个阶段。

hyperswitch-suitehyperswitch-helm
ToolingTerraform (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 授权。