From 6d5af29de8f01777c2bf49c89806f21b6f84f0f9 Mon Sep 17 00:00:00 2001 From: asepharyana Date: Wed, 5 Aug 2026 09:32:04 +0700 Subject: [PATCH] feat(dimentorin): confirm payment auto-confirms linked session - confirm_payment now transitions linked session pending->confirmed - e2e verified: book -> create payment -> admin confirm -> session confirmed + payment paid --- .../src/payments/application/payment_service.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/imphnen-dimentorin/src/payments/application/payment_service.rs b/imphnen-dimentorin/src/payments/application/payment_service.rs index 7a14b61..b8171b8 100644 --- a/imphnen-dimentorin/src/payments/application/payment_service.rs +++ b/imphnen-dimentorin/src/payments/application/payment_service.rs @@ -142,9 +142,16 @@ impl PaymentService for PaymentServiceImpl { "Payment is not pending".into(), )); } - self.payment_repo + let paid = self.payment_repo .update_status(id, "paid", Some(payment.external_ref.clone().unwrap_or_default())) - .await + .await?; + // Confirm the linked session so mentor/mentee can proceed with the call. + if let Some(mut session) = self.session_repo.find_by_id(payment.session_id).await? { + session.status = "confirmed".to_string(); + session.updated_at = Utc::now(); + self.session_repo.update(payment.session_id, session).await?; + } + Ok(paid) } async fn get_mentee_payments(