hyperswitch is a Payment Switch that lets you connect with multiple payment processors with a single API integration. Once integrated, you can add new payment processors and route traffic effortlessly. Using hyperswitch, you can:
hyperswitch is wire-compatible with top processors like Stripe making it easy to integrate.
You have two options to try out hyperswitch:
If you are already using Stripe, integrating with hyperswitch is fun, fast & easy. Try the steps below to get a feel for how quick the setup is:
Features | Stripe | Adyen | Checkout | Authorize.net | ACI |
---|---|---|---|---|---|
Payments - CRUD, Confirm | |||||
Customers - CRUD | |||||
Refunds | WIP | ||||
Mandates | WIP | WIP | WIP | WIP | |
PCI Compliance |
The hosted version provides the following additional features:
System Performance & Reliability
Value Added Services
Payment Operations Support
Within the repositories you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations.
The current setup contains a single repo, which contains the core payment router and the various connector integrations under the src/connector
sub-directory.
├── config : config files for router. This stores the initial startup config and separate configs can be provided for debug/release builds.
├── crates : sub-crates
│ ├── masking : making pii information for pci and gdpr compliance
│ ├── router : the main crate
│ └── router_derive : utility macros for the router crate
├── docs : hand written documentation
├── examples : examples
├── logs : logs generated at runtime
├── migrations : diesel db setup
├── openapi : API definition
├── postman : postman scenarios for API
└── target : generated files
We believe payments should be open, fast and cheap.
hyperswitch would allow everyone to quickly customize and set up an open payment switch, while giving a unified experience to your users, abstracting away the ever shifting payments landscape.
The hyperswitch journey starts with a payment orchestrator. It was born from our struggle to understand and integrate various payment options/payment processors/networks and banks, with varying degrees of documentation and inconsistent API semantics.
This project is created and currently maintained by Juspay.
We welcome contributions from the open source community. Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.
Important note for Rust developers: We aim for contributions from the community across a broad range of tracks.
Hence, we have prioritized simplicity and code readability over purely idiomatic code.
For example, some of the code in core functions (e.g. payments_core
) is written to be more readable rather than being pure-idiomatic.
Get updates on hyperswitch development and chat with the community:
Please read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
Check the CHANGELOG.md file for details.
This product is licensed under the Apache 2.0 License.