feat(apple_pay): add support for pre decrypted apple pay token (#2056)

Co-authored-by: Sangamesh <sangamesh.kulkarni@juspay.in>
This commit is contained in:
Shankar Singh C
2023-09-07 22:49:10 +05:30
committed by GitHub
parent 81c6480bdf
commit 75ee632782
34 changed files with 1174 additions and 227 deletions

View File

@ -2363,8 +2363,15 @@ pub struct ApplepayConnectorMetadataRequest {
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct ApplepaySessionTokenData {
#[serde(rename = "apple_pay")]
pub data: ApplePayMetadata,
#[serde(flatten)]
pub data: ApplepaySessionTokenMetadata,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ApplepaySessionTokenMetadata {
ApplePayCombined(ApplePayCombinedMetadata),
ApplePay(ApplePayMetadata),
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
@ -2373,6 +2380,19 @@ pub struct ApplePayMetadata {
pub session_token_data: SessionTokenInfo,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ApplePayCombinedMetadata {
Simplified {
payment_request_data: PaymentRequestMetadata,
session_token_data: SessionTokenForSimplifiedApplePay,
},
Manual {
payment_request_data: PaymentRequestMetadata,
session_token_data: SessionTokenInfo,
},
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct PaymentRequestMetadata {
pub supported_networks: Vec<String>,
@ -2390,6 +2410,11 @@ pub struct SessionTokenInfo {
pub initiative_context: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, ToSchema)]
pub struct SessionTokenForSimplifiedApplePay {
pub initiative_context: String,
}
#[derive(Debug, Clone, Eq, PartialEq, serde::Serialize, ToSchema)]
#[serde(tag = "wallet_name")]
#[serde(rename_all = "snake_case")]