Skip to content

Commit 23b20dc

Browse files
committed
Merge branch 'main' of github.com:juspay/hyperswitch into connector/nordea-sepa
* 'main' of github.com:juspay/hyperswitch: fix(router): [worldpayvantiv] dispute validations and statuses (#8862) chore(version): 2025.08.07.0 feat(connector): [WORLDPAYVANTIV] Populate Network Decline Error Code & Message (#8856) feat(router): add support for partial authorization (#8833) feat(gRPC): build gRPC client interface to initiate communication with recovery-decider service (#8178) fix(connector): [CYBERSOURCE] fix response field for netcetera authentication response (#8850) chore(events): making events nanosecond level precision (#8759)
2 parents a5a6645 + 1b2a98c commit 23b20dc

File tree

96 files changed

+1714
-244
lines changed

Some content is hidden

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

96 files changed

+1714
-244
lines changed

CHANGELOG.md

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

55
- - -
66

7+
## 2025.08.07.0
8+
9+
### Features
10+
11+
- **connector:**
12+
- [Barclaycard] Add Google Pay Payment Method ([#8786](https://github.com/juspay/hyperswitch/pull/8786)) ([`434e7a7`](https://github.com/juspay/hyperswitch/commit/434e7a7a8b3ce40937f1f09c22bee2f5550db2be))
13+
- [WORLDPAYVANTIV] Populate Network Decline Error Code & Message ([#8856](https://github.com/juspay/hyperswitch/pull/8856)) ([`e2bfce8`](https://github.com/juspay/hyperswitch/commit/e2bfce8974dec9348d5829c39ad1f9acd340b9e3))
14+
- **core:** Add support for Void after Capture ([#8839](https://github.com/juspay/hyperswitch/pull/8839)) ([`57e92c9`](https://github.com/juspay/hyperswitch/commit/57e92c9fdaec6e8717369074b44c45ab3ceb5162))
15+
- **gRPC:** Build gRPC client interface to initiate communication with recovery-decider service ([#8178](https://github.com/juspay/hyperswitch/pull/8178)) ([`654c15e`](https://github.com/juspay/hyperswitch/commit/654c15ee196034313ae14ab6ff8a4d6499458388))
16+
- **router:**
17+
- [worldpayvantiv] add dispute list sync and implement dispute ([#8830](https://github.com/juspay/hyperswitch/pull/8830)) ([`640d055`](https://github.com/juspay/hyperswitch/commit/640d0552f96721d63c14fda4a07fc5987cea29a0))
18+
- Add support for partial authorization ([#8833](https://github.com/juspay/hyperswitch/pull/8833)) ([`c354e62`](https://github.com/juspay/hyperswitch/commit/c354e62f9da7cff7996f44bdc9c2835c30d71de6))
19+
20+
### Bug Fixes
21+
22+
- **connector:** [CYBERSOURCE] fix response field for netcetera authentication response ([#8850](https://github.com/juspay/hyperswitch/pull/8850)) ([`30b4522`](https://github.com/juspay/hyperswitch/commit/30b4522685521d5c49923a5ae62e5cda36a2eb9d))
23+
- **wasm:** [FISERV] Added GooglePay Payment Method Type ([#8832](https://github.com/juspay/hyperswitch/pull/8832)) ([`0598782`](https://github.com/juspay/hyperswitch/commit/0598782048d70d49744cae5ec61d8f49565cd50a))
24+
25+
### Miscellaneous Tasks
26+
27+
- **events:** Making events nanosecond level precision ([#8759](https://github.com/juspay/hyperswitch/pull/8759)) ([`c6fcf29`](https://github.com/juspay/hyperswitch/commit/c6fcf29f692b873b227148f996769c1a493755bd))
28+
29+
**Full Changelog:** [`2025.08.06.0...2025.08.07.0`](https://github.com/juspay/hyperswitch/compare/2025.08.06.0...2025.08.07.0)
30+
31+
- - -
32+
733
## 2025.08.06.0
834

935
### Features

Cargo.lock

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

api-reference/v1/openapi_spec_v1.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7972,6 +7972,7 @@
79727972
"void_failed",
79737973
"auto_refunded",
79747974
"partial_charged",
7975+
"partially_authorized",
79757976
"partial_charged_and_chargeable",
79767977
"unresolved",
79777978
"pending",
@@ -14811,6 +14812,7 @@
1481114812
"payment_cancelled",
1481214813
"payment_cancelled_post_capture",
1481314814
"payment_authorized",
14815+
"payment_partially_authorized",
1481414816
"payment_captured",
1481514817
"payment_expired",
1481614818
"action_required",
@@ -16666,6 +16668,7 @@
1666616668
"requires_capture",
1666716669
"partially_captured",
1666816670
"partially_captured_and_capturable",
16671+
"partially_authorized_and_requires_capture",
1666916672
"conflicted",
1667016673
"expired"
1667116674
]
@@ -22698,6 +22701,11 @@
2269822701
"format": "date-time",
2269922702
"description": "Date the payer placed the order.",
2270022703
"nullable": true
22704+
},
22705+
"enable_partial_authorization": {
22706+
"type": "boolean",
22707+
"description": "Allow partial authorization for this payment",
22708+
"nullable": true
2270122709
}
2270222710
}
2270322711
},
@@ -23166,6 +23174,11 @@
2316623174
"format": "date-time",
2316723175
"description": "Date the payer placed the order.",
2316823176
"nullable": true
23177+
},
23178+
"enable_partial_authorization": {
23179+
"type": "boolean",
23180+
"description": "Allow partial authorization for this payment",
23181+
"nullable": true
2316923182
}
2317023183
}
2317123184
},
@@ -23767,6 +23780,11 @@
2376723780
"type": "string",
2376823781
"description": "Contains whole connector response",
2376923782
"nullable": true
23783+
},
23784+
"enable_partial_authorization": {
23785+
"type": "boolean",
23786+
"description": "Allow partial authorization for this payment",
23787+
"nullable": true
2377023788
}
2377123789
}
2377223790
},
@@ -24525,6 +24543,11 @@
2452524543
"format": "date-time",
2452624544
"description": "Date the payer placed the order.",
2452724545
"nullable": true
24546+
},
24547+
"enable_partial_authorization": {
24548+
"type": "boolean",
24549+
"description": "Allow partial authorization for this payment",
24550+
"nullable": true
2452824551
}
2452924552
},
2453024553
"additionalProperties": false
@@ -25152,6 +25175,11 @@
2515225175
"type": "string",
2515325176
"description": "Contains whole connector response",
2515425177
"nullable": true
25178+
},
25179+
"enable_partial_authorization": {
25180+
"type": "boolean",
25181+
"description": "Allow partial authorization for this payment",
25182+
"nullable": true
2515525183
}
2515625184
}
2515725185
},
@@ -25753,6 +25781,11 @@
2575325781
"format": "date-time",
2575425782
"description": "Date the payer placed the order.",
2575525783
"nullable": true
25784+
},
25785+
"enable_partial_authorization": {
25786+
"type": "boolean",
25787+
"description": "Allow partial authorization for this payment",
25788+
"nullable": true
2575625789
}
2575725790
}
2575825791
},

api-reference/v2/openapi_spec_v2.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4909,6 +4909,7 @@
49094909
"void_failed",
49104910
"auto_refunded",
49114911
"partial_charged",
4912+
"partially_authorized",
49124913
"partial_charged_and_chargeable",
49134914
"unresolved",
49144915
"pending",
@@ -10787,6 +10788,7 @@
1078710788
"payment_cancelled",
1078810789
"payment_cancelled_post_capture",
1078910790
"payment_authorized",
10791+
"payment_partially_authorized",
1079010792
"payment_captured",
1079110793
"payment_expired",
1079210794
"action_required",
@@ -12754,6 +12756,7 @@
1275412756
"requires_capture",
1275512757
"partially_captured",
1275612758
"partially_captured_and_capturable",
12759+
"partially_authorized_and_requires_capture",
1275712760
"conflicted",
1275812761
"expired"
1275912762
]

config/config.example.toml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,12 +1157,18 @@ url = "http://localhost:8080" # Open Router URL
11571157
base_url = "http://localhost:8000" # Unified Connector Service Base URL
11581158
connection_timeout = 10 # Connection Timeout Duration in Seconds
11591159

1160+
[grpc_client.recovery_decider_client] # Revenue recovery client base url
1161+
base_url = "http://127.0.0.1:8080" #Base URL
1162+
11601163
[billing_connectors_invoice_sync]
11611164
billing_connectors_which_requires_invoice_sync_call = "recurly" # List of billing connectors which has invoice sync api call
11621165

11631166
[revenue_recovery]
1164-
monitoring_threshold_in_seconds = 2592000 # 30*24*60*60 secs , threshold for monitoring the retry system
1165-
retry_algorithm_type = "cascading" # type of retry algorithm
1167+
monitoring_threshold_in_seconds = 60 # 60 secs , threshold for monitoring the retry system
1168+
retry_algorithm_type = "cascading" # type of retry algorithm
1169+
1170+
[revenue_recovery.recovery_timestamp] # Timestamp configuration for Revenue Recovery
1171+
initial_timestamp_in_hours = 1 # number of hours added to start time for Decider service of Revenue Recovery
11661172

11671173
[clone_connector_allowlist]
11681174
merchant_ids = "merchant_ids" # Comma-separated list of allowed merchant IDs

config/deployments/env_specific.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,9 @@ host = "localhost" # Client Host
354354
port = 7000 # Client Port
355355
service = "dynamo" # Service name
356356

357+
[grpc_client.recovery_decider_client] # Revenue recovery client base url
358+
base_url = "http://127.0.0.1:8080" #Base URL
359+
357360
[theme.storage]
358361
file_storage_backend = "aws_s3" # Theme storage backend to be used
359362

@@ -382,6 +385,9 @@ connector_names = "connector_names" # Comma-separated list of allowed connec
382385
base_url = "http://localhost:8000" # Unified Connector Service Base URL
383386
connection_timeout = 10 # Connection Timeout Duration in Seconds
384387

388+
[revenue_recovery.recovery_timestamp] # Timestamp configuration for Revenue Recovery
389+
initial_timestamp_in_hours = 1 # number of hours added to start time for Decider service of Revenue Recovery
390+
385391
[chat]
386392
enabled = false # Enable or disable chat features
387393
hyperswitch_ai_host = "http://0.0.0.0:8000" # Hyperswitch ai workflow host

config/deployments/integration_test.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ billing_connectors_which_requires_invoice_sync_call = "recurly"
823823

824824

825825
[revenue_recovery]
826-
monitoring_threshold_in_seconds = 2592000
826+
monitoring_threshold_in_seconds = 60
827827
retry_algorithm_type = "cascading"
828828

829829
[authentication_providers]

config/deployments/production.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -838,8 +838,5 @@ click_to_pay = {connector_list = "adyen, cybersource, trustpay"}
838838

839839

840840
[revenue_recovery]
841-
monitoring_threshold_in_seconds = 2592000
841+
monitoring_threshold_in_seconds = 60
842842
retry_algorithm_type = "cascading"
843-
844-
[list_dispute_supported_connectors]
845-
connector_list = "worldpayvantiv"

config/deployments/sandbox.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ billing_connectors_which_requires_invoice_sync_call = "recurly"
844844
click_to_pay = {connector_list = "adyen, cybersource, trustpay"}
845845

846846
[revenue_recovery]
847-
monitoring_threshold_in_seconds = 2592000
847+
monitoring_threshold_in_seconds = 60
848848
retry_algorithm_type = "cascading"
849849

850850
[list_dispute_supported_connectors]

config/development.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1231,6 +1231,9 @@ host = "localhost"
12311231
port = 8000
12321232
service = "dynamo"
12331233

1234+
[grpc_client.recovery_decider_client] # Revenue recovery client base url
1235+
base_url = "http://127.0.0.1:8080" #Base URL
1236+
12341237
[theme.storage]
12351238
file_storage_backend = "file_system" # Theme storage backend to be used
12361239

@@ -1267,9 +1270,12 @@ ucs_only_connectors = [
12671270
]
12681271

12691272
[revenue_recovery]
1270-
monitoring_threshold_in_seconds = 2592000
1273+
monitoring_threshold_in_seconds = 60
12711274
retry_algorithm_type = "cascading"
12721275

1276+
[revenue_recovery.recovery_timestamp]
1277+
initial_timestamp_in_hours = 1
1278+
12731279
[clone_connector_allowlist]
12741280
merchant_ids = "merchant_123, merchant_234" # Comma-separated list of allowed merchant IDs
12751281
connector_names = "stripe, adyen" # Comma-separated list of allowed connector names

0 commit comments

Comments
 (0)