Overview

Hyperswitch Prism

One integration. Any payment processor. Zero lock-in.

License: Apache 2.0arrow-up-right

A high-performance payment abstraction library, and part of Juspay Hyperswitcharrow-up-right β€” the open-source, composable payments platform with 40,000+ GitHub stars, trusted by leading brands worldwide.

GitHubarrow-up-right Β· Websitearrow-up-right Β· Documentationarrow-up-right


🎯 Why Prism?

Today, integrating multiple payment processors either makes developers running in circles with AI agents to recreate integrations from specs, or developers spending months of engineering effort.

Because every payment processor has diverse APIs, error codes, authentication methods, pdf documents to read, and above all - different behaviour in the actual environment when compared to documented specs. All this rests as tribal or undocumented knowledge making it harder AI agents which are very good at implementing clearly documented specification.

Prism is a stateless, unified connector library for AI agents and Developers to connect with any payment processor

Prism offers hardened transformation through testing on payment processor environment & iterative bug fixing

Prism can be embedded in you server application with its wide range of multi-language SDKs, or run as a rRPC microservice

❌ Without Prism
βœ… With Prism

πŸ—‚οΈ 100+ different API schemas

πŸ“‹ Single unified schema

⏳ Never ending agent loops/ months of integration work

⚑ Hours to integrate, Agent driven

πŸ”— Brittle, provider-specific code

πŸ”“ Portable, provider-agnostic code

🚫 Hard to switch providers

πŸ”„ Change providers in 1 line


✨ Features

  • πŸ”Œ 100+ Connectors β€” Stripe, Adyen, Braintree, PayPal, Worldpay, and more

  • 🌍 Global Coverage β€” Cards, wallets, bank transfers, BNPL, and regional methods

  • πŸš€ Zero Overhead β€” Rust core with native bindings, no overhead

  • πŸ”’ PCI-Compliant by Design β€” Stateless, no data storage


πŸ—οΈ Architecture

Payment & Capture Flow Sequence

{% @mermaid/diagram content="%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#B3D9F2', 'primaryTextColor': '#333333', 'primaryBorderColor': '#5B9BD5', 'lineColor': '#666666', 'secondaryColor': '#C5E8C0', 'tertiaryColor': '#F9B872'}}}%% sequenceDiagram autonumber participant App as Your App participant SDK as Prism participant PSP as Payment Service Provider (PSP)

Note over App,PSP: Payment Authorization App->>SDK: paymentservice.authorize(amount, currency, payment_method) activate SDK SDK->>PSP: Provider-specific Authorize API call activate PSP PSP-->>SDK: Provider-specific response deactivate PSP SDK-->>App: Unified authorize response deactivate SDK

Note over App,PSP: Payment Capture App->>SDK: paymentservice.capture(payment_id, amount) activate SDK SDK->>PSP: Provider-specific Capture API call activate PSP PSP-->>SDK: Provider-specific Capture response deactivate PSP SDK-->>App: Unified capture response deactivate SDK

Note over App,PSP: Event Service (Webhooks) PSP->>App: webhook(event_payload) activate App App->>SDK: eventservice.handle(unified_event) activate SDK SDK->>App: Unified event payload deactivate SDK deactivate App " %}


πŸš€ Quick Start

Install the Prism Library

Node.js

Python

Java

Add to your pom.xml:

PHP

For detailed installation instructions, see Installation Guidearrow-up-right.


Create a Payment Order

Node.js

Java


πŸ”„ Switching Providers

Once the basic plumbing is implemented you can leverage Prism's core benefit - switch payment providers by changing one line.

One integration pattern. Any service category.

No rewriting. No re-architecting. Just swap the connector. Each flow uses the same unified schema regardless of the underlying processor's API differences. No custom code per provider.


πŸ› οΈ Development

Prerequisites

  • Rust 1.70+

  • Protocol Buffers (protoc)

Building from Source


πŸ”’ Security

  • Stateless by design β€” No PII or PCI data stored

  • Memory-safe β€” Built in Rust, no buffer overflows

  • Encrypted credentials β€” API keys never logged or exposed

Reporting Vulnerabilities

Please report security issues to [email protected]envelope.


⬆ Back to Top

Built and maintained by Juspay hyperswitcharrow-up-right

Last updated

Was this helpful?