- Move env var reading and key file open() from import-time CONF dict
into _build_provider_conf() called during load_unipay()
- Each provider is wrapped in try/except — if env vars are missing,
key files don't exist, or instantiation fails, the provider is
set to None (disabled) and a warning is printed
- Program continues to start even if all payment channels fail
- Existing code already checks PROVIDERS[name] is None in all
business functions (create_payment, notify handlers, etc.)
- Existing get_provider() in notify.py already returns None on
instantiation error