feat(subscriptions): Add Subscription confirm handler (#9353)

Co-authored-by: Prajjwal kumar <write2prajjwal@gmail.com>
Co-authored-by: Prajjwal Kumar <prajjwal.kumar@juspay.in>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
Co-authored-by: Jagan Elavarasan <jaganelavarasan@gmail.com>
This commit is contained in:
Sarthak Soni
2025-09-25 19:17:51 +05:30
committed by GitHub
parent 84f3013c88
commit f02d18038c
20 changed files with 1007 additions and 63 deletions

View File

@ -2,30 +2,35 @@
use hyperswitch_domain_models::{
router_data_v2::flow_common_types::{
GetSubscriptionEstimateData, GetSubscriptionPlanPricesData, GetSubscriptionPlansData,
SubscriptionCreateData,
SubscriptionCreateData, SubscriptionCustomerData,
},
router_flow_types::subscriptions::{
GetSubscriptionEstimate, GetSubscriptionPlanPrices, GetSubscriptionPlans,
SubscriptionCreate,
router_flow_types::{
subscriptions::{GetSubscriptionPlanPrices, GetSubscriptionPlans, SubscriptionCreate},
CreateConnectorCustomer, GetSubscriptionEstimate,
},
router_request_types::subscriptions::{
GetSubscriptionEstimateRequest, GetSubscriptionPlanPricesRequest,
GetSubscriptionPlansRequest, SubscriptionCreateRequest,
router_request_types::{
subscriptions::{
GetSubscriptionEstimateRequest, GetSubscriptionPlanPricesRequest,
GetSubscriptionPlansRequest, SubscriptionCreateRequest,
},
ConnectorCustomerData,
},
router_response_types::subscriptions::{
GetSubscriptionEstimateResponse, GetSubscriptionPlanPricesResponse,
GetSubscriptionPlansResponse, SubscriptionCreateResponse,
router_response_types::{
subscriptions::{
GetSubscriptionEstimateResponse, GetSubscriptionPlanPricesResponse,
GetSubscriptionPlansResponse, SubscriptionCreateResponse,
},
PaymentsResponseData,
},
};
use super::payments_v2::ConnectorCustomerV2;
use crate::connector_integration_v2::ConnectorIntegrationV2;
/// trait SubscriptionsV2
pub trait SubscriptionsV2:
GetSubscriptionPlansV2
+ SubscriptionsCreateV2
+ ConnectorCustomerV2
+ SubscriptionConnectorCustomerV2
+ GetSubscriptionPlanPricesV2
+ GetSubscriptionEstimateV2
{
@ -64,6 +69,16 @@ pub trait SubscriptionsCreateV2:
{
}
/// trait SubscriptionConnectorCustomerV2
pub trait SubscriptionConnectorCustomerV2:
ConnectorIntegrationV2<
CreateConnectorCustomer,
SubscriptionCustomerData,
ConnectorCustomerData,
PaymentsResponseData,
>
{
}
/// trait GetSubscriptionEstimate for V2
pub trait GetSubscriptionEstimateV2:
ConnectorIntegrationV2<