1{
2 lib,
3 buildPythonPackage,
4 braintree,
5 cryptography,
6 django,
7 django-phonenumber-field,
8 fetchFromGitHub,
9 mercadopago,
10 pythonOlder,
11 requests,
12 setuptools,
13 setuptools-scm,
14 stripe,
15 suds-community,
16 xmltodict,
17}:
18
19buildPythonPackage rec {
20 pname = "django-payments";
21 version = "3.1.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "jazzband";
28 repo = "django-payments";
29 tag = "v${version}";
30 hash = "sha256-b8CXMzuTfeF3Q9Ed/Ke2mGGBXYajJYcFkfzkb1lVAIE=";
31 };
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 ];
37
38 dependencies = [
39 django
40 django-phonenumber-field
41 requests
42 ]
43 ++ django-phonenumber-field.optional-dependencies.phonenumberslite;
44
45 # require internet connection
46 doCheck = false;
47
48 pythonImportsCheck = [ "payments" ];
49
50 optional-dependencies = {
51 braintree = [ braintree ];
52 cybersource = [ suds-community ];
53 mercadopago = [ mercadopago ];
54 sagepay = [ cryptography ];
55 sofort = [ xmltodict ];
56 stripe = [ stripe ];
57 };
58
59 meta = with lib; {
60 description = "Universal payment handling for Django";
61 homepage = "https://github.com/jazzband/django-payments/";
62 changelog = "https://github.com/jazzband/django-payments/blob/${src.rev}/CHANGELOG.rst";
63 license = licenses.bsd3;
64 maintainers = with maintainers; [ derdennisop ];
65 };
66}