mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 04:04:43 +08:00
feat(events): Add payment reject audit events (#6465)
Co-authored-by: Anish Kacham <f2010091@hyderabad.bits-pilani.ac.in>
This commit is contained in:
@ -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))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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}-{}",
|
||||||
|
|||||||
Reference in New Issue
Block a user