Skip to content

Commit d03f753

Browse files
committed
Merge remote-tracking branch 'origin/main' into authorizedotnet-customer-create
2 parents 3415f06 + cf5737f commit d03f753

File tree

5 files changed

+128
-39
lines changed

5 files changed

+128
-39
lines changed

CHANGELOG.md

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

55
- - -
66

7+
## 2025.08.04.1
8+
9+
### Bug Fixes
10+
11+
- **wasm:** [BLUECODE] Added metadata configs for dashboard ([#8824](https://github.com/juspay/hyperswitch/pull/8824)) ([`5ac15cd`](https://github.com/juspay/hyperswitch/commit/5ac15cd4d388b058610465968bc7abde6b879332))
12+
13+
**Full Changelog:** [`2025.08.04.0...2025.08.04.1`](https://github.com/juspay/hyperswitch/compare/2025.08.04.0...2025.08.04.1)
14+
15+
- - -
16+
17+
## 2025.08.04.0
18+
19+
### Features
20+
21+
- **connector:** [BLUECODE] Added Bluecode Wallet QR Code Redirect Payment Method ([#8762](https://github.com/juspay/hyperswitch/pull/8762)) ([`c749bd9`](https://github.com/juspay/hyperswitch/commit/c749bd9c5128f8b5db1a3de060401a4d5dc19109))
22+
- **router:** [worldpayvantiv] add support for moto flag for v1 and extend vantiv api contract ([#8800](https://github.com/juspay/hyperswitch/pull/8800)) ([`8ac5e50`](https://github.com/juspay/hyperswitch/commit/8ac5e50422d258ca400390718625282ed6c09ce1))
23+
- **vsaas:** Enable creating v2 merchant accounts in platform organization ([#8823](https://github.com/juspay/hyperswitch/pull/8823)) ([`ecd7366`](https://github.com/juspay/hyperswitch/commit/ecd7366d7b65f260ecca8e55496d12435b35455d))
24+
- Add ci support for mock server ([#8742](https://github.com/juspay/hyperswitch/pull/8742)) ([`03bdcfe`](https://github.com/juspay/hyperswitch/commit/03bdcfea678c7584b1e215923fd084d503367313))
25+
26+
### Bug Fixes
27+
28+
- **RevenueRecovery:** Skip record-back for failed invoices on auto-voiding billing connectors ([#8548](https://github.com/juspay/hyperswitch/pull/8548)) ([`82cf2cb`](https://github.com/juspay/hyperswitch/commit/82cf2cb14651e9b7ddb286f5705d101563de44c0))
29+
- **wasm:** Invalid variant for payout bank transfers ([#8765](https://github.com/juspay/hyperswitch/pull/8765)) ([`00b792d`](https://github.com/juspay/hyperswitch/commit/00b792d8d1027e2997f5e7df7d11d3e072b81aa0))
30+
31+
### Refactors
32+
33+
- **mandate:** Move repeated code to a separate function within Mandate impl ([#8772](https://github.com/juspay/hyperswitch/pull/8772)) ([`e1c66e7`](https://github.com/juspay/hyperswitch/commit/e1c66e72655daa254656cc67f80f70f3447043f7))
34+
35+
### Miscellaneous Tasks
36+
37+
- **env:** Revert wasm changes for payload connector ([#8818](https://github.com/juspay/hyperswitch/pull/8818)) ([`e6268d6`](https://github.com/juspay/hyperswitch/commit/e6268d6d5e2a4d3015d1c4982701e1f27895511e))
38+
- `xof` currency to cybersource cards ([#8799](https://github.com/juspay/hyperswitch/pull/8799)) ([`bc4d29a`](https://github.com/juspay/hyperswitch/commit/bc4d29a3e5ee24b14b32262449a7b640e9f6edaf))
39+
40+
**Full Changelog:** [`2025.08.01.0...2025.08.04.0`](https://github.com/juspay/hyperswitch/compare/2025.08.01.0...2025.08.04.0)
41+
42+
- - -
43+
744
## 2025.08.01.0
845

946
### Features

crates/connector_configs/src/connector.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ pub struct ConfigMetadata {
133133
pub platform_url: Option<InputData>,
134134
pub report_group: Option<InputData>,
135135
pub proxy_url: Option<InputData>,
136+
pub shop_name: Option<InputData>,
136137
}
137138

138139
#[serde_with::skip_serializing_none]

crates/hyperswitch_connectors/src/connectors/paytm.rs

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
pub mod transformers;
22

3-
use std::sync::LazyLock;
4-
53
use common_enums::enums;
64
use common_utils::{
75
errors::CustomResult,
@@ -24,7 +22,8 @@ use hyperswitch_domain_models::{
2422
RefundsData, SetupMandateRequestData,
2523
},
2624
router_response_types::{
27-
ConnectorInfo, PaymentsResponseData, RefundsResponseData, SupportedPaymentMethods,
25+
ConnectorInfo, PaymentMethodDetails, PaymentsResponseData, RefundsResponseData,
26+
SupportedPaymentMethods, SupportedPaymentMethodsExt,
2827
},
2928
types::{
3029
PaymentsAuthorizeRouterData, PaymentsCaptureRouterData, PaymentsSyncRouterData,
@@ -42,6 +41,7 @@ use hyperswitch_interfaces::{
4241
types::{self, Response},
4342
webhooks,
4443
};
44+
use lazy_static::lazy_static;
4545
use transformers as paytm;
4646

4747
use crate::{constants::headers, types::ResponseRouterData, utils};
@@ -588,27 +588,57 @@ impl webhooks::IncomingWebhook for Paytm {
588588
}
589589
}
590590

591-
static PAYTM_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods> =
592-
LazyLock::new(SupportedPaymentMethods::new);
593-
594-
static PAYTM_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
595-
display_name: "Paytm",
596-
description: "Paytm connector",
597-
connector_type: enums::PaymentConnectorCategory::PaymentGateway,
598-
};
591+
lazy_static! {
592+
static ref PAYTM_SUPPORTED_PAYMENT_METHODS: SupportedPaymentMethods = {
593+
let supported_capture_methods = vec![enums::CaptureMethod::Automatic];
594+
595+
let mut paytm_supported_payment_methods = SupportedPaymentMethods::new();
596+
paytm_supported_payment_methods.add(
597+
enums::PaymentMethod::Upi,
598+
enums::PaymentMethodType::UpiCollect,
599+
PaymentMethodDetails{
600+
mandates: common_enums::FeatureStatus::NotSupported,
601+
refunds: common_enums::FeatureStatus::NotSupported,
602+
supported_capture_methods: supported_capture_methods.clone(),
603+
specific_features: None,
604+
},
605+
);
606+
607+
paytm_supported_payment_methods.add(
608+
enums::PaymentMethod::Upi,
609+
enums::PaymentMethodType::UpiIntent,
610+
PaymentMethodDetails{
611+
mandates: common_enums::FeatureStatus::NotSupported,
612+
refunds: common_enums::FeatureStatus::NotSupported,
613+
supported_capture_methods,
614+
specific_features: None,
615+
},
616+
);
617+
618+
paytm_supported_payment_methods
619+
};
620+
621+
static ref PAYTM_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
622+
display_name: "PAYTM",
623+
description:
624+
"Paytm is an Indian multinational fintech company specializing in digital payments and financial services. Initially known for its mobile wallet, it has expanded to include a payment bank, e-commerce, ticketing, and wealth management services.",
625+
connector_type: enums::PaymentConnectorCategory::PaymentGateway,
626+
};
627+
628+
static ref PAYTM_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
599629

600-
static PAYTM_SUPPORTED_WEBHOOK_FLOWS: [enums::EventClass; 0] = [];
630+
}
601631

602632
impl ConnectorSpecifications for Paytm {
603633
fn get_connector_about(&self) -> Option<&'static ConnectorInfo> {
604-
Some(&PAYTM_CONNECTOR_INFO)
634+
Some(&*PAYTM_CONNECTOR_INFO)
605635
}
606636

607637
fn get_supported_payment_methods(&self) -> Option<&'static SupportedPaymentMethods> {
608638
Some(&*PAYTM_SUPPORTED_PAYMENT_METHODS)
609639
}
610640

611641
fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
612-
Some(&PAYTM_SUPPORTED_WEBHOOK_FLOWS)
642+
Some(&*PAYTM_SUPPORTED_WEBHOOK_FLOWS)
613643
}
614644
}

crates/hyperswitch_connectors/src/connectors/phonepe.rs

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
pub mod transformers;
22

3-
use std::sync::LazyLock;
4-
53
use common_enums::enums;
64
use common_utils::{
75
errors::CustomResult,
@@ -24,7 +22,8 @@ use hyperswitch_domain_models::{
2422
RefundsData, SetupMandateRequestData,
2523
},
2624
router_response_types::{
27-
ConnectorInfo, PaymentsResponseData, RefundsResponseData, SupportedPaymentMethods,
25+
ConnectorInfo, PaymentMethodDetails, PaymentsResponseData, RefundsResponseData,
26+
SupportedPaymentMethods, SupportedPaymentMethodsExt,
2827
},
2928
types::{
3029
PaymentsAuthorizeRouterData, PaymentsCaptureRouterData, PaymentsSyncRouterData,
@@ -42,6 +41,7 @@ use hyperswitch_interfaces::{
4241
types::{self, Response},
4342
webhooks,
4443
};
44+
use lazy_static::lazy_static;
4545
use transformers as phonepe;
4646

4747
use crate::{constants::headers, types::ResponseRouterData, utils};
@@ -588,27 +588,57 @@ impl webhooks::IncomingWebhook for Phonepe {
588588
}
589589
}
590590

591-
static PHONEPE_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods> =
592-
LazyLock::new(SupportedPaymentMethods::new);
593-
594-
static PHONEPE_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
595-
display_name: "Phonepe",
596-
description: "Phonepe connector",
597-
connector_type: enums::PaymentConnectorCategory::PaymentGateway,
598-
};
591+
lazy_static! {
592+
static ref PHONEPE_SUPPORTED_PAYMENT_METHODS: SupportedPaymentMethods = {
593+
let supported_capture_methods = vec![enums::CaptureMethod::Automatic];
594+
595+
let mut phonepe_supported_payment_methods = SupportedPaymentMethods::new();
596+
phonepe_supported_payment_methods.add(
597+
enums::PaymentMethod::Upi,
598+
enums::PaymentMethodType::UpiCollect,
599+
PaymentMethodDetails{
600+
mandates: common_enums::FeatureStatus::NotSupported,
601+
refunds: common_enums::FeatureStatus::NotSupported,
602+
supported_capture_methods: supported_capture_methods.clone(),
603+
specific_features: None,
604+
},
605+
);
606+
607+
phonepe_supported_payment_methods.add(
608+
enums::PaymentMethod::Upi,
609+
enums::PaymentMethodType::UpiIntent,
610+
PaymentMethodDetails{
611+
mandates: common_enums::FeatureStatus::NotSupported,
612+
refunds: common_enums::FeatureStatus::NotSupported,
613+
supported_capture_methods,
614+
specific_features: None,
615+
},
616+
);
617+
618+
phonepe_supported_payment_methods
619+
};
620+
621+
static ref PHONEPE_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
622+
display_name: "PHONEPE",
623+
description:
624+
"PhonePe is a digital payments and financial services platform built on the UPI system. It allows users to make instant payments, recharge mobiles, pay bills, and access financial services like investments and insurance.",
625+
connector_type: enums::PaymentConnectorCategory::PaymentGateway,
626+
};
627+
628+
static ref PHONEPE_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
599629

600-
static PHONEPE_SUPPORTED_WEBHOOK_FLOWS: [enums::EventClass; 0] = [];
630+
}
601631

602632
impl ConnectorSpecifications for Phonepe {
603633
fn get_connector_about(&self) -> Option<&'static ConnectorInfo> {
604-
Some(&PHONEPE_CONNECTOR_INFO)
634+
Some(&*PHONEPE_CONNECTOR_INFO)
605635
}
606636

607637
fn get_supported_payment_methods(&self) -> Option<&'static SupportedPaymentMethods> {
608638
Some(&*PHONEPE_SUPPORTED_PAYMENT_METHODS)
609639
}
610640

611641
fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
612-
Some(&PHONEPE_SUPPORTED_WEBHOOK_FLOWS)
642+
Some(&*PHONEPE_SUPPORTED_WEBHOOK_FLOWS)
613643
}
614644
}

crates/router/src/core/admin.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -714,17 +714,8 @@ impl MerchantAccountCreateBridge for api::MerchantAccountCreate {
714714
.create_or_validate(db)
715715
.await?;
716716

717-
let merchant_account_type = match organization.get_organization_type() {
718-
OrganizationType::Standard => MerchantAccountType::Standard,
719-
// Blocking v2 merchant account create for platform
720-
OrganizationType::Platform => {
721-
return Err(errors::ApiErrorResponse::InvalidRequestData {
722-
message: "Merchant account creation is not allowed for a platform organization"
723-
.to_string(),
724-
}
725-
.into())
726-
}
727-
};
717+
// V2 currently supports creation of Standard merchant accounts only, irrespective of organization type
718+
let merchant_account_type = MerchantAccountType::Standard;
728719

729720
let key = key_store.key.into_inner();
730721
let id = identifier.to_owned();

0 commit comments

Comments
 (0)