mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
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:
@ -1113,7 +1113,7 @@ pub struct ExtendedCardInfoConfig {
|
||||
#[schema(value_type = String)]
|
||||
pub public_key: Secret<String>,
|
||||
/// TTL for extended card info
|
||||
#[schema(default = 900, maximum = 3600, value_type = u16)]
|
||||
#[schema(default = 900, maximum = 7200, value_type = u16)]
|
||||
#[serde(default)]
|
||||
pub ttl_in_secs: TtlForExtendedCardInfo,
|
||||
}
|
||||
@ -1137,7 +1137,7 @@ impl<'de> Deserialize<'de> for TtlForExtendedCardInfo {
|
||||
// Check if value exceeds the maximum allowed
|
||||
if value > consts::MAX_TTL_FOR_EXTENDED_CARD_INFO {
|
||||
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 {
|
||||
Ok(Self(value))
|
||||
|
||||
@ -934,6 +934,10 @@ pub struct ExtendedCardInfo {
|
||||
#[schema(value_type = String, example = "John Test")]
|
||||
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
|
||||
#[schema(example = "chase")]
|
||||
pub card_issuer: Option<String>,
|
||||
@ -959,6 +963,7 @@ impl From<Card> for ExtendedCardInfo {
|
||||
card_exp_month: value.card_exp_month,
|
||||
card_exp_year: value.card_exp_year,
|
||||
card_holder_name: value.card_holder_name,
|
||||
card_cvc: value.card_cvc,
|
||||
card_issuer: value.card_issuer,
|
||||
card_network: value.card_network,
|
||||
card_type: value.card_type,
|
||||
|
||||
@ -82,4 +82,4 @@ pub const DEFAULT_ENABLE_SAVED_PAYMENT_METHOD: bool = false;
|
||||
pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60;
|
||||
|
||||
/// 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;
|
||||
|
||||
@ -8717,7 +8717,8 @@
|
||||
"card_number",
|
||||
"card_exp_month",
|
||||
"card_exp_year",
|
||||
"card_holder_name"
|
||||
"card_holder_name",
|
||||
"card_cvc"
|
||||
],
|
||||
"properties": {
|
||||
"card_number": {
|
||||
@ -8740,6 +8741,11 @@
|
||||
"description": "The card holder's name",
|
||||
"example": "John Test"
|
||||
},
|
||||
"card_cvc": {
|
||||
"type": "string",
|
||||
"description": "The CVC number for the card",
|
||||
"example": "242"
|
||||
},
|
||||
"card_issuer": {
|
||||
"type": "string",
|
||||
"description": "The name of the issuer of card",
|
||||
@ -8786,7 +8792,7 @@
|
||||
"format": "int32",
|
||||
"description": "TTL for extended card info",
|
||||
"default": 900,
|
||||
"maximum": 3600,
|
||||
"maximum": 7200,
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user