{ lib , buildPythonPackage , braintree , cryptography , django , django-phonenumber-field , fetchFromGitHub , mercadopago , pythonOlder , requests , setuptools-scm , sphinx-rtd-theme , stripe , xmltodict }: buildPythonPackage rec { pname = "django-payments"; version = "2.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "jazzband"; repo = "django-payments"; rev = "refs/tags/v${version}"; hash = "sha256-6WPV08CV+rko/tRnsT5GyTGYaJbiIKTvpisfRwizBIo="; }; postPatch = '' substituteInPlace setup.py \ --replace "django-phonenumber-field[phonenumberslite]" "django-phonenumber-field" ''; env.SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ django django-phonenumber-field requests ] ++ django-phonenumber-field.optional-dependencies.phonenumbers; # require internet connection doCheck = false; pythonImportsCheck = [ "payments" ]; passthru.optional-dependencies = { all = [ braintree /* suds-community */ mercadopago cryptography xmltodict stripe ]; braintree = [ braintree ]; cybersource = [ /* suds-community */ ]; docs = [ sphinx-rtd-theme ]; mercadopago = [ mercadopago ]; sagepay = [ cryptography ]; sofort = [ xmltodict ]; stripe = [ stripe ]; }; meta = with lib; { description = "Universal payment handling for Django."; homepage = "https://github.com/jazzband/django-payments/"; changelog = "https://github.com/jazzband/django-payments/releases/tag/v${version}"; license = licenses.bsd3; maintainers = with maintainers; [ derdennisop ]; }; }