diff --git a/README.md b/README.md index 710b6b2b71e0..3306de287045 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,13 @@

- HyperSwitch-Logo - HyperSwitch-Logo + Hyperswitch-Logo + Hyperswitch-Logo

-

-Unified Payments Switch. Fast. Reliable. Affordable. -

-

- - - - - - -

+

The open-source payments switch

+ +
+The single API to access payment ecosystems across 130+ countries

Quick Start Guide β€’ @@ -29,28 +22,48 @@ Versioning β€’ Copyright and License

+ +

+ + + + + + + + + +

+ +

πŸŽ‰ Hacktoberfest is here! πŸŽ‰

+ +New to Rust? Hyperswitch is the perfect place to start this hacktoberfest! 😁 + +> ⭐️ If you're new to Hacktoberfest, you can learn more and register to participate [here](https://hacktoberfest.com/participation/). Registration is from **September 26th - October 31st**. + +
+ + +Hyperswitch is an open source payments switch to make payments fast, reliable, and, affordable. +It lets you connect with multiple payment processors and route traffic effortlessly, all with a single API integration. + -HyperSwitch is an Open Source Financial Switch to make payments **Fast, Reliable -and Affordable**. -It lets you connect with multiple payment processors and route traffic -effortlessly, all with a single API integration. -Using HyperSwitch, you can: +Using Hyperswitch, you can: -- **Reduce dependency** on a single processor like Stripe or Braintree -- **Reduce Dev effort** by 90% to add & maintain integrations -- **Improve success rates** with seamless failover and auto-retries -- **Reduce processing fees** with smart routing -- **Customize payment flows** with full visibility and control -- **Increase business reach** with local/alternate payment methods +- ⬇️ **Reduce dependency** on a single processor like Stripe or Braintree +- πŸ§‘β€πŸ’» **Reduce Dev effort** by 90% to add & maintain integrations +- πŸš€ **Improve success rates** with seamless failover and auto-retries +- πŸ’Έ **Reduce processing fees** with smart routing +- 🎨 **Customize payment flows** with full visibility and control +- 🌐 **Increase business reach** with local/alternate payment methods -> HyperSwitch is **wire-compatible** with top processors like Stripe, making it -> easy to integrate. +> Hyperswitch is **wire-compatible** with top processors like Stripe, making it easy to integrate.
-HyperSwitch-Product +Hyperswitch-Product -## Quick Start Guide +## ⚑️ Quick Start Guide @@ -71,9 +84,9 @@ Ways to get started with Hyperswitch: setup required in your system. Suitable if you like to customise the core offering, [setup guide](/docs/try_local_system.md) -## Fast Integration for Stripe Users +## πŸ”Œ Fast Integration for Stripe Users -If you are already using Stripe, integrating with HyperSwitch is fun, fast & +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: @@ -84,13 +97,12 @@ Try the steps below to get a feel for how quick the setup is: [dashboard]: https://app.hyperswitch.io/register [migrate-from-stripe]: https://hyperswitch.io/docs/migrateFromStripe -## Supported Features +## βœ… Supported Features -### Supported Payment Processors and Methods +### 🌟 Supported Payment Processors and Methods -As of Apr 2023, we support 30 payment processors and multiple payment methods. -In addition, we are continuously integrating new processors based on their reach -and community requests. +As of Sept 2023, we support 50+ payment processors and multiple global payment methods. +In addition, we are continuously integrating new processors based on their reach and community requests. Our target is to support 100+ processors by H2 2023. You can find the latest list of payment processors, supported methods, and features @@ -98,7 +110,7 @@ features [supported-connectors-and-features]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQWHLza9m5iO4Ol-tEBx22_Nnq8Mb3ISCWI53nrinIGLK8eHYmHGnvXFXUXEut8AFyGyI9DipsYaBLG/pubhtml?gid=0&single=true -### Hosted Version +### 🌟 Hosted Version In addition to all the features of the open-source product, our hosted version provides features and support to manage your payment infrastructure, compliance, @@ -129,12 +141,12 @@ analytics, and operations end-to-end: You can [try the hosted version in our sandbox][dashboard]. -## FAQs +## πŸ€” FAQs Got more questions? Please refer to our [FAQs page][faqs]. -[faqs]: https://hyperswitch.io/docs/websiteFAQ +[faqs]: https://hyperswitch.io/docs/devSupport -## What's Included +## What's Included❓ Within the repositories, you'll find the following directories and files, logically grouping common assets and providing both compiled and minified @@ -161,50 +173,48 @@ and the various connector integrations under the `src/connector` sub-directory. - - -### Files Tree Layout +### 🌳 Files Tree Layout ```text -β”œβ”€β”€ config : config files for the router. This stores the initial startup-config; 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 +. +β”œβ”€β”€ config : Initial startup config files for the router +β”œβ”€β”€ connector-template : boilerplate code for connectors +β”œβ”€β”€ crates : sub-crates +β”‚ β”œβ”€β”€ api_models : Request/response models for the `router` crate +β”‚ β”œβ”€β”€ cards : Types to handle card masking and validation +β”‚ β”œβ”€β”€ common_enums : Enums shared across the request/response types and database types +β”‚ β”œβ”€β”€ common_utils : Utilities shared across `router` and other crates +β”‚ β”œβ”€β”€ data_models : Represents the data/domain models used by the business/domain layer +β”‚ β”œβ”€β”€ diesel_models : Database models shared across `router` and other crates +β”‚ β”œβ”€β”€ drainer : Application that reads Redis streams and executes queries in database +β”‚ β”œβ”€β”€ external_services : Interactions with external systems like emails, KMS, etc. +β”‚ β”œβ”€β”€ masking : Personal Identifiable Information protection +β”‚ β”œβ”€β”€ redis_interface : A user-friendly interface to Redis +β”‚ β”œβ”€β”€ router : Main crate of the project +β”‚ β”œβ”€β”€ router_derive : Utility macros for the `router` crate +β”‚ β”œβ”€β”€ router_env : Environment of payment router: logger, basic config, its environment awareness +β”‚ β”œβ”€β”€ scheduler : Scheduling and executing deferred tasks like mail scheduling +β”‚ β”œβ”€β”€ storage_impl : Storage backend implementations for data structures & objects +β”‚ └── test_utils : Utilities to run Postman and connector UI tests +β”œβ”€β”€ docs : hand-written documentation +β”œβ”€β”€ loadtest : performance benchmarking setup +β”œβ”€β”€ migrations : diesel DB setup +β”œβ”€β”€ monitoring : Grafana & Loki monitoring related configuration files +β”œβ”€β”€ openapi : automatically generated OpenAPI spec +β”œβ”€β”€ postman : postman scenarios API +└── scripts : automation, testing, and other utility scripts ``` -## Join us in building HyperSwitch +## πŸ’ͺ Join us in building Hyperswitch -### Our Belief +### 🀝 Our Belief > Payments should be open, fast, reliable and affordable to serve > the billions of people at scale. - - Globally payment diversity has been growing at a rapid pace. There are hundreds of payment processors and new payment methods like BNPL, RTP etc. @@ -212,10 +222,10 @@ Businesses need to embrace this diversity to increase conversion, reduce cost and improve control. But integrating and maintaining multiple processors needs a lot of dev effort. Why should devs across companies repeat the same work? -Why can't it be unified and reused? Hence, HyperSwitch was born to create that +Why can't it be unified and reused? Hence, Hyperswitch was born to create that reusable core and let companies build and customise it as per their specific requirements. -### Our Values +### ✨ Our Values 1. Embrace Payments Diversity: It will drive innovation in the ecosystem in multiple ways. @@ -226,13 +236,13 @@ reusable core and let companies build and customise it as per their specific req Security and Performance SLAs. 5. Maximise Value Creation: For developers, customers & partners. -### Contributing +### 🀍 Contributing This project is being created and maintained by [Juspay](https://juspay.in), South Asia's largest payments orchestrator/switch, processing more than 50 Million transactions per day. The solution has 1Mn+ lines of Haskell code built over ten years. -HyperSwitch leverages our experience in building large-scale, enterprise-grade & +Hyperswitch leverages our experience in building large-scale, enterprise-grade & frictionless payment solutions. It is built afresh for the global markets as an open-source product in Rust. We are long-term committed to building and making it useful for the community. @@ -244,17 +254,17 @@ We welcome contributions from the community. Please read through our Included are directions for opening issues, coding standards, and notes on development. -**Important note for Rust developers**: We aim for contributions from the community +πŸ¦€ **Important note for Rust developers**: We aim for contributions from the community across a broad range of tracks. Hence, we have prioritised 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 than pure-idiomatic. -## Community +## πŸ‘₯ Community -Get updates on HyperSwitch development and chat with the community: +Get updates on Hyperswitch development and chat with the community: -- Read and subscribe to [the official HyperSwitch blog][blog]. +- Read and subscribe to [the official Hyperswitch blog][blog]. - Join our [Discord server][discord]. - Join our [Slack workspace][slack]. - Ask and explore our [GitHub Discussions][github-discussions]. @@ -264,7 +274,25 @@ Get updates on HyperSwitch development and chat with the community: [slack]: https://join.slack.com/t/hyperswitch-io/shared_invite/zt-1k6cz4lee-SAJzhz6bjmpp4jZCDOtOIg [github-discussions]: https://github.com/juspay/hyperswitch/discussions -## Bugs and feature requests +
+
+ + Hyperswitch - Fast, reliable, and affordable open source payments switch | Product Hunt + +
+
+ + Hyperswitch - Fast, reliable, and affordable open source payments switch | Product Hunt + +
+
+ + Hyperswitch - Fast, reliable, and affordable open source payments switch | Product Hunt + +
+
+ +## 🐞 Bugs and feature requests 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]. @@ -272,10 +300,19 @@ If your problem or idea is not addressed yet, please [open a new issue]. [existing and closed issues]: https://github.com/juspay/hyperswitch/issues [open a new issue]: https://github.com/juspay/hyperswitch/issues/new/choose -## Versioning +## πŸ”– Versioning Check the [CHANGELOG.md](./CHANGELOG.md) file for details. -## Copyright and License +## ©️ Copyright and License This product is licensed under the [Apache 2.0 License](LICENSE). + + +## ✨ Thanks to all contributors + +Thank you for your support in hyperswitch's growth. Keep up the great work! πŸ₯‚ + + + Contributors + diff --git a/docs/imgs/switch.png b/docs/imgs/switch.png new file mode 100644 index 000000000000..9482864c99dd Binary files /dev/null and b/docs/imgs/switch.png differ