Skip to content

Commit 3aa5ae1

Browse files
authored
Merge branch 'main' into update-routing-approach
2 parents cdfccc2 + 1c38117 commit 3aa5ae1

File tree

178 files changed

+8204
-3511
lines changed

Some content is hidden

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

178 files changed

+8204
-3511
lines changed

CHANGELOG.md

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

55
- - -
66

7+
## 2025.07.02.0
8+
9+
### Features
10+
11+
- **connector:**
12+
- Implement capture and webhook flow, fix some issues in ACI ([#8349](https://github.com/juspay/hyperswitch/pull/8349)) ([`1ae3024`](https://github.com/juspay/hyperswitch/commit/1ae30247ca1fe94bf72752906462521b58513ca7))
13+
- [ADYENPLATFORM] add card payouts ([#8504](https://github.com/juspay/hyperswitch/pull/8504)) ([`0c64915`](https://github.com/juspay/hyperswitch/commit/0c649158a8ee491e2ff6ff37e922266d5b64b22d))
14+
- [DWOLLA] - Add template code ([#8496](https://github.com/juspay/hyperswitch/pull/8496)) ([`ad52251`](https://github.com/juspay/hyperswitch/commit/ad522513b9c7cd978f79dc1f00e25f9dcabb58dc))
15+
- [SANTANDER] Added Authorize, PSync, Void, Refund & RSync Flows for Pix QR Code Bank Transfer ([#8463](https://github.com/juspay/hyperswitch/pull/8463)) ([`28d6357`](https://github.com/juspay/hyperswitch/commit/28d63575e63d87b1cba7c6215faee803f2fff7d8))
16+
- **connectors:** [Worldpayvantiv] add NTI flow and refactor sync flows ([#8495](https://github.com/juspay/hyperswitch/pull/8495)) ([`f8dc3ec`](https://github.com/juspay/hyperswitch/commit/f8dc3ecfe6a9cb1441228dce474b92c4a6fe2985))
17+
- **data-migration:** Add connector customer and mandate details support for multiple profiles ([#8473](https://github.com/juspay/hyperswitch/pull/8473)) ([`ce2b90b`](https://github.com/juspay/hyperswitch/commit/ce2b90b3d37d9214ef4ad46d5748aa0c864d508d))
18+
- **dummy_connector:** Allow a dummy connector to succeed a failed card ([#8469](https://github.com/juspay/hyperswitch/pull/8469)) ([`69ab255`](https://github.com/juspay/hyperswitch/commit/69ab255394fc537dbc40e01c72f27f3c8dbfb5f1))
19+
- **payouts:** Add domain type for PayoutId ([#8395](https://github.com/juspay/hyperswitch/pull/8395)) ([`a6e3d2c`](https://github.com/juspay/hyperswitch/commit/a6e3d2c71eed53ab400628a482cc61aae3720340))
20+
21+
### Refactors
22+
23+
- **authentication:** Flattened paymentData in authentication trait functions ([#8365](https://github.com/juspay/hyperswitch/pull/8365)) ([`18a779f`](https://github.com/juspay/hyperswitch/commit/18a779f94d418587c10c8ac8766d22ff41d25f6a))
24+
- **connector:** Update add connector script with new connector features ([#8213](https://github.com/juspay/hyperswitch/pull/8213)) ([`2ff93ff`](https://github.com/juspay/hyperswitch/commit/2ff93ff972453ce30ffeff667cb406d35286f60a))
25+
- Exposed auth analytics at merchant,org and profile levels ([#8335](https://github.com/juspay/hyperswitch/pull/8335)) ([`e638f23`](https://github.com/juspay/hyperswitch/commit/e638f239d3f3a0e7a63a5e71a1df6f516ddf9c4a))
26+
27+
**Full Changelog:** [`2025.07.01.0...2025.07.02.0`](https://github.com/juspay/hyperswitch/compare/2025.07.01.0...2025.07.02.0)
28+
29+
- - -
30+
31+
## 2025.07.01.0
32+
33+
### Features
34+
35+
- **core:** Allow setting up status across payments, refunds and payouts for triggering webhooks in core resource flows ([#8433](https://github.com/juspay/hyperswitch/pull/8433)) ([`d305fad`](https://github.com/juspay/hyperswitch/commit/d305fad2e6c403fde11b9eea785fddefbf3477df))
36+
37+
**Full Changelog:** [`2025.06.30.0...2025.07.01.0`](https://github.com/juspay/hyperswitch/compare/2025.06.30.0...2025.07.01.0)
38+
39+
- - -
40+
41+
## 2025.06.30.0
42+
43+
### Features
44+
45+
- **openapi:** Add x-mcp extension to v1 spec ([#8443](https://github.com/juspay/hyperswitch/pull/8443)) ([`a685f6b`](https://github.com/juspay/hyperswitch/commit/a685f6b59cb95b4b8eda33e6951faa31091099a5))
46+
47+
### Bug Fixes
48+
49+
- **connector:** 2 digit state code for ach fixed ([#8466](https://github.com/juspay/hyperswitch/pull/8466)) ([`68db51a`](https://github.com/juspay/hyperswitch/commit/68db51a37a1bd4b4a69cb7d018217ae4fd8babac))
50+
- **env:** Update env for network tokenization service ([#8472](https://github.com/juspay/hyperswitch/pull/8472)) ([`6c66c36`](https://github.com/juspay/hyperswitch/commit/6c66c36a66b6644c43761b7ac9c1326945a6a820))
51+
52+
**Full Changelog:** [`2025.06.27.0...2025.06.30.0`](https://github.com/juspay/hyperswitch/compare/2025.06.27.0...2025.06.30.0)
53+
54+
- - -
55+
56+
## 2025.06.27.0
57+
58+
### Features
59+
60+
- **core:** Accept merchant_connector_details in Refunds create and retrieve flow ([#8441](https://github.com/juspay/hyperswitch/pull/8441)) ([`b185d85`](https://github.com/juspay/hyperswitch/commit/b185d85f6b55a8a99d4942a7a0966f5f731a920c))
61+
- Kv changes for V2 feature ([#8198](https://github.com/juspay/hyperswitch/pull/8198)) ([`d2740f0`](https://github.com/juspay/hyperswitch/commit/d2740f0322a0ec1327515c0159b64c930307f451))
62+
63+
### Bug Fixes
64+
65+
- **connector:** [TRUSTPAY] Consuming Amount in PSync Response ([#8455](https://github.com/juspay/hyperswitch/pull/8455)) ([`537d175`](https://github.com/juspay/hyperswitch/commit/537d1755329c372f318df24aeda984d22f0b7a19))
66+
67+
**Full Changelog:** [`2025.06.26.1...2025.06.27.0`](https://github.com/juspay/hyperswitch/compare/2025.06.26.1...2025.06.27.0)
68+
69+
- - -
70+
771
## 2025.06.26.1
872

973
### Features

Cargo.lock

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

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<a href="https://x.com/hyperswitchio">
3232
<img src="https://img.shields.io/badge/follow-%40hyperswitchio-white?logo=x&labelColor=grey"/>
3333
</a>
34-
<a href="https://join.slack.com/t/hyperswitch-io/shared_invite/zt-2jqxmpsbm-WXUENx022HjNEy~Ark7Orw">
34+
<a href="https://inviter.co/hyperswitch-slack">
3535
<img src="https://img.shields.io/badge/chat-on_slack-blue?logo=slack&labelColor=grey&color=%233f0e40"/>
3636
</a>
3737
</p>
@@ -196,7 +196,7 @@ We welcome contributors from around the world to help build Hyperswitch. Whether
196196

197197
Please read our [contributing guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md) to get started.
198198

199-
Join the conversation on [Slack](https://join.slack.com/t/hyperswitch-io/shared_invite/zt-2jqxmpsbm-WXUENx022HjNEy~Ark7Orw) or explore open issues on [GitHub](https://github.com/juspay/hyperswitch/issues).
199+
Join the conversation on [Slack](https://inviter.co/hyperswitch-slack) or explore open issues on [GitHub](https://github.com/juspay/hyperswitch/issues).
200200

201201
<a href="#feature-requests">
202202
<h2 id="feature-requests">Feature requests & Bugs</h2>

api-reference/v1/openapi_spec_v1.json

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"openapi": "3.0.3",
3+
"x-mcp": {
4+
"enabled": true
5+
},
36
"info": {
47
"title": "Hyperswitch - API Documentation",
58
"description": "\n## Get started\n\nHyperswitch provides a collection of APIs that enable you to process and manage payments.\nOur APIs accept and return JSON in the HTTP body, and return standard HTTP response codes.\n\nYou can consume the APIs directly using your favorite HTTP/REST library.\n\nWe have a testing environment referred to \"sandbox\", which you can setup to test API calls without\naffecting production data.\nCurrently, our sandbox environment is live while our production environment is under development\nand will be available soon.\nYou can sign up on our Dashboard to get API keys to access Hyperswitch API.\n\n### Environment\n\nUse the following base URLs when making requests to the APIs:\n\n| Environment | Base URL |\n|---------------|------------------------------------|\n| Sandbox | <https://sandbox.hyperswitch.io> |\n| Production | <https://api.hyperswitch.io> |\n\n## Authentication\n\nWhen you sign up on our [dashboard](https://app.hyperswitch.io) and create a merchant\naccount, you are given a secret key (also referred as api-key) and a publishable key.\nYou may authenticate all API requests with Hyperswitch server by providing the appropriate key in\nthe request Authorization header.\n\n| Key | Description |\n|-----------------|-----------------------------------------------------------------------------------------------|\n| api-key | Private key. Used to authenticate all API requests from your merchant server |\n| publishable key | Unique identifier for your account. Used to authenticate API requests from your app's client |\n\nNever share your secret api keys. Keep them guarded and secure.\n",
@@ -10996,6 +10999,7 @@
1099610999
"razorpay",
1099711000
"recurly",
1099811001
"redsys",
11002+
"santander",
1099911003
"shift4",
1100011004
"square",
1100111005
"stax",
@@ -24300,6 +24304,13 @@
2430024304
"client_secret"
2430124305
],
2430224306
"properties": {
24307+
"merchant_order_reference_id": {
24308+
"type": "string",
24309+
"description": "Your unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.",
24310+
"example": "merchant_order_ref_123",
24311+
"nullable": true,
24312+
"maxLength": 255
24313+
},
2430324314
"amount": {
2430424315
"type": "integer",
2430524316
"format": "int64",
@@ -24606,6 +24617,13 @@
2460624617
"example": "merchant_1668273825",
2460724618
"maxLength": 255
2460824619
},
24620+
"merchant_order_reference_id": {
24621+
"type": "string",
24622+
"description": "Your unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.",
24623+
"example": "merchant_order_ref_123",
24624+
"nullable": true,
24625+
"maxLength": 255
24626+
},
2460924627
"amount": {
2461024628
"type": "integer",
2461124629
"format": "int64",
@@ -24899,13 +24917,13 @@
2489924917
"starting_after": {
2490024918
"type": "string",
2490124919
"description": "A cursor for use in pagination, fetch the next list after some object",
24902-
"example": "pay_fafa124123",
24920+
"example": "payout_fafa124123",
2490324921
"nullable": true
2490424922
},
2490524923
"ending_before": {
2490624924
"type": "string",
2490724925
"description": "A cursor for use in pagination, fetch the previous list before some object",
24908-
"example": "pay_fafa124123",
24926+
"example": "payout_fafa124123",
2490924927
"nullable": true
2491024928
},
2491124929
"limit": {
@@ -24952,6 +24970,13 @@
2495224970
"maxLength": 30,
2495324971
"minLength": 30
2495424972
},
24973+
"merchant_order_reference_id": {
24974+
"type": "string",
24975+
"description": "The merchant order reference ID for payout",
24976+
"example": "merchant_order_ref_123",
24977+
"nullable": true,
24978+
"maxLength": 255
24979+
},
2495524980
"profile_id": {
2495624981
"type": "string",
2495724982
"description": "The identifier for business profile",
@@ -25246,6 +25271,13 @@
2524625271
"PayoutUpdateRequest": {
2524725272
"type": "object",
2524825273
"properties": {
25274+
"merchant_order_reference_id": {
25275+
"type": "string",
25276+
"description": "Your unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.",
25277+
"example": "merchant_order_ref_123",
25278+
"nullable": true,
25279+
"maxLength": 255
25280+
},
2524925281
"amount": {
2525025282
"type": "integer",
2525125283
"format": "int64",
@@ -25476,6 +25508,13 @@
2547625508
"currency"
2547725509
],
2547825510
"properties": {
25511+
"merchant_order_reference_id": {
25512+
"type": "string",
25513+
"description": "Your unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.",
25514+
"example": "merchant_order_ref_123",
25515+
"nullable": true,
25516+
"maxLength": 255
25517+
},
2547925518
"amount": {
2548025519
"type": "integer",
2548125520
"format": "int64",
@@ -27963,6 +28002,7 @@
2796328002
"recurly",
2796428003
"redsys",
2796528004
"riskified",
28005+
"santander",
2796628006
"shift4",
2796728007
"signifyd",
2796828008
"square",
@@ -30878,6 +30918,10 @@
3087830918
},
3087930919
"WebhookDetails": {
3088030920
"type": "object",
30921+
"required": [
30922+
"payment_statuses_enabled",
30923+
"refund_statuses_enabled"
30924+
],
3088130925
"properties": {
3088230926
"webhook_version": {
3088330927
"type": "string",
@@ -30923,6 +30967,42 @@
3092330967
"description": "If this property is true, a webhook message is posted whenever a payment fails",
3092430968
"example": true,
3092530969
"nullable": true
30970+
},
30971+
"payment_statuses_enabled": {
30972+
"type": "array",
30973+
"items": {
30974+
"$ref": "#/components/schemas/IntentStatus"
30975+
},
30976+
"description": "List of payment statuses that triggers a webhook for payment intents",
30977+
"example": [
30978+
"succeeded",
30979+
"failed",
30980+
"partially_captured",
30981+
"requires_merchant_action"
30982+
]
30983+
},
30984+
"refund_statuses_enabled": {
30985+
"type": "array",
30986+
"items": {
30987+
"$ref": "#/components/schemas/IntentStatus"
30988+
},
30989+
"description": "List of refund statuses that triggers a webhook for refunds",
30990+
"example": [
30991+
"success",
30992+
"failure"
30993+
]
30994+
},
30995+
"payout_statuses_enabled": {
30996+
"type": "array",
30997+
"items": {
30998+
"$ref": "#/components/schemas/PayoutStatus"
30999+
},
31000+
"description": "List of payout statuses that triggers a webhook for payouts",
31001+
"example": [
31002+
"success",
31003+
"failed"
31004+
],
31005+
"nullable": true
3092631006
}
3092731007
},
3092831008
"additionalProperties": false

api-reference/v1/payments/payment--flows.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,9 @@ sequenceDiagram
226226

227227
**Required Fields:**
228228
- `off_session: true`
229-
- `recurring_details: { payment_method_id: "<from_setup>" }`
229+
- `recurring_details: {
230+
"type": "payment_method_id",
231+
"data": "<from_setup>"}`
230232

231233
**Use Case:** Subscription charges, scheduled billing without customer interaction
232234

0 commit comments

Comments
 (0)