feat(payments): Add audit events for PaymentStatus update (#6520)

This commit is contained in:
Rutam Prita Mishra
2024-12-16 16:49:21 +05:30
committed by GitHub
parent 986de77b48
commit ae00a103de
2 changed files with 17 additions and 2 deletions

View File

@ -16,6 +16,7 @@ use crate::{
PaymentData, PaymentData,
}, },
}, },
events::audit_events::{AuditEvent, AuditEventType},
routes::{app::ReqState, SessionState}, routes::{app::ReqState, SessionState},
services, services,
types::{ types::{
@ -141,7 +142,7 @@ impl<F: Clone + Sync> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for
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,
payment_data: PaymentData<F>, payment_data: PaymentData<F>,
_customer: Option<domain::Customer>, _customer: Option<domain::Customer>,
_storage_scheme: enums::MerchantStorageScheme, _storage_scheme: enums::MerchantStorageScheme,
@ -156,6 +157,12 @@ impl<F: Clone + Sync> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for
where where
F: 'b + Send, F: 'b + Send,
{ {
req_state
.event_context
.event(AuditEvent::new(AuditEventType::PaymentStatus))
.with(payment_data.to_event())
.emit();
Ok((Box::new(self), payment_data)) Ok((Box::new(self), payment_data))
} }
} }
@ -167,7 +174,7 @@ impl<F: Clone + Sync> UpdateTracker<F, PaymentData<F>, api::PaymentsRetrieveRequ
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,
payment_data: PaymentData<F>, payment_data: PaymentData<F>,
_customer: Option<domain::Customer>, _customer: Option<domain::Customer>,
_storage_scheme: enums::MerchantStorageScheme, _storage_scheme: enums::MerchantStorageScheme,
@ -182,6 +189,12 @@ impl<F: Clone + Sync> UpdateTracker<F, PaymentData<F>, api::PaymentsRetrieveRequ
where where
F: 'b + Send, F: 'b + Send,
{ {
req_state
.event_context
.event(AuditEvent::new(AuditEventType::PaymentStatus))
.with(payment_data.to_event())
.emit();
Ok((Box::new(self), payment_data)) Ok((Box::new(self), payment_data))
} }
} }

View File

@ -33,6 +33,7 @@ pub enum AuditEventType {
}, },
PaymentApprove, PaymentApprove,
PaymentCreate, PaymentCreate,
PaymentStatus,
PaymentCompleteAuthorize, PaymentCompleteAuthorize,
PaymentReject { PaymentReject {
error_code: Option<String>, error_code: Option<String>,
@ -79,6 +80,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::PaymentStatus { .. } => "payment_status",
AuditEventType::PaymentCompleteAuthorize => "payment_complete_authorize", AuditEventType::PaymentCompleteAuthorize => "payment_complete_authorize",
AuditEventType::PaymentReject { .. } => "payment_rejected", AuditEventType::PaymentReject { .. } => "payment_rejected",
}; };