refactor: store card_cvc in extended_card_info and extend max ttl (#4568)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Chethan Rao
2024-05-07 17:18:49 +05:30
committed by GitHub
parent 5d7481ec29
commit 1b5b566387
4 changed files with 16 additions and 5 deletions

View File

@ -1113,7 +1113,7 @@ pub struct ExtendedCardInfoConfig {
#[schema(value_type = String)] #[schema(value_type = String)]
pub public_key: Secret<String>, pub public_key: Secret<String>,
/// TTL for extended card info /// TTL for extended card info
#[schema(default = 900, maximum = 3600, value_type = u16)] #[schema(default = 900, maximum = 7200, value_type = u16)]
#[serde(default)] #[serde(default)]
pub ttl_in_secs: TtlForExtendedCardInfo, pub ttl_in_secs: TtlForExtendedCardInfo,
} }
@ -1137,7 +1137,7 @@ impl<'de> Deserialize<'de> for TtlForExtendedCardInfo {
// Check if value exceeds the maximum allowed // Check if value exceeds the maximum allowed
if value > consts::MAX_TTL_FOR_EXTENDED_CARD_INFO { if value > consts::MAX_TTL_FOR_EXTENDED_CARD_INFO {
Err(serde::de::Error::custom( Err(serde::de::Error::custom(
"ttl_in_secs must be less than or equal to 3600 (1hr)", "ttl_in_secs must be less than or equal to 7200 (2hrs)",
)) ))
} else { } else {
Ok(Self(value)) Ok(Self(value))

View File

@ -934,6 +934,10 @@ pub struct ExtendedCardInfo {
#[schema(value_type = String, example = "John Test")] #[schema(value_type = String, example = "John Test")]
pub card_holder_name: Option<Secret<String>>, pub card_holder_name: Option<Secret<String>>,
/// The CVC number for the card
#[schema(value_type = String, example = "242")]
pub card_cvc: Secret<String>,
/// The name of the issuer of card /// The name of the issuer of card
#[schema(example = "chase")] #[schema(example = "chase")]
pub card_issuer: Option<String>, pub card_issuer: Option<String>,
@ -959,6 +963,7 @@ impl From<Card> for ExtendedCardInfo {
card_exp_month: value.card_exp_month, card_exp_month: value.card_exp_month,
card_exp_year: value.card_exp_year, card_exp_year: value.card_exp_year,
card_holder_name: value.card_holder_name, card_holder_name: value.card_holder_name,
card_cvc: value.card_cvc,
card_issuer: value.card_issuer, card_issuer: value.card_issuer,
card_network: value.card_network, card_network: value.card_network,
card_type: value.card_type, card_type: value.card_type,

View File

@ -82,4 +82,4 @@ pub const DEFAULT_ENABLE_SAVED_PAYMENT_METHOD: bool = false;
pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60; pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60;
/// Max ttl for Extended card info in redis (in seconds) /// Max ttl for Extended card info in redis (in seconds)
pub const MAX_TTL_FOR_EXTENDED_CARD_INFO: u16 = 60 * 60; pub const MAX_TTL_FOR_EXTENDED_CARD_INFO: u16 = 60 * 60 * 2;

View File

@ -8717,7 +8717,8 @@
"card_number", "card_number",
"card_exp_month", "card_exp_month",
"card_exp_year", "card_exp_year",
"card_holder_name" "card_holder_name",
"card_cvc"
], ],
"properties": { "properties": {
"card_number": { "card_number": {
@ -8740,6 +8741,11 @@
"description": "The card holder's name", "description": "The card holder's name",
"example": "John Test" "example": "John Test"
}, },
"card_cvc": {
"type": "string",
"description": "The CVC number for the card",
"example": "242"
},
"card_issuer": { "card_issuer": {
"type": "string", "type": "string",
"description": "The name of the issuer of card", "description": "The name of the issuer of card",
@ -8786,7 +8792,7 @@
"format": "int32", "format": "int32",
"description": "TTL for extended card info", "description": "TTL for extended card info",
"default": 900, "default": 900,
"maximum": 3600, "maximum": 7200,
"minimum": 0 "minimum": 0
} }
} }