diff --git a/payments/signals.py b/payments/signals.py index 7f94297a..b5e3d385 100644 --- a/payments/signals.py +++ b/payments/signals.py @@ -17,7 +17,13 @@ def create_balance_on_user_creation_signal(instance, created, **_kwargs): def process_transaction_changes(instance, created, **_kwargs): if created: try: - gateway = AbstractGateway() + match instance.process.get("gateway", "default"): + case "gateway": + gateway = AbstractGateway + case "default": + gateway = AbstractGateway + case _: + gateway = AbstractGateway() gateway.process_transaction(instance) except Exception as e: # noqa: instance.process = {"status": "NOGATEWAY", "error": str(e)}