Traceback (most recent call last): File "/app/workers/payment_worker.py", line 84, in process_queue result = self._charge_customer(order_id, amount) File "/app/workers/payment_worker.py", line 121, in _charge_customer response = stripe.Charge.create( File "/usr/local/lib/python3.11/site-packages/stripe/api_resources/charge.py", line 47, in create return cls._static_request("post", cls.class_url(), params, **params) File "/usr/local/lib/python3.11/site-packages/stripe/api_resources/abstract/api_resource.py", line 98, in _static_request return requestor.request(method, url, params, headers) File "/usr/local/lib/python3.11/site-packages/stripe/api_requestor.py", line 302, in request response, api_key = self.interpret_response(rbody, rcode, rheaders) File "/usr/local/lib/python3.11/site-packages/stripe/api_requestor.py", line 393, in interpret_response self.handle_error_response(rbody, rcode, resp.data, rheaders) File "/usr/local/lib/python3.11/site-packages/stripe/api_requestor.py", line 184, in handle_error_response raise err stripe.error.CardError: Your card has insufficient funds. status: 402 request-id: req_Kx92mNpLvT3aQf code: card_declined decline_code: insufficient_funds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/workers/payment_worker.py", line 87, in process_queue self._handle_failed_charge(order_id, err) File "/app/workers/payment_worker.py", line 156, in _handle_failed_charge db.session.execute( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute return self._execute_internal(statement, params, **kw) File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1658, in _execute_internal conn = self._connection_for_bind(bind) File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1531, in _connection_for_bind return self._transaction._connection_for_bind(engine, execution_options) sqlalchemy.exc.InvalidRequestError: Session is already closed, cannot re-use a closed Session [2026-05-03 17:14:52] CRITICAL worker crashed — order_id=ORD-88421 left in PENDING state