feat(events): Add payment reject audit events (#6465)

Co-authored-by: Anish Kacham <f2010091@hyderabad.bits-pilani.ac.in>
This commit is contained in:
Anish Kacham
2024-11-12 12:16:13 +05:30
committed by GitHub
parent 7f4f55b63a
commit 6b029ab195
2 changed files with 17 additions and 1 deletions

View File

@ -12,6 +12,7 @@ use crate::{
errors::{self, RouterResult, StorageErrorExt}, errors::{self, RouterResult, StorageErrorExt},
payments::{helpers, operations, PaymentAddress, PaymentData}, payments::{helpers, operations, PaymentAddress, PaymentData},
}, },
events::audit_events::{AuditEvent, AuditEventType},
routes::{app::ReqState, SessionState}, routes::{app::ReqState, SessionState},
services, services,
types::{ types::{
@ -209,7 +210,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, PaymentsCancelRequest> for Payme
async fn update_trackers<'b>( async fn update_trackers<'b>(
&'b self, &'b self,
state: &'b SessionState, state: &'b SessionState,
_req_state: ReqState, req_state: ReqState,
mut payment_data: PaymentData<F>, mut payment_data: PaymentData<F>,
_customer: Option<domain::Customer>, _customer: Option<domain::Customer>,
storage_scheme: enums::MerchantStorageScheme, storage_scheme: enums::MerchantStorageScheme,
@ -264,6 +265,16 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, PaymentsCancelRequest> for Payme
) )
.await .await
.to_not_found_response(errors::ApiErrorResponse::PaymentNotFound)?; .to_not_found_response(errors::ApiErrorResponse::PaymentNotFound)?;
let error_code = payment_data.payment_attempt.error_code.clone();
let error_message = payment_data.payment_attempt.error_message.clone();
req_state
.event_context
.event(AuditEvent::new(AuditEventType::PaymentReject {
error_code,
error_message,
}))
.with(payment_data.to_event())
.emit();
Ok((Box::new(self), payment_data)) Ok((Box::new(self), payment_data))
} }

View File

@ -33,6 +33,10 @@ pub enum AuditEventType {
}, },
PaymentApprove, PaymentApprove,
PaymentCreate, PaymentCreate,
PaymentReject {
error_code: Option<String>,
error_message: Option<String>,
},
} }
#[derive(Debug, Clone, Serialize)] #[derive(Debug, Clone, Serialize)]
@ -74,6 +78,7 @@ impl Event for AuditEvent {
AuditEventType::PaymentUpdate { .. } => "payment_update", AuditEventType::PaymentUpdate { .. } => "payment_update",
AuditEventType::PaymentApprove { .. } => "payment_approve", AuditEventType::PaymentApprove { .. } => "payment_approve",
AuditEventType::PaymentCreate { .. } => "payment_create", AuditEventType::PaymentCreate { .. } => "payment_create",
AuditEventType::PaymentReject { .. } => "payment_rejected",
}; };
format!( format!(
"{event_type}-{}", "{event_type}-{}",