-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(pm_auth): Added /link and /exchange APIs with corresponding changes
- Loading branch information
1 parent
643da1e
commit eccf642
Showing
29 changed files
with
1,569 additions
and
102 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
use common_enums::{PaymentMethod, PaymentMethodType}; | ||
use common_utils::{ | ||
events::{ApiEventMetric, ApiEventsType}, | ||
impl_misc_api_event_type, | ||
}; | ||
|
||
#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)] | ||
#[serde(rename_all = "snake_case")] | ||
pub struct LinkTokenCreateRequest { | ||
pub language: Option<String>, // optional language field to be passed | ||
pub client_secret: Option<String>, // client secret to be passed in req body | ||
pub payment_id: String, // payment_id to be passed in req body for redis pm_auth connector name fetch | ||
pub payment_method: PaymentMethod, // payment_method to be used for filtering pm_auth connector | ||
pub payment_method_type: PaymentMethodType, // payment_method_type to be used for filtering pm_auth connector | ||
} | ||
|
||
#[derive(Debug, Clone, serde::Serialize)] | ||
pub struct LinkTokenCreateResponse { | ||
pub link_token: String, // link_token received in response | ||
pub connector: String, // pm_auth connector name in response | ||
} | ||
|
||
#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)] | ||
#[serde(rename_all = "snake_case")] | ||
|
||
pub struct ExchangeTokenCreateRequest { | ||
pub public_token: String, | ||
pub client_secret: Option<String>, | ||
pub payment_id: String, | ||
pub payment_method: PaymentMethod, | ||
pub payment_method_type: PaymentMethodType, | ||
} | ||
|
||
#[derive(Debug, Clone, serde::Serialize)] | ||
pub struct ExchangeTokenCreateResponse { | ||
pub access_token: String, | ||
} | ||
|
||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] | ||
pub struct PaymentMethodAuthConfig { | ||
pub enabled_payment_methods: Vec<PaymentMethodAuthConnectorChoice>, | ||
} | ||
|
||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] | ||
pub struct PaymentMethodAuthConnectorChoice { | ||
pub payment_method: PaymentMethod, | ||
pub payment_method_type: PaymentMethodType, | ||
pub connector_name: String, | ||
pub mca_id: String, | ||
} | ||
|
||
impl_misc_api_event_type!( | ||
LinkTokenCreateRequest, | ||
LinkTokenCreateResponse, | ||
ExchangeTokenCreateRequest, | ||
ExchangeTokenCreateResponse | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.