Skip to content

Commit d072357

Browse files
authored
Merge branch 'main' into eventLockingFix
2 parents c4fe304 + 2bd8c9d commit d072357

File tree

292 files changed

+29063
-9899
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

292 files changed

+29063
-9899
lines changed

CHANGELOG.md

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,158 @@ All notable changes to HyperSwitch will be documented here.
44

55
- - -
66

7+
## 2025.07.30.0
8+
9+
### Features
10+
11+
- **connector:**
12+
- [BLUECODE] Added Template Code ([#8756](https://github.com/juspay/hyperswitch/pull/8756)) ([`9f6182b`](https://github.com/juspay/hyperswitch/commit/9f6182b7fbb334447f2dda77f70d780ebbcde0ea))
13+
- [FISERV] Added GooglePay Payment Method - Connector Decryption Flow ([#8658](https://github.com/juspay/hyperswitch/pull/8658)) ([`b5586b6`](https://github.com/juspay/hyperswitch/commit/b5586b68d8e7380ee57ebcaf93a68ecd59c686fc))
14+
- [Adyen] receive incoming webhooks for pix expiry ([#8720](https://github.com/juspay/hyperswitch/pull/8720)) ([`4587564`](https://github.com/juspay/hyperswitch/commit/4587564824dff214744425d8e6dbfac8850e8416))
15+
- **routing:** Add api-refs for new decision engine endpoints ([#8709](https://github.com/juspay/hyperswitch/pull/8709)) ([`4dea30f`](https://github.com/juspay/hyperswitch/commit/4dea30ffa0d9bf636af3757c998e12a23f4769bd))
16+
17+
### Bug Fixes
18+
19+
- **connector:**
20+
- [Worldpay] handle multiple ddc submission for CompleteAuthorize ([#8741](https://github.com/juspay/hyperswitch/pull/8741)) ([`f6cdddc`](https://github.com/juspay/hyperswitch/commit/f6cdddcb98e08f97dc518c8c14569fe67426bd6f))
21+
- [GLOBALPAY] Added Tokenization Flow for CITs ([#8568](https://github.com/juspay/hyperswitch/pull/8568)) ([`f7bc33c`](https://github.com/juspay/hyperswitch/commit/f7bc33cd0f5537e7be05af4064df8715ed47011b))
22+
- Replace xtrim with xdel to support older redis version ([#8515](https://github.com/juspay/hyperswitch/pull/8515)) ([`3d085ab`](https://github.com/juspay/hyperswitch/commit/3d085abf3853c1658e208a733bf69715f44ba0bb))
23+
24+
**Full Changelog:** [`2025.07.29.0...2025.07.30.0`](https://github.com/juspay/hyperswitch/compare/2025.07.29.0...2025.07.30.0)
25+
26+
- - -
27+
28+
## 2025.07.29.0
29+
30+
### Documentation
31+
32+
- Add initial authentication page ([#8719](https://github.com/juspay/hyperswitch/pull/8719)) ([`5ca0fb5`](https://github.com/juspay/hyperswitch/commit/5ca0fb5f654c9b32186dab8a2a2d475f2eb7df6a))
33+
34+
### Miscellaneous Tasks
35+
36+
- Updated open api spec documentation for create platform account ([#8692](https://github.com/juspay/hyperswitch/pull/8692)) ([`3bf4c49`](https://github.com/juspay/hyperswitch/commit/3bf4c490563d836685157351b66fc662bca0debd))
37+
38+
**Full Changelog:** [`2025.07.28.1...2025.07.29.0`](https://github.com/juspay/hyperswitch/compare/2025.07.28.1...2025.07.29.0)
39+
40+
- - -
41+
42+
## 2025.07.28.1
43+
44+
### Features
45+
46+
- **core:** Hyperswitch <|> UCS Mandate flow integration ([#8738](https://github.com/juspay/hyperswitch/pull/8738)) ([`f94f39e`](https://github.com/juspay/hyperswitch/commit/f94f39ef0cae800a8ecde21e8d4a95b14c074f88))
47+
- **themes:** Create user APIs for managing themes ([#8387](https://github.com/juspay/hyperswitch/pull/8387)) ([`20049d5`](https://github.com/juspay/hyperswitch/commit/20049d52fa3d3123c9942109c3ee3acc011d5978))
48+
49+
### Refactors
50+
51+
- Add routing_approach other variant to handle unknown data ([#8754](https://github.com/juspay/hyperswitch/pull/8754)) ([`7682cd4`](https://github.com/juspay/hyperswitch/commit/7682cd445eccdc8c213e0013a1fd025b21a4414d))
52+
53+
### Miscellaneous Tasks
54+
55+
- Update devDependencies for cypress ([#8735](https://github.com/juspay/hyperswitch/pull/8735)) ([`b30a7b8`](https://github.com/juspay/hyperswitch/commit/b30a7b809382a0119788e6807bd2eb8918d6edac))
56+
57+
**Full Changelog:** [`2025.07.28.0...2025.07.28.1`](https://github.com/juspay/hyperswitch/compare/2025.07.28.0...2025.07.28.1)
58+
59+
- - -
60+
61+
## 2025.07.28.0
62+
63+
### Features
64+
65+
- **authentication:** Add authentication api for modular authentication ([#8459](https://github.com/juspay/hyperswitch/pull/8459)) ([`dbdf757`](https://github.com/juspay/hyperswitch/commit/dbdf7579d278bff37ffbbe9e10028dca7cc61369))
66+
- **connector:**
67+
- [Flexiti]template code for flexiti connector ([#8714](https://github.com/juspay/hyperswitch/pull/8714)) ([`0f66692`](https://github.com/juspay/hyperswitch/commit/0f66692edeb26fb7092024410370d066e88ff74f))
68+
- [MPGS] template code ([#8544](https://github.com/juspay/hyperswitch/pull/8544)) ([`98d924b`](https://github.com/juspay/hyperswitch/commit/98d924bf870b1ffdd24181deb2cea2e2778b7708))
69+
- **recovery-events:** Add revenue recovery topic and vector config to push these events to s3 ([#8285](https://github.com/juspay/hyperswitch/pull/8285)) ([`17d34a2`](https://github.com/juspay/hyperswitch/commit/17d34a29e4a286ca1acc0169f00322c2eab217d1))
70+
71+
### Bug Fixes
72+
73+
- **chat:** Append request id to headers for chat request ([#8680](https://github.com/juspay/hyperswitch/pull/8680)) ([`3113d2b`](https://github.com/juspay/hyperswitch/commit/3113d2b5dc3ab78a17ffc047337170b6806779c2))
74+
75+
### Refactors
76+
77+
- **connector:** [facilitapay] move destination bank account number to connector metadata ([#8704](https://github.com/juspay/hyperswitch/pull/8704)) ([`38c19f3`](https://github.com/juspay/hyperswitch/commit/38c19f30fce7515869d800bd5cabf3a7dd804e55))
78+
- **schema:** Add a new column for storing large customer user agents in mandate table ([#8616](https://github.com/juspay/hyperswitch/pull/8616)) ([`b74c1e9`](https://github.com/juspay/hyperswitch/commit/b74c1e918833d938c1d3ecdbad895c3fb84ac2d1))
79+
80+
**Full Changelog:** [`2025.07.25.0...2025.07.28.0`](https://github.com/juspay/hyperswitch/compare/2025.07.25.0...2025.07.28.0)
81+
82+
- - -
83+
84+
## 2025.07.25.0
85+
86+
### Features
87+
88+
- **connector:**
89+
- [SILVERFLOW] Integrate cards non 3ds payments ([#8591](https://github.com/juspay/hyperswitch/pull/8591)) ([`b521951`](https://github.com/juspay/hyperswitch/commit/b521951942dd653f6a78729926d91e8e793cd999))
90+
- [TRUSTPAYMENTS] Add Template Code ([#8672](https://github.com/juspay/hyperswitch/pull/8672)) ([`3159071`](https://github.com/juspay/hyperswitch/commit/3159071839f2fb14a11d3af7f657d7c62b53105b))
91+
- [AIRWALLEX] Added Ideal & Skrill payment methods ([#8535](https://github.com/juspay/hyperswitch/pull/8535)) ([`15d589d`](https://github.com/juspay/hyperswitch/commit/15d589d27bf8375367c0f922ed76783ad210b5b0))
92+
- [Breadpay]Add support for Breadpay connector ([#8676](https://github.com/juspay/hyperswitch/pull/8676)) ([`0d9750c`](https://github.com/juspay/hyperswitch/commit/0d9750cd2405a8da9132d24ba8770a416935fa47))
93+
- **core:** Consuming locale in PaymentsAuthorizeData from SessionState ([#8731](https://github.com/juspay/hyperswitch/pull/8731)) ([`be03dd2`](https://github.com/juspay/hyperswitch/commit/be03dd2ae9a4df9b592aa3fc482e5356843a7163))
94+
95+
### Bug Fixes
96+
97+
- **core:** Fixed invalid merchant country code error object ([#8665](https://github.com/juspay/hyperswitch/pull/8665)) ([`20b37bd`](https://github.com/juspay/hyperswitch/commit/20b37bdb7a25ec053e7671332d4837a0ad743983))
98+
- **feature_matrix:** Refunds are supported by jpmorgan ([#8699](https://github.com/juspay/hyperswitch/pull/8699)) ([`5c78abd`](https://github.com/juspay/hyperswitch/commit/5c78abd77ef886b2c81addbd8094132ec7aecf5f))
99+
- **payment-methods:** Fetch payment method details in payouts flow ([#8729](https://github.com/juspay/hyperswitch/pull/8729)) ([`56d8ed7`](https://github.com/juspay/hyperswitch/commit/56d8ed72458f189084bf09450276bbce3a80e62a))
100+
- **router:** Add payment method Wallet check for decrypted wallet payment method token logic ([#8744](https://github.com/juspay/hyperswitch/pull/8744)) ([`be00272`](https://github.com/juspay/hyperswitch/commit/be002728a365b92df52125d445e1e8a4c3181f0b))
101+
102+
### Refactors
103+
104+
- **core:** Remove hardcoded timeout limit of 5s for outgoing webhook requests ([#8725](https://github.com/juspay/hyperswitch/pull/8725)) ([`8c7ddaa`](https://github.com/juspay/hyperswitch/commit/8c7ddaa46d484973056e63471b0ec4fdf2e4f412))
105+
106+
**Full Changelog:** [`2025.07.24.0...2025.07.25.0`](https://github.com/juspay/hyperswitch/compare/2025.07.24.0...2025.07.25.0)
107+
108+
- - -
109+
110+
111+
## 2025.07.23.0
112+
113+
### Features
114+
115+
- **connector:**
116+
- Add template code for breadpay ([#8655](https://github.com/juspay/hyperswitch/pull/8655)) ([`b2ab927`](https://github.com/juspay/hyperswitch/commit/b2ab92771307a0a2bc7c208ddbff50f9bf381d8a))
117+
- [AUTHORIZEDOTNET] customer_id length validated and server-too-busy error handled ([#8696](https://github.com/juspay/hyperswitch/pull/8696)) ([`422724c`](https://github.com/juspay/hyperswitch/commit/422724cfe9b38db5a314b2cb3d4ec5365774f3b7))
118+
- **core:**
119+
- Implement UCS kill switch for emergency fallback ([#8651](https://github.com/juspay/hyperswitch/pull/8651)) ([`0c5bbad`](https://github.com/juspay/hyperswitch/commit/0c5bbad9c2bdba44011b36213b446740c78cb842))
120+
- Add authentication date in Authentication Flow ([#8661](https://github.com/juspay/hyperswitch/pull/8661)) ([`a93ebda`](https://github.com/juspay/hyperswitch/commit/a93ebda7b520b6df82216bf93ab67ff2ba562002))
121+
122+
### Bug Fixes
123+
124+
- **connector:** Add Trustpay in Authentication Providers Config ([#8622](https://github.com/juspay/hyperswitch/pull/8622)) ([`12ac508`](https://github.com/juspay/hyperswitch/commit/12ac5086a0a67b43f00844a041814bfcef93bb20))
125+
- **openapi:** Added Error Response Schema for Status Code 400 ([#8684](https://github.com/juspay/hyperswitch/pull/8684)) ([`a01d608`](https://github.com/juspay/hyperswitch/commit/a01d6083b00404b6b1cb3380c10cb6a676cda476))
126+
127+
### Refactors
128+
129+
- **connector:** [Adyen] map ssn and session validity for Pix ([#8702](https://github.com/juspay/hyperswitch/pull/8702)) ([`9bf1e95`](https://github.com/juspay/hyperswitch/commit/9bf1e95f06af4dd0620133cdadca6b2522b27e6e))
130+
131+
**Full Changelog:** [`2025.07.21.1...2025.07.23.0`](https://github.com/juspay/hyperswitch/compare/2025.07.21.1...2025.07.23.0)
132+
133+
- - -
134+
135+
## 2025.07.21.1
136+
137+
### Features
138+
139+
- **authentication:** Added eligibility flow for modular authentication ([#8431](https://github.com/juspay/hyperswitch/pull/8431)) ([`82eb3ca`](https://github.com/juspay/hyperswitch/commit/82eb3ca7b4b0f513ed3d8281523d7d646c8129a9))
140+
- **connector:** [BLACKHAWKNETWORK] Add Template Code ([#8632](https://github.com/juspay/hyperswitch/pull/8632)) ([`7f6a126`](https://github.com/juspay/hyperswitch/commit/7f6a1266a1868d336a0ce9a85e5b8a5a9c736adb))
141+
- **routing:** Add API key auth for decision engine endpoints ([#8640](https://github.com/juspay/hyperswitch/pull/8640)) ([`f4da057`](https://github.com/juspay/hyperswitch/commit/f4da057ca8252719a18d5eb804828184bc3c1b00))
142+
143+
### Bug Fixes
144+
145+
- **connector:**
146+
- [Access Worldpay] correct enum deserialization for payment responses for ([#8689](https://github.com/juspay/hyperswitch/pull/8689)) ([`58f8429`](https://github.com/juspay/hyperswitch/commit/58f8429f507c32e75fea7365504ae8573103c912))
147+
- [Cybersource] Add type_selection_indicator as 1 for all cards ([#8663](https://github.com/juspay/hyperswitch/pull/8663)) ([`2bac3e0`](https://github.com/juspay/hyperswitch/commit/2bac3e0a65283326a3050b0ce2af2e54aa1ea496))
148+
- **router:** Make v2 endpoints follow standard naming conventions ([#8630](https://github.com/juspay/hyperswitch/pull/8630)) ([`db14764`](https://github.com/juspay/hyperswitch/commit/db14764671d18fbbd8d699f0c7c97a327bc1d0db))
149+
- Remove straight through routing from routing approach ([#8695](https://github.com/juspay/hyperswitch/pull/8695)) ([`53e7e7f`](https://github.com/juspay/hyperswitch/commit/53e7e7fa819183eaad1e8321f7e2b89b22867163))
150+
151+
### Refactors
152+
153+
- **payments:** Fetch payment method information in attempts list api v2 and add custom billing connector template ([#8681](https://github.com/juspay/hyperswitch/pull/8681)) ([`110beaf`](https://github.com/juspay/hyperswitch/commit/110beaff9a809f30a704b5ef9cb7dc75cc31a7bf))
154+
155+
**Full Changelog:** [`2025.07.21.0...2025.07.21.1`](https://github.com/juspay/hyperswitch/compare/2025.07.21.0...2025.07.21.1)
156+
157+
- - -
158+
7159
## 2025.07.21.0
8160

9161
### Features

Cargo.lock

Lines changed: 3 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api-reference/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,4 @@ npx @mintlify/scraping@latest openapi-file v1/openapi_spec_v1.json -o v1
4444

4545
This will generate files in [api-reference](api-reference) folder. These routes should be added to the [mint.json](mint.json) file under navigation, under respective group.
4646

47-
48-
NOTE: For working with V2 API reference, replace every occurrence of `v1` with `v2` in above commands
47+
NOTE: For working with V2 API reference, replace every occurrence of `v1` with `v2` in above commands

api-reference/docs.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
{
2424
"group": "Essentials",
2525
"pages": [
26+
"essentials/authentication",
2627
"essentials/error_codes",
2728
"essentials/rate_limit",
2829
"essentials/go-live"
@@ -146,6 +147,12 @@
146147
"v1/business-profile/business-profile--list"
147148
]
148149
},
150+
{
151+
"group": "Platform Account",
152+
"pages": [
153+
"v1/platform/platform--create"
154+
]
155+
},
149156
{
150157
"group": "API Key",
151158
"pages": [
@@ -213,7 +220,10 @@
213220
"v1/routing/routing--retrieve-default-for-profile",
214221
"v1/routing/routing--update-default-for-profile",
215222
"v1/routing/routing--retrieve",
216-
"v1/routing/routing--activate-config"
223+
"v1/routing/routing--activate-config",
224+
"v1/routing/routing--evaluate",
225+
"v1/routing/routing--feedback",
226+
"v1/routing/routing--rule-evaluate"
217227
]
218228
},
219229
{
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: Authentication Types
3+
description: Overview of authentication types and authorization keys available in Hyperswitch.
4+
---
5+
6+
import Note from '@site/src/components/Note'
7+
import Table from '@site/src/components/Table'
8+
import Check from '@site/src/components/Check'
9+
10+
Hyperswitch supports multiple API key types, each designed for different authentication and authorization use cases.
11+
12+
<Note>
13+
For security, **never expose secret or admin keys in client-side or mobile code**. Use publishable keys for public contexts.
14+
</Note>
15+
16+
## 1. API Key (Secret Key)
17+
18+
- **Primary merchant authentication key for server-side API requests.**
19+
- Environment-specific prefix (`snd_`, `prod_`, etc.).
20+
- Used for server to server requests.
21+
- This key can be **generated and managed from the [Hyperswitch dashboard (sandbox)](https://app.hyperswitch.io/developers?tabIndex=1)**.
22+
23+
- **Never expose this key in public code.**
24+
25+
## 2. Admin API Key
26+
27+
- **Administrative key** with elevated privileges.
28+
- Used for system-level operations such as creating merchant and connector accounts.
29+
- Should only be used in secure, internal workflows.
30+
- Some API calls require an admin API key. **Do not confuse this with a regular API Key.**
31+
- The **admin API key is a configuration value that can be set at the time of deploying the Hyperswitch server**.
32+
- **Admin API keys for the hosted Hyperswitch environments (sandbox/production) are managed by Juspay and are not provided publicly.**
33+
34+
<Check>
35+
You do **not** generate this key from the dashboard.
36+
Instead, **set your Admin API Key in your deployment configuration**:
37+
38+
**For Docker Compose:**
39+
Update the value in your `docker_compose.toml` file:
40+
</Check>
41+
42+
```toml
43+
# docker_compose.toml
44+
admin_api_key = "your_admin_key_here"
45+
```
46+
<Check> **For Helm Chart deployments:** Set the admin API key in your `values.yaml` file. </Check>
47+
48+
```yaml
49+
# values.yaml
50+
adminApiKey: your_admin_key_here
51+
```
52+
<Note> Do **not** expose your admin API key publicly. Only trusted entities and trusted applications should have access to this value. </Note>
53+
54+
Check the Docker Compose example for extra clarity:
55+
[See example in the Hyperswitch repository](https://github.com/juspay/hyperswitch/blob/main/config/docker_compose.toml)
56+
57+
58+
## 3. Publishable Key
59+
60+
- **Client-side key** with limited permissions.
61+
- Safe for use in public client-side (web or mobile) code.
62+
- Prefix: `pk_{environment}_{uuid}`.
63+
- Generated during merchant account creation.
64+
65+
## 4. Ephemeral Key
66+
67+
- **Temporary key** for limited operations.
68+
- Used for single or short-lived access (e.g., accessing a specific customer object).
69+
- Validity is configurable (see `[eph_key] validity` in `development.toml`).
70+
71+
## 5. JWT Key
72+
73+
- **JWT Bearer Token** used for API authentication and session management.
74+
- Required for certain JWT-protected endpoints and user authentication flows.
75+
- Format: `Authorization: Bearer <jwt_token>`
76+
77+
### When to Use
78+
79+
JWT tokens are primarily used by the Hyperswitch Control Center front end to authenticate API requests. You generally do **not** need to manage or use JWTs unless:
80+
81+
- You’re building a **custom front end** that replaces the Control Center, or
82+
- You’re a developer **testing APIs directly** (e.g., using Postman or running the server without the UI).
83+
84+
For most users interacting through the Control Center UI, JWTs are handled automatically and do not need to be generated or included manually.
85+
86+
> **Note:**
87+
> JWTs are **not provisioned via the Hyperswitch dashboard**.
88+
> They are typically **issued during an authentication flow**, such as during login or session creation.
89+
90+
```http
91+
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
92+
```
93+
<Note> Keep your JWT tokens secure. Do not expose them in client-side code unless specifically required for session management, and always use HTTPS when transmitting JWTs. </Note>
94+
95+
## Reference Table
96+
97+
<Table>
98+
| Key Type | Example Prefix | Usage | Security |
99+
|------------------|----------------------|------------------------------|-------------------------|
100+
| Secret (API Key) | snd_c69***, prod_*** | Backend server API requests | Keep secret |
101+
| Admin API Key | (admin-specific) | Admin operations | Highly confidential |
102+
| Publishable Key | pk_snd_3b3*** | Client-side, public usage | Safe to expose |
103+
| Ephemeral Key | (short-lived) | Temporary, limited access | Short validity, limited |
104+
| JWT Key | (JWT Bearer) | Session/user authentication | Control center calls |
105+
</Table>
106+
107+
<Check>
108+
Get your [API Key](https://app.hyperswitch.io/developers?tabIndex=1) and [Publishable Key](https://app.hyperswitch.io/home) from the Hyperswitch dashboard.
109+
</Check>
110+
---

0 commit comments

Comments
 (0)