Hyperswitch Prism for Unified Payment Processor Integrations
One library | Many payment processors | Scale to multiple processors with few lines of code.
At a glance
- What is it?
- Hyperswitch Prism is a stateless Rust library and multi-language SDK that maps one payment request schema to multiple payment processors. It suits applications that need processor flexibility, but it does not provide routing, retries, vaulting, or tokenization.
- Who is it for?
- Adopt Prism when your application needs a stateless connector layer and can manage routing, retries, vaulting, and processor-specific coverage separately. Do not adopt it as a complete payment orchestration platform.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Prism's Payment Connector Boundary
Hyperswitch Prism addresses a specific integration problem: payment processors expose different APIs, authentication methods, error codes, document formats, and behavioral differences. The library presents a unified request schema so that an application can send the same authorize operation to Stripe, Adyen, Braintree, and other connectors without rewriting the surrounding payment call.
The project is aimed at developers and payment engineering teams that need to support several processors, especially applications where processor changes are expected. It is not a hosted payments service. Prism is a library and SDK layer that sits inside an application, while the application remains responsible for the HTTP client, credentials, business rules, and deployment.
The README describes Prism as stateless. It states that the library has no database, stores no personally identifiable information, and does not store or log credentials. Credentials live for the lifetime of the HTTP client. The README also says that applications can choose whether card data enters the library, which allows a team to use a payment processor vault or its own PCI-certified vault. That design can reduce the amount of sensitive data handled by the application, but the PCI implications still depend on the complete system architecture.
How Prism Maps One Request to Processor APIs
The documented architecture places the application above Prism and the payment processors below it. Between them, Prism provides a type-safe interface and multi-language SDK. In practical terms, the application constructs a common payment request, supplies connector configuration, and lets the library transform that request for the selected processor.
The README's Node.js example begins with a `PaymentClient`, a `types.ConnectorConfig`, and a `types.PaymentServiceAuthorizeRequest`. The request contains a merchant transaction identifier, a minor-unit amount, a currency, a capture method, and a payment method. The example uses a Stripe API key under the Stripe connector configuration and identifies the amount as 1000 minor units of USD, which the example annotates as $10.00.
This is a transformation layer rather than an orchestration layer. Prism does not select the best processor, retry a failed request, or retain payment state. Those responsibilities are assigned to Hyperswitch or another application layer. The boundary is useful when an application wants deterministic connector calls with its own routing policy. It also means a common schema cannot remove processor-specific constraints. A feature may be supported by one connector and absent, partial, or awaiting validation in another.
Connector Coverage and the README's Test Boundary
The README does not present every processor as having identical functionality. Its connector table uses four statuses: supported, not applicable or unsupported, in progress or partial, and requiring validation against a live environment. The complete coverage is delegated to `docs-generated/all_connector.md` rather than summarized in full in the README.
That distinction matters for adoption. A connector can exist in the repository while its payment methods or flows still differ across processors. The project says connectors are continuously tested against real sandbox and production environments, but the README does not provide a compatibility matrix for a particular merchant, currency, payment method, or capture mode. It also does not claim that the library makes unsupported processor behavior equivalent.
The project metadata lists topics including `authorize-net`, `braintree`, `paypal`, `stripe`, `stripe-checkout`, and `worldpay`, while the architecture diagram names Stripe, Adyen, Braintree, and other connectors. Repository layout shows the Rust integration crates, SDK directories, generated connector documentation, examples, and a demo application. A prospective adopter should therefore inspect the exact connector coverage and the language guide rather than relying on the presence of a processor name in the topic list.
Installing Prism and Making the First Call
The README provides package installation commands for Node.js and Python. It also provides a Maven dependency for Java and Kotlin. The Node.js and Python commands are the shortest documented first steps. The language-specific SDK guides contain connector authentication configuration, required fields, sandbox test cards, status codes, and runtime pitfalls.
For Node.js, install the published package with:
npm install hyperswitch-prismFor Python, use:
pip install hyperswitch-prismThe README's Java and Kotlin example adds this dependency to `pom.xml`:
<dependency>
<groupId>io.hyperswitch</groupId>
<artifactId>prism</artifactId>
<version>0.0.4</version>
</dependency>After installation, the documented starting point is the SDK integration guide for the chosen language. The README points readers to `sdk/python/README.md`, `sdk/javascript/README.md`, `sdk/java/README.md`, or `sdk/rust`. The repository also includes `demo/e-commerce`, described as a complete working example using Stripe and Adyen. The displayed Node.js payment example is truncated in the README, so this review does not invent the missing request fields or execution command.
Prism Versus Hyperswitch Routing and Retry Logic
The clearest alternative is to use processor-specific SDKs directly and implement a separate adapter or orchestration layer around them. That approach gives an application direct access to each processor's complete API, including features that may not fit Prism's common schema. It also makes the application responsible for every request transformation, authentication convention, response mapping, and error translation.
Hyperswitch takes the opposite responsibility split. The README says retry and routing logic lives in Juspay Hyperswitch, while Prism remains the transformation layer. A team already operating Hyperswitch can use Prism as its connector abstraction and leave processor selection and failure handling in the surrounding platform. A team that needs only one processor and full access to that processor's native features may find a direct SDK simpler.
Neither approach removes payment risk. Prism's common request model can reduce duplicated integration code, but it can also hide differences between processors. Direct SDKs expose those differences more clearly, while requiring more application code. The choice is therefore between a shared abstraction and processor-native control, not between complete and incomplete payment support.
Rust Build Footprint and Release Maintenance
The repository is a Rust workspace containing connector integration crates, shared types, domain types, cards, common utilities, gRPC components, FFI code, UniFFI bindings, internal tests, and SDK crates. The `Cargo.toml` workspace excludes example Rust projects and includes `sdk/rust`, `sdk/rust-grpc-client`, `sdk/ffi`, and `crates/ffi/ffi`, among others.
The release profile enables thin LTO and strips binaries. The repository comments explain that `codegen-units` remains at the release default because a single-threaded build exhausted memory on a 16 GB arm64 runner. It also defines a `release-fast` profile for local SDK builds, using lower optimization effort, no LTO, and parallel code generation. The Dockerfile installs Rust system dependencies, `cargo-chef`, and `sccache`, then separates planning and building stages. These details indicate that Prism is not only a small SDK wrapper. Building the workspace may involve generated bindings, FFI tooling, internal services, and connector crates.
The repository is not archived, and the last push was on 2026-10-15. Releases `v0.4.0`, `v0.5.0`, and `v0.6.0` are dated 2026-09-04, 2026-09-25, and 2026-10-15 respectively. The project is therefore recently pushed, but the release identifiers and changing connector surface should still be checked before adopting a specific version. The Apache-2.0 license permits use under its terms, subject to its notice and license requirements.
Editorial conclusion
Adopt Prism when your application needs a stateless connector layer and can manage routing, retries, vaulting, and processor-specific coverage separately. Do not adopt it as a complete payment orchestration platform. Verify the required connector, language SDK, payment methods, and live-environment status first.
Frequently asked questions
What is Hyperswitch Prism used for?
Hyperswitch Prism is a stateless connector library for integrating multiple payment processors through one request schema. It handles transformation and connector communication, but not routing or retries.
How do I install Hyperswitch Prism?
The README documents `npm install hyperswitch-prism` for Node.js and `pip install hyperswitch-prism` for Python. It also gives a Maven dependency for Java and Kotlin.
Does Hyperswitch Prism provide tokenization and payment routing?
No. The README says Prism does not provide a built-in vault or tokenization service, and that retry and routing logic belongs to Hyperswitch. Applications must bring their own vault or use a processor vault.
Which payment processors does Hyperswitch Prism support?
The README names Stripe, Adyen, and Braintree, and its architecture diagram refers to additional connectors. It directs readers to `docs-generated/all_connector.md` for complete coverage, including support status for individual flows and payment methods.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/juspay-hyperswitch-prism)Was this useful?