mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 12:06:56 +08:00
feat(core): Add Support for Payments Dynamic Tax Calculation Based on Shipping Address (#5619)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -2,18 +2,19 @@
|
||||
|
||||
use hyperswitch_domain_models::{
|
||||
router_flow_types::payments::{
|
||||
Approve, Authorize, AuthorizeSessionToken, Capture, CompleteAuthorize,
|
||||
Approve, Authorize, AuthorizeSessionToken, CalculateTax, Capture, CompleteAuthorize,
|
||||
CreateConnectorCustomer, IncrementalAuthorization, PSync, PaymentMethodToken,
|
||||
PostProcessing, PreProcessing, Reject, Session, SetupMandate, Void,
|
||||
PostProcessing, PreProcessing, Reject, SdkSessionUpdate, Session, SetupMandate, Void,
|
||||
},
|
||||
router_request_types::{
|
||||
AuthorizeSessionTokenData, CompleteAuthorizeData, ConnectorCustomerData,
|
||||
PaymentMethodTokenizationData, PaymentsApproveData, PaymentsAuthorizeData,
|
||||
PaymentsCancelData, PaymentsCaptureData, PaymentsIncrementalAuthorizationData,
|
||||
PaymentsPostProcessingData, PaymentsPreProcessingData, PaymentsRejectData,
|
||||
PaymentsSessionData, PaymentsSyncData, SetupMandateRequestData,
|
||||
PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
|
||||
SdkPaymentsSessionUpdateData, SetupMandateRequestData,
|
||||
},
|
||||
router_response_types::PaymentsResponseData,
|
||||
router_response_types::{PaymentsResponseData, TaxCalculationResponseData},
|
||||
};
|
||||
|
||||
use crate::api;
|
||||
@ -37,6 +38,7 @@ pub trait Payment:
|
||||
+ PaymentsPostProcessing
|
||||
+ ConnectorCustomer
|
||||
+ PaymentIncrementalAuthorization
|
||||
+ PaymentSessionUpdate
|
||||
{
|
||||
}
|
||||
|
||||
@ -110,6 +112,18 @@ pub trait PaymentIncrementalAuthorization:
|
||||
{
|
||||
}
|
||||
|
||||
/// trait PaymentTaxCalculation
|
||||
pub trait PaymentTaxCalculation:
|
||||
api::ConnectorIntegration<CalculateTax, PaymentsTaxCalculationData, TaxCalculationResponseData>
|
||||
{
|
||||
}
|
||||
|
||||
/// trait SessionUpdate
|
||||
pub trait PaymentSessionUpdate:
|
||||
api::ConnectorIntegration<SdkSessionUpdate, SdkPaymentsSessionUpdateData, PaymentsResponseData>
|
||||
{
|
||||
}
|
||||
|
||||
/// trait PaymentsCompleteAuthorize
|
||||
pub trait PaymentsCompleteAuthorize:
|
||||
api::ConnectorIntegration<CompleteAuthorize, CompleteAuthorizeData, PaymentsResponseData>
|
||||
|
||||
@ -3,18 +3,19 @@
|
||||
use hyperswitch_domain_models::{
|
||||
router_data_v2::PaymentFlowData,
|
||||
router_flow_types::payments::{
|
||||
Approve, Authorize, AuthorizeSessionToken, Capture, CompleteAuthorize,
|
||||
Approve, Authorize, AuthorizeSessionToken, CalculateTax, Capture, CompleteAuthorize,
|
||||
CreateConnectorCustomer, IncrementalAuthorization, PSync, PaymentMethodToken,
|
||||
PostProcessing, PreProcessing, Reject, Session, SetupMandate, Void,
|
||||
PostProcessing, PreProcessing, Reject, SdkSessionUpdate, Session, SetupMandate, Void,
|
||||
},
|
||||
router_request_types::{
|
||||
AuthorizeSessionTokenData, CompleteAuthorizeData, ConnectorCustomerData,
|
||||
PaymentMethodTokenizationData, PaymentsApproveData, PaymentsAuthorizeData,
|
||||
PaymentsCancelData, PaymentsCaptureData, PaymentsIncrementalAuthorizationData,
|
||||
PaymentsPostProcessingData, PaymentsPreProcessingData, PaymentsRejectData,
|
||||
PaymentsSessionData, PaymentsSyncData, SetupMandateRequestData,
|
||||
PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
|
||||
SdkPaymentsSessionUpdateData, SetupMandateRequestData,
|
||||
},
|
||||
router_response_types::PaymentsResponseData,
|
||||
router_response_types::{PaymentsResponseData, TaxCalculationResponseData},
|
||||
};
|
||||
|
||||
use crate::api::{ConnectorCommon, ConnectorIntegrationV2, ConnectorValidation};
|
||||
@ -89,6 +90,28 @@ pub trait PaymentIncrementalAuthorizationV2:
|
||||
{
|
||||
}
|
||||
|
||||
///trait PaymentTaxCalculationV2
|
||||
pub trait PaymentTaxCalculationV2:
|
||||
ConnectorIntegrationV2<
|
||||
CalculateTax,
|
||||
PaymentFlowData,
|
||||
PaymentsTaxCalculationData,
|
||||
TaxCalculationResponseData,
|
||||
>
|
||||
{
|
||||
}
|
||||
|
||||
///trait PaymentSessionUpdateV2
|
||||
pub trait PaymentSessionUpdateV2:
|
||||
ConnectorIntegrationV2<
|
||||
SdkSessionUpdate,
|
||||
PaymentFlowData,
|
||||
SdkPaymentsSessionUpdateData,
|
||||
PaymentsResponseData,
|
||||
>
|
||||
{
|
||||
}
|
||||
|
||||
/// trait PaymentsCompleteAuthorizeV2
|
||||
pub trait PaymentsCompleteAuthorizeV2:
|
||||
ConnectorIntegrationV2<
|
||||
@ -163,5 +186,7 @@ pub trait PaymentV2:
|
||||
+ PaymentsPostProcessingV2
|
||||
+ ConnectorCustomerV2
|
||||
+ PaymentIncrementalAuthorizationV2
|
||||
+ PaymentTaxCalculationV2
|
||||
+ PaymentSessionUpdateV2
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user