diff --git a/jobs/payment-jobs/tasks/stale_payment_task.py b/jobs/payment-jobs/tasks/stale_payment_task.py index d658232c1..f91f1836a 100644 --- a/jobs/payment-jobs/tasks/stale_payment_task.py +++ b/jobs/payment-jobs/tasks/stale_payment_task.py @@ -23,6 +23,7 @@ from pay_api.services import PaymentService, TransactionService from pay_api.services.direct_pay_service import DirectPayService from pay_api.utils.enums import InvoiceReferenceStatus, PaymentStatus, TransactionStatus +from requests import HTTPError STATUS_PAID = ('PAID', 'CMPLT') @@ -113,5 +114,8 @@ def _verify_created_direct_pay_invoices(cls): # check existing payment status in PayBC and save receipt TransactionService.update_transaction(transaction.id, pay_response_url=None) - except Exception as err: # NOQA # pylint: disable=broad-except - current_app.logger.error(err, exc_info=True) + except HTTPError as http_err: + if http_err.response is not None and http_err.response.status_code == 404: + current_app.logger.info(f'Invoice not found (404). Skipping invoice id: {invoice.id}') + continue + current_app.logger.error(f'Error verifying invoice {invoice.id}: {http_err}', exc_info=True)