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.0.1";
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-/XsqtExnNtUGqI40XvvcO/nGq56gbC/mPdtHv1QQyGo=";
31 };
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 ];
37
38 dependencies = [
39 django
40 django-phonenumber-field
41 requests
42 ] ++ django-phonenumber-field.optional-dependencies.phonenumberslite;
43
44 # require internet connection
45 doCheck = false;
46
47 pythonImportsCheck = [ "payments" ];
48
49 optional-dependencies = {
50 braintree = [ braintree ];
51 cybersource = [ suds-community ];
52 mercadopago = [ mercadopago ];
53 sagepay = [ cryptography ];
54 sofort = [ xmltodict ];
55 stripe = [ stripe ];
56 };
57
58 meta = with lib; {
59 description = "Universal payment handling for Django";
60 homepage = "https://github.com/jazzband/django-payments/";
61 changelog = "https://github.com/jazzband/django-payments/blob/${src.rev}/CHANGELOG.rst";
62 license = licenses.bsd3;
63 maintainers = with maintainers; [ derdennisop ];
64 };
65}