Skip to content

Commit cc8ff8a

Browse files
ASPactoresArJSarmiento
authored andcommitted
feat(payment): enhance payment event processing to skip duplicate registrations based on email
1 parent 4fa2f38 commit cc8ff8a

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

backend/usecase/payment_tracking_usecase.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def __init__(self):
2121
self.email_usecase = EmailUsecase()
2222
self.event_repository = EventsRepository()
2323
self.payment_transaction_repository = PaymentTransactionRepository()
24+
self.registration_repository = RegistrationsRepository()
2425

2526
def process_payment_event(self, message_body: dict) -> None:
2627
"""
@@ -59,6 +60,16 @@ def process_payment_event(self, message_body: dict) -> None:
5960

6061
logger.info(f'Payment transaction status updated to {transaction_status} for entryId {entry_id}')
6162

63+
status, registration_details, _ = self.registration_repository.query_registrations_with_email(
64+
event_id=event_id, email=registration_data.email
65+
)
66+
67+
if status == HTTPStatus.OK and registration_details:
68+
logger.info(
69+
f'Skipping duplicate email for {registration_data.email} - user already has existing registration'
70+
)
71+
return
72+
6273
if transaction_status == TransactionStatus.SUCCESS:
6374
recorded_registration_data = self._create_and_save_registration(
6475
payment_tracking_body=payment_tracking_body

0 commit comments

Comments
 (0)