feat(core): add payments post_session_tokens flow (#6202)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Swangi Kumari
2024-10-15 18:29:16 +05:30
committed by GitHub
parent d06d19fc96
commit 53e82c3fae
41 changed files with 1572 additions and 108 deletions

View File

@ -4,14 +4,15 @@ use hyperswitch_domain_models::{
router_flow_types::payments::{
Approve, Authorize, AuthorizeSessionToken, CalculateTax, Capture, CompleteAuthorize,
CreateConnectorCustomer, IncrementalAuthorization, PSync, PaymentMethodToken,
PostProcessing, PreProcessing, Reject, SdkSessionUpdate, Session, SetupMandate, Void,
PostProcessing, PostSessionTokens, PreProcessing, Reject, SdkSessionUpdate, Session,
SetupMandate, Void,
},
router_request_types::{
AuthorizeSessionTokenData, CompleteAuthorizeData, ConnectorCustomerData,
PaymentMethodTokenizationData, PaymentsApproveData, PaymentsAuthorizeData,
PaymentsCancelData, PaymentsCaptureData, PaymentsIncrementalAuthorizationData,
PaymentsPostProcessingData, PaymentsPreProcessingData, PaymentsRejectData,
PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
PaymentsPostProcessingData, PaymentsPostSessionTokensData, PaymentsPreProcessingData,
PaymentsRejectData, PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
SdkPaymentsSessionUpdateData, SetupMandateRequestData,
},
router_response_types::{PaymentsResponseData, TaxCalculationResponseData},
@ -39,6 +40,7 @@ pub trait Payment:
+ ConnectorCustomer
+ PaymentIncrementalAuthorization
+ PaymentSessionUpdate
+ PaymentPostSessionTokens
{
}
@ -124,6 +126,12 @@ pub trait PaymentSessionUpdate:
{
}
/// trait PostSessionTokens
pub trait PaymentPostSessionTokens:
api::ConnectorIntegration<PostSessionTokens, PaymentsPostSessionTokensData, PaymentsResponseData>
{
}
/// trait PaymentsCompleteAuthorize
pub trait PaymentsCompleteAuthorize:
api::ConnectorIntegration<CompleteAuthorize, CompleteAuthorizeData, PaymentsResponseData>

View File

@ -5,14 +5,15 @@ use hyperswitch_domain_models::{
router_flow_types::payments::{
Approve, Authorize, AuthorizeSessionToken, CalculateTax, Capture, CompleteAuthorize,
CreateConnectorCustomer, IncrementalAuthorization, PSync, PaymentMethodToken,
PostProcessing, PreProcessing, Reject, SdkSessionUpdate, Session, SetupMandate, Void,
PostProcessing, PostSessionTokens, PreProcessing, Reject, SdkSessionUpdate, Session,
SetupMandate, Void,
},
router_request_types::{
AuthorizeSessionTokenData, CompleteAuthorizeData, ConnectorCustomerData,
PaymentMethodTokenizationData, PaymentsApproveData, PaymentsAuthorizeData,
PaymentsCancelData, PaymentsCaptureData, PaymentsIncrementalAuthorizationData,
PaymentsPostProcessingData, PaymentsPreProcessingData, PaymentsRejectData,
PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
PaymentsPostProcessingData, PaymentsPostSessionTokensData, PaymentsPreProcessingData,
PaymentsRejectData, PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData,
SdkPaymentsSessionUpdateData, SetupMandateRequestData,
},
router_response_types::{PaymentsResponseData, TaxCalculationResponseData},
@ -112,6 +113,17 @@ pub trait PaymentSessionUpdateV2:
{
}
///trait PaymentPostSessionTokensV2
pub trait PaymentPostSessionTokensV2:
ConnectorIntegrationV2<
PostSessionTokens,
PaymentFlowData,
PaymentsPostSessionTokensData,
PaymentsResponseData,
>
{
}
/// trait PaymentsCompleteAuthorizeV2
pub trait PaymentsCompleteAuthorizeV2:
ConnectorIntegrationV2<
@ -188,5 +200,6 @@ pub trait PaymentV2:
+ PaymentIncrementalAuthorizationV2
+ TaxCalculationV2
+ PaymentSessionUpdateV2
+ PaymentPostSessionTokensV2
{
}

View File

@ -9,7 +9,8 @@ use hyperswitch_domain_models::{
payments::{
Authorize, AuthorizeSessionToken, Balance, CalculateTax, Capture, CompleteAuthorize,
CreateConnectorCustomer, IncrementalAuthorization, InitPayment, PSync,
PaymentMethodToken, PostProcessing, PreProcessing, Session, SetupMandate, Void,
PaymentMethodToken, PostProcessing, PostSessionTokens, PreProcessing, Session,
SetupMandate, Void,
},
refunds::{Execute, RSync},
webhooks::VerifyWebhookSource,
@ -19,10 +20,10 @@ use hyperswitch_domain_models::{
CompleteAuthorizeData, ConnectorCustomerData, DefendDisputeRequestData,
MandateRevokeRequestData, PaymentMethodTokenizationData, PaymentsAuthorizeData,
PaymentsCancelData, PaymentsCaptureData, PaymentsIncrementalAuthorizationData,
PaymentsPostProcessingData, PaymentsPreProcessingData, PaymentsSessionData,
PaymentsSyncData, PaymentsTaxCalculationData, RefundsData, RetrieveFileRequestData,
SetupMandateRequestData, SubmitEvidenceRequestData, UploadFileRequestData,
VerifyWebhookSourceRequestData,
PaymentsPostProcessingData, PaymentsPostSessionTokensData, PaymentsPreProcessingData,
PaymentsSessionData, PaymentsSyncData, PaymentsTaxCalculationData, RefundsData,
RetrieveFileRequestData, SetupMandateRequestData, SubmitEvidenceRequestData,
UploadFileRequestData, VerifyWebhookSourceRequestData,
},
router_response_types::{
AcceptDisputeResponse, DefendDisputeResponse, MandateRevokeResponseData,
@ -58,6 +59,12 @@ pub type PaymentsAuthorizeType =
/// Type alias for `ConnectorIntegration<CalculateTax, PaymentsTaxCalculationData, TaxCalculationResponseData>`
pub type PaymentsTaxCalculationType =
dyn ConnectorIntegration<CalculateTax, PaymentsTaxCalculationData, TaxCalculationResponseData>;
/// Type alias for `ConnectorIntegration<PostSessionTokens, PaymentsPostSessionTokensData, PaymentsResponseData>`
pub type PaymentsPostSessionTokensType = dyn ConnectorIntegration<
PostSessionTokens,
PaymentsPostSessionTokensData,
PaymentsResponseData,
>;
/// Type alias for `ConnectorIntegration<SetupMandate, SetupMandateRequestData, PaymentsResponseData>`
pub type SetupMandateType =
dyn ConnectorIntegration<SetupMandate, SetupMandateRequestData, PaymentsResponseData>;