feat: session based payment method deletion (#213)

This commit is contained in:
Manoj Ghorela
2022-12-23 20:58:31 +05:30
committed by GitHub
parent 279961e169
commit 6f62c71ad0
2 changed files with 37 additions and 1 deletions

View File

@ -166,7 +166,8 @@ where
)
.await?
}
}
};
helpers::Vault::delete_locker_payment_method_by_lookup_key(state, &payment_data.token).await
}
Ok((payment_data, req, customer))
}

View File

@ -18,6 +18,7 @@ use crate::{
payment_methods::cards,
},
db::StorageInterface,
logger,
pii::Secret,
routes::AppState,
scheduler::{metrics, workflows::payment_sync},
@ -818,6 +819,20 @@ impl Vault {
.attach_printable("Add Card Failed")?;
Ok(txn_id.to_string())
}
#[instrument(skip_all)]
pub async fn delete_locker_payment_method_by_lookup_key(
state: &AppState,
lookup_key: &Option<String>,
) {
let db = &*state.store;
if let Some(id) = lookup_key {
match cards::mock_delete_card(db, id).await {
Ok(_) => logger::info!("Card Deleted from locker mock up"),
Err(err) => logger::error!("Err: Card Delete from locker Failed : {}", err),
}
}
}
}
#[cfg(feature = "basilisk")]
@ -880,6 +895,26 @@ impl Vault {
.attach_printable("Error getting Value12 for locker")?;
cards::create_tokenize(state, value1, Some(value2), txn_id.to_string()).await
}
#[instrument(skip_all)]
pub async fn delete_locker_payment_method_by_lookup_key(
state: &AppState,
lookup_key: &Option<String>,
) {
if let Some(lookup_key) = lookup_key {
let delete_resp = cards::delete_tokenized_data(state, lookup_key).await;
match delete_resp {
Ok(resp) => {
if resp == "Ok" {
logger::info!("Card From locker deleted Successfully")
} else {
logger::error!("Error: Deleting Card From Locker : {}", resp)
}
}
Err(err) => logger::error!("Err: Deleting Card From Locker : {}", err),
}
}
}
}
#[instrument(skip_all)]