python-terminusgps 43.0.1__py3-none-any.whl → 43.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-terminusgps
3
- Version: 43.0.1
3
+ Version: 43.2.0
4
4
  Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
5
- Project-URL: Documentation, https://docs.terminusgps.com
5
+ Project-URL: Documentation, https://terminusgps.github.io/python-terminusgps
6
6
  Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
7
7
  Author-email: Blake Nall <blake@terminusgps.com>
8
8
  License-File: COPYING
@@ -12,13 +12,10 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.12
13
13
  Requires-Python: >=3.12
14
14
  Requires-Dist: authorizenet>=1.1.5
15
- Requires-Dist: django>=5.1.5
15
+ Requires-Dist: django>=5.2.6
16
16
  Requires-Dist: python-wialon>=1.2.4
17
17
  Description-Content-Type: text/markdown
18
18
 
19
- # Terminus GPS Internal Tools
19
+ # python-terminusgps
20
20
 
21
21
  *python-terminusgps* adds libraries for working with web APIs used by [Terminus GPS](https://terminusgps.com/) developers.
22
-
23
- [Documentation](https://docs.terminusgps.com/)
24
-
@@ -1,15 +1,15 @@
1
1
  terminusgps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  terminusgps/authorizenet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  terminusgps/authorizenet/auth.py,sha256=CKT_pfDEL-53GceOEaFtIU6IBXVuVd8MVHikpPAX0xY,1184
4
- terminusgps/authorizenet/constants.py,sha256=MHAij1DKLJNUFOAbtb1_pKHrfXU2T7L6d0_zM5P15Gw,489
4
+ terminusgps/authorizenet/constants.py,sha256=xU2oGpxsAlgJftI_S4WL8Ii5TJ3OD5FXnCUNceLzXbM,1015
5
5
  terminusgps/authorizenet/controllers.py,sha256=oEomwVPu6uT2z5BGKKm-zLWXhODvBajUQ4GxDOHTecQ,2011
6
6
  terminusgps/authorizenet/validators.py,sha256=Wq4rqEuqG3JzOO7O1wM6oQ0FciNxxOK0HnJqTuLa8CY,3916
7
7
  terminusgps/authorizenet/api/__init__.py,sha256=VXR4Yco1yz5R-R7vgaH2zTP9VFqzfvvGy_XJVjyb3i0,154
8
- terminusgps/authorizenet/api/address_profiles.py,sha256=yl8aX2Csnlpmk5g0z0Xd2YyqHVuvduCBD_4HU42mFKk,4976
9
- terminusgps/authorizenet/api/customer_profiles.py,sha256=vWIZS4Z4uKRmi6IDpOoM8PCjGrQFw2lvDjG7UJwQ_3s,4654
10
- terminusgps/authorizenet/api/payment_profiles.py,sha256=1SmEZtyLxJ5kTZDyBE8gVfC2LVpHWgGabklfqtMQOzE,6681
11
- terminusgps/authorizenet/api/subscriptions.py,sha256=jMNeLNWJzg38Y4E80Q6E573qPPQMnObIJaQvNw5lgMI,4667
12
- terminusgps/authorizenet/api/transactions.py,sha256=NOXfW8XNm5b4mic1H1BcJQ8AlhQ8bTpBp-0ipu9u3gQ,2861
8
+ terminusgps/authorizenet/api/address_profiles.py,sha256=_BmhMbhrWnUyk7WfY6I0cDxDtS9r2H8l69OnZV6wxRU,4779
9
+ terminusgps/authorizenet/api/customer_profiles.py,sha256=cmXFH4a_Ng26o4u6RMVPBqLWxYSearlhNgM8n7ArZKs,4502
10
+ terminusgps/authorizenet/api/payment_profiles.py,sha256=etyfvivAtXeo-GdUXxyNVkDfrjPg3fLXSnp-aRsnqxY,6516
11
+ terminusgps/authorizenet/api/subscriptions.py,sha256=wdiD3UaKSkPQhTZLrDWq8ZFNPW5JIIjOWyPvAEgb1xg,4541
12
+ terminusgps/authorizenet/api/transactions.py,sha256=y1Bq0niTWsWEi_tMJzXUTYj3_GoJnL5K4fPuGER77kw,2731
13
13
  terminusgps/django/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  terminusgps/django/mixins.py,sha256=Q9ZJuzpk3d9lDnlVA8ZTVvnZWxB13p08EQ8yVJcztn4,1034
15
15
  terminusgps/django/settings.py,sha256=JcHo9uonGLXoIbapkTYJ4GSIfiS74CtChzw1Cuq4XOk,644
@@ -23,20 +23,20 @@ terminusgps/django/forms/widgets.py,sha256=No4hPQ-BK5rrotaQ5iJEjWo8quYIPNf_1C2y4
23
23
  terminusgps/wialon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  terminusgps/wialon/constants.py,sha256=p2BhopeE6lXzjzdzb4ZKOz0rhJQIMUbXLrBy1Yzf57s,13730
25
25
  terminusgps/wialon/flags.py,sha256=M50EdhxQ8IMnJnU0mrHK7-h8Asc6tvNiTOOfd1dBW6A,12815
26
- terminusgps/wialon/session.py,sha256=jQbPmQy6z7ghhgflRemybn8_uoCnCJzuTcbovLHFpI4,5795
26
+ terminusgps/wialon/session.py,sha256=-WSjbWT5GpueD3xEM9EHBx0iPTOMB1BUr1swzyPZPZg,5797
27
27
  terminusgps/wialon/utils.py,sha256=E7J9s4p7P-OePtttxcBogxu3WiXqf4xxr_Tksbisl60,9957
28
28
  terminusgps/wialon/validators.py,sha256=o5__H9HHnGYth8QAKErJG5rEub7FnT8ue0S3IQ8b67o,4232
29
29
  terminusgps/wialon/items/__init__.py,sha256=RTiY9ziXqKCB8VWGoExOIErDlUMBBfzzsA7nlOlCZ2w,41
30
- terminusgps/wialon/items/account.py,sha256=OSTTbw-nBFqzL1AnGYQ7-Gaymr-S5wx1a0uDzOFlxCM,7888
31
- terminusgps/wialon/items/base.py,sha256=579Dmapm_v8QDJYa0NJhdqSWYR0X6aVx53slD38pltw,8639
32
- terminusgps/wialon/items/factory.py,sha256=RhzINAW2N6MbVbUvPO3EuCpm1h_cMX4-R7QCdMfzatU,3831
33
- terminusgps/wialon/items/resource.py,sha256=I6va2TLt_yz-C3c02Thv8s-nm-6rZZ2UBEC44Cfow18,4813
34
- terminusgps/wialon/items/retranslator.py,sha256=nxp_SNsd9VBqEJcKOVLF6fxq4XS3gGjBX_Xk9h5zrEc,1850
35
- terminusgps/wialon/items/route.py,sha256=xixlex6bUeFHXucVQdbfQUSLxI1Rhwk6slhoFP2odp0,1307
36
- terminusgps/wialon/items/unit.py,sha256=kIjnMOjjI3siCaA6wXojzEK2xqFIm5mN4xNqzKDUa1Q,5473
37
- terminusgps/wialon/items/unit_group.py,sha256=L7-PAVCj8Bf50fa04Ials4VHg8LOWkw6hwNhtSyMksE,2133
38
- terminusgps/wialon/items/user.py,sha256=hZlFeXCgOAdivl_Anjp_We6Cy5U8IxWNDAgm5MFZfp0,5194
39
- python_terminusgps-43.0.1.dist-info/METADATA,sha256=3X6tqPutAjVglC-cWh3biORB3qIsIFeOOTIdVgSU_7I,976
40
- python_terminusgps-43.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
41
- python_terminusgps-43.0.1.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
42
- python_terminusgps-43.0.1.dist-info/RECORD,,
30
+ terminusgps/wialon/items/account.py,sha256=FL_PZXimLarP3tZX1E9dLA977mSUOx98YJxVyc4WOxg,7588
31
+ terminusgps/wialon/items/base.py,sha256=YSK00q2qUR9SluXojfy2HjfVbMQfnHp4djTcpNSCer4,9164
32
+ terminusgps/wialon/items/factory.py,sha256=7Xjog8qJPUqKj6RVO92ZaN_fD6WWb9x9ARHkZ3VPeBo,4074
33
+ terminusgps/wialon/items/resource.py,sha256=L8myvk9I8snUKFPWBdhMmP1KCb5aC8OtOe4P7Lb2KoY,4792
34
+ terminusgps/wialon/items/retranslator.py,sha256=lWywPciEkazL0GbEV0r1TjBSNEpQcCQ5tDBOua0pGtE,1827
35
+ terminusgps/wialon/items/route.py,sha256=nXFQNzIU2c-_rG-8r_cvZPq_hB7vQgMO5zIe7Sz5KmU,1278
36
+ terminusgps/wialon/items/unit.py,sha256=Ze3t5aK3UX-z95BiDSaDCttCvAs-g6ZyA_NWx3uYp6Y,5382
37
+ terminusgps/wialon/items/unit_group.py,sha256=zP6nBETRQ3tI6V7BYq5yoyG78DGyZM-rU14TMRrpAZA,2075
38
+ terminusgps/wialon/items/user.py,sha256=HY3EWKD7RwcySjPL91Ulmll_gZZXoRaIr6v6I8tW2VM,5011
39
+ python_terminusgps-43.2.0.dist-info/METADATA,sha256=TFEZSdm0iQwTrZfMqRfI6kwSxUOxoKC7KV9SLSuADq0,938
40
+ python_terminusgps-43.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
41
+ python_terminusgps-43.2.0.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
42
+ python_terminusgps-43.2.0.dist-info/RECORD,,
@@ -15,19 +15,19 @@ __all__ = [
15
15
  def create_customer_shipping_address(
16
16
  customer_profile_id: int,
17
17
  address: apicontractsv1.customerAddressType,
18
- default: bool = True,
18
+ default: bool = False,
19
19
  ) -> ObjectifiedElement | None:
20
20
  """
21
21
  `createCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-shipping-address>`_.
22
22
 
23
23
  :param customer_profile_id: An Authorizenet customer profile id.
24
- :type customer_profile_id: :py:obj:`int`
25
- :param elem: An Authorizenet customer address element.
26
- :type elem: :py:obj:`~authorizenet.apicontractsv1.customerAddressType`
27
- :param default: Whether or not to mark the new shipping address as default. Default is :py:obj:`True`.
28
- :type default: :py:obj:`bool`
29
- :returns: An Authorizenet createCustomerShippingAddress response.
30
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
24
+ :type customer_profile_id: int
25
+ :param address: An Authorizenet customer address element.
26
+ :type address: ~authorizenet.apicontractsv1.customerAddressType
27
+ :param default: Whether to set the address profile as default. Default is False.
28
+ :type default: bool
29
+ :returns: An Authorizenet createCustomerShippingAddressResponse element.
30
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
31
31
 
32
32
  """
33
33
  request = apicontractsv1.createCustomerShippingAddressRequest()
@@ -48,11 +48,11 @@ def get_customer_shipping_address(
48
48
  `getCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-shipping-address>`_.
49
49
 
50
50
  :param customer_profile_id: An Authorizenet customer profile id.
51
- :type customer_profile_id: :py:obj:`int`
51
+ :type customer_profile_id: int
52
52
  :param address_profile_id: An Authorizenet customer address profile id.
53
- :type address_profile_id: :py:obj:`int`
54
- :returns: An Authorizenet getCustomerShippingAddress response.
55
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
53
+ :type address_profile_id: int
54
+ :returns: An Authorizenet getCustomerShippingAddressResponse element.
55
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
56
56
 
57
57
  """
58
58
  request = apicontractsv1.getCustomerShippingAddressRequest()
@@ -74,13 +74,13 @@ def update_customer_shipping_address(
74
74
  `updateCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-shipping-address>`_.
75
75
 
76
76
  :param customer_profile_id: An Authorizenet customer profile id.
77
- :type customer_profile_id: :py:obj:`int`
77
+ :type customer_profile_id: int
78
78
  :param address: An Authorizenet customer address element.
79
- :type address: :py:obj:`~authorizenet.apicontractsv1.customerAddressType`
80
- :param default: Whether or not to mark the new shipping address as default. Default is :py:obj:`False`.
81
- :type default: :py:obj:`bool`
82
- :returns: An Authorizenet updateCustomerShippingAddress response.
83
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
79
+ :type address: ~authorizenet.apicontractsv1.customerAddressType
80
+ :param default: Whether to set the address profile as default. Default is False.
81
+ :type default: bool
82
+ :returns: An Authorizenet updateCustomerShippingAddressResponse element.
83
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
84
84
 
85
85
  """
86
86
  request = apicontractsv1.updateCustomerShippingAddressRequest()
@@ -101,11 +101,11 @@ def delete_customer_shipping_address(
101
101
  `deleteCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-shipping-address>`_.
102
102
 
103
103
  :param customer_profile_id: An Authorizenet customer profile id.
104
- :type customer_profile_id: :py:obj:`int`
104
+ :type customer_profile_id: int
105
105
  :param address_profile_id: An Authorizenet customer address profile id.
106
- :type address_profile_id: :py:obj:`int`
106
+ :type address_profile_id: int
107
107
  :returns: An Authorizenet deleteCustomerShippingAddressResponse element.
108
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
108
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
109
109
 
110
110
  """
111
111
  request = apicontractsv1.deleteCustomerShippingAddressRequest()
@@ -20,13 +20,13 @@ def create_customer_profile(
20
20
  `createCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile>`_.
21
21
 
22
22
  :param merchant_id: A merchant designated customer id.
23
- :type merchant_id: :py:obj:`str`
23
+ :type merchant_id: str
24
24
  :param email: A customer email address.
25
- :type email: :py:obj:`str`
25
+ :type email: str
26
26
  :param description: An optional customer description.
27
- :type description: :py:obj:`str`
28
- :returns: An Authorizenet createCustomerProfile response.
29
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
27
+ :type description: str
28
+ :returns: An Authorizenet createCustomerProfileResponse element.
29
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
30
30
 
31
31
  """
32
32
  request = apicontractsv1.createCustomerProfileRequest()
@@ -48,11 +48,11 @@ def get_customer_profile(
48
48
  `getCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile>`_.
49
49
 
50
50
  :param customer_profile_id: An Authorizenet customer profile id.
51
- :type customer_profile_id: :py:obj:`int`
52
- :param include_issuer_info: Whether or not to include issuer info in the response. Default is :py:obj:`False`.
53
- :type include_issuer_info: :py:obj:`bool`
54
- :returns: An Authorizenet getCustomerProfile response.
55
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
51
+ :type customer_profile_id: int
52
+ :param include_issuer_info: Whether to include issuer info in the response. Default is False.
53
+ :type include_issuer_info: bool
54
+ :returns: An Authorizenet getCustomerProfileResponse element.
55
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
56
56
 
57
57
  """
58
58
  request = apicontractsv1.getCustomerProfileRequest()
@@ -69,8 +69,8 @@ def get_customer_profile_ids() -> ObjectifiedElement | None:
69
69
  """
70
70
  `getCustomerProfileIdsRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile-ids>`_.
71
71
 
72
- :returns: An Authorizenet getCustomerProfileIds response.
73
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
72
+ :returns: An Authorizenet getCustomerProfileIdsResponse element.
73
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
74
74
 
75
75
  """
76
76
  request = apicontractsv1.getCustomerProfileIdsRequest()
@@ -88,9 +88,9 @@ def update_customer_profile(
88
88
  `updateCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-profile>`_.
89
89
 
90
90
  :param profile: An Authorizenet customer profile ex element.
91
- :type profile: :py:obj:`~authorizenet.apicontractsv1.customerProfileExType`
92
- :returns: An Authorizenet updateCustomerProfile response.
93
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
91
+ :type profile: ~authorizenet.apicontractsv1.customerProfileExType
92
+ :returns: An Authorizenet updateCustomerProfileResponse element.
93
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
94
94
 
95
95
  """
96
96
  request = apicontractsv1.updateCustomerProfileRequest()
@@ -109,9 +109,9 @@ def delete_customer_profile(
109
109
  `deleteCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-profile>`_.
110
110
 
111
111
  :param customer_profile_id: An Authorizenet customer profile id.
112
- :type customer_profile_id: :py:obj:`int`
113
- :returns: An Authorizenet deleteCustomerProfile response.
114
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
112
+ :type customer_profile_id: int
113
+ :returns: An Authorizenet deleteCustomerProfileResponse element.
114
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
115
115
 
116
116
  """
117
117
  request = apicontractsv1.deleteCustomerProfileRequest()
@@ -19,17 +19,18 @@ __all__ = [
19
19
  def create_customer_payment_profile(
20
20
  customer_profile_id: int,
21
21
  payment_profile: apicontractsv1.customerPaymentProfileType,
22
- validate: bool = False,
22
+ validate: bool = True,
23
23
  ) -> ObjectifiedElement | None:
24
24
  """
25
25
  `createCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-payment-profile>`_.
26
26
 
27
27
  :param customer_profile_id: An Authorizenet customer profile id.
28
- :type customer_profile_id: :py:obj:`int`
28
+ :type customer_profile_id: int
29
29
  :param payment_profile: An Authorizenet payment profile element.
30
- :type payment_profile: :py:obj:`~authorizenet.apicontractsv1.customerPaymentProfileType`
31
- :returns: An Authorizenet createCustomerPaymentProfile response.
32
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
30
+ :type payment_profile: ~authorizenet.apicontractsv1.customerPaymentProfileType
31
+ :param validate: Whether to validate the payment profile. Default is True.
32
+ :returns: An Authorizenet createCustomerPaymentProfileResponse element.
33
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
33
34
 
34
35
  """
35
36
  request = apicontractsv1.createCustomerPaymentProfileRequest()
@@ -53,13 +54,13 @@ def get_customer_payment_profile(
53
54
  `getCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile>`_.
54
55
 
55
56
  :param customer_profile_id: An Authorizenet customer profile id.
56
- :type customer_profile_id: :py:obj:`int`
57
+ :type customer_profile_id: int
57
58
  :param payment_profile_id: An Authorizenet customer payment profile id.
58
- :type payment_profile_id: :py:obj:`int`
59
- :param include_issuer_info: Whether to include issuer info in the response. Default is :py:obj:`False`.
60
- :type include_issuer_info: :py:obj:`bool`
61
- :returns: An Authorizenet getCustomerPaymentProfile response.
62
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
59
+ :type payment_profile_id: int
60
+ :param include_issuer_info: Whether to include issuer info in the response. Default is False.
61
+ :type include_issuer_info: bool
62
+ :returns: An Authorizenet getCustomerPaymentProfileResponse element.
63
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
63
64
 
64
65
  """
65
66
  request = apicontractsv1.getCustomerPaymentProfileRequest()
@@ -80,11 +81,11 @@ def validate_customer_payment_profile(
80
81
  `validateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-validate-customer-payment-profile>`_.
81
82
 
82
83
  :param customer_profile_id: An Authorizenet customer profile id.
83
- :type customer_profile_id: :py:obj:`int`
84
- :param customer_payment_profile_id: An Authorizenet customer payment profile id.
85
- :type customer_payment_profile_id: :py:obj:`int`
86
- :returns: An Authorizenet validateCustomerPaymentProfile response.
87
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
84
+ :type customer_profile_id: int
85
+ :param payment_profile_id: An Authorizenet customer payment profile id.
86
+ :type payment_profile_id: int
87
+ :returns: An Authorizenet validateCustomerPaymentProfileResponse element.
88
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
88
89
 
89
90
  """
90
91
  request = apicontractsv1.validateCustomerPaymentProfileRequest()
@@ -102,21 +103,21 @@ def update_customer_payment_profile(
102
103
  customer_profile_id: int,
103
104
  payment_profile_id: int,
104
105
  payment_profile: apicontractsv1.customerPaymentProfileType,
105
- validate: bool = False,
106
+ validate: bool = True,
106
107
  ) -> ObjectifiedElement | None:
107
108
  """
108
109
  `updateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-profile>`_.
109
110
 
110
111
  :param customer_profile_id: An Authorizenet customer profile id.
111
- :type customer_profile_id: :py:obj:`int`
112
+ :type customer_profile_id: int
112
113
  :param payment_profile_id: An Authorizenet customer payment profile id.
113
- :type payment_profile_id: :py:obj:`int`
114
+ :type payment_profile_id: int
114
115
  :param payment_profile: An Authorizenet payment profile element.
115
- :type payment_profile: :py:obj:`~authorizenet.apicontractsv1.customerPaymentProfileType`
116
- :param validate: Whether to validate the updated payment profile. Default is :py:obj:`False`.
117
- :type validate: :py:obj:`bool`
118
- :returns: An Authorizenet updateCustomerPaymentProfile response.
119
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
116
+ :type payment_profile: ~authorizenet.apicontractsv1.customerPaymentProfileType
117
+ :param validate: Whether to validate the payment profile. Default is True.
118
+ :type validate: bool
119
+ :returns: An Authorizenet updateCustomerPaymentProfileResponse element.
120
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
120
121
 
121
122
  """
122
123
  if not hasattr(payment_profile, "customerPaymentProfileId"):
@@ -141,11 +142,11 @@ def delete_customer_payment_profile(
141
142
  `deleteCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-payment-profile>`_.
142
143
 
143
144
  :param customer_profile_id: An Authorizenet customer profile id.
144
- :type customer_profile_id: :py:obj:`int`
145
+ :type customer_profile_id: int
145
146
  :param payment_profile_id: An Authorizenet customer payment profile id.
146
- :type payment_profile_id: :py:obj:`int`
147
- :returns: An Authorizenet deleteCustomerPaymentProfile response.
148
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
147
+ :type payment_profile_id: int
148
+ :returns: An Authorizenet deleteCustomerPaymentProfileResponse element.
149
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
149
150
 
150
151
  """
151
152
  request = apicontractsv1.deleteCustomerPaymentProfileRequest()
@@ -20,9 +20,9 @@ def create_subscription(
20
20
  `ARBCreateSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-create-a-subscription>`_.
21
21
 
22
22
  :param subscription: An Authorizenet ARBSubscriptionType element.
23
- :type subscription: :py:obj:`~authorizenet.apicontractsv1.ARBSubscriptionType`
24
- :returns: An Authorizenet ARBCreateSubscription response.
25
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
23
+ :type subscription: ~authorizenet.apicontractsv1.ARBSubscriptionType
24
+ :returns: An Authorizenet ARBCreateSubscriptionResponse element.
25
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
26
26
 
27
27
  """
28
28
  request = apicontractsv1.ARBCreateSubscriptionRequest()
@@ -41,18 +41,18 @@ def get_subscription(
41
41
  `ARBGetSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription>`_.
42
42
 
43
43
  :param subscription_id: An Authorizenet subscription id.
44
- :type subscription_id: :py:obj:`int`
45
- :param include_transactions: Whether or not to include the subscription transaction list in the response. Default is :py:obj:`True`.
46
- :type include_transactions: :py:obj:`bool`
47
- :returns: An Authorizenet ARBGetSubscription response.
48
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
44
+ :type subscription_id: int
45
+ :param include_transactions: Whether to include the subscription transaction list in the response. Default is True.
46
+ :type include_transactions: bool
47
+ :returns: An Authorizenet ARBGetSubscriptionResponse element.
48
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
49
49
 
50
50
  """
51
- request = apicontractsv1.ARBGetSubscriptionRequest(
52
- merchantAuthentication=get_merchant_auth(),
53
- subscriptionId=str(subscription_id),
54
- includeTransactions=str(include_transactions).lower(),
55
- )
51
+ request = apicontractsv1.ARBGetSubscriptionRequest()
52
+ request.merchantAuthentication = get_merchant_auth()
53
+ request.subscriptionId = str(subscription_id)
54
+ request.includeTransactions = str(include_transactions).lower()
55
+
56
56
  return execute_controller(
57
57
  apicontrollers.ARBGetSubscriptionController(request)
58
58
  )
@@ -63,39 +63,39 @@ def get_subscription_status(subscription_id: int) -> ObjectifiedElement | None:
63
63
  `ARBGetSubscriptionStatusRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription-status>`_.
64
64
 
65
65
  :param subscription_id: An Authorizenet subscription id.
66
- :type subscription_id: :py:obj:`int`
67
- :returns: An Authorizenet ARBGetSubscriptionStatus response.
68
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
66
+ :type subscription_id: int
67
+ :returns: An Authorizenet ARBGetSubscriptionStatusResponse element.
68
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
69
69
 
70
70
  """
71
- request = apicontractsv1.ARBGetSubscriptionStatusRequest(
72
- merchantAuthentication=get_merchant_auth(),
73
- subscriptionId=str(subscription_id),
74
- )
71
+ request = apicontractsv1.ARBGetSubscriptionStatusRequest()
72
+ request.merchantAuthentication = get_merchant_auth()
73
+ request.subscriptionId = str(subscription_id)
74
+
75
75
  return execute_controller(
76
76
  apicontrollers.ARBGetSubscriptionStatusController(request)
77
77
  )
78
78
 
79
79
 
80
80
  def update_subscription(
81
- subscription_id: int, subscription_obj: apicontractsv1.ARBSubscriptionType
81
+ subscription_id: int, subscription: apicontractsv1.ARBSubscriptionType
82
82
  ) -> ObjectifiedElement | None:
83
83
  """
84
84
  `ARBUpdateSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-update-a-subscription>`_.
85
85
 
86
86
  :param subscription_id: An Authorizenet subscription id.
87
- :type subscription_id: :py:obj:`int`
88
- :param subscription_obj: An Authorizenet subscription object.
89
- :type subscription_obj: :py:obj:`~authorizenet.apicontractsv1.ARBSubscriptionType`
90
- :returns: An Authorizenet ARBUpdateSubscription response.
91
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
87
+ :type subscription_id: int
88
+ :param subscription: An Authorizenet ARBSubscriptionType element.
89
+ :type subscription: ~authorizenet.apicontractsv1.ARBSubscriptionType
90
+ :returns: An Authorizenet ARBUpdateSubscriptionResponse element.
91
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
92
92
 
93
93
  """
94
- request = apicontractsv1.ARBUpdateSubscriptionRequest(
95
- merchantAuthentication=get_merchant_auth(),
96
- subscriptionId=str(subscription_id),
97
- subscription=subscription_obj,
98
- )
94
+ request = apicontractsv1.ARBUpdateSubscriptionRequest()
95
+ request.merchantAuthentication = get_merchant_auth()
96
+ request.subscriptionId = str(subscription_id)
97
+ request.subscription = subscription
98
+
99
99
  return execute_controller(
100
100
  apicontrollers.ARBUpdateSubscriptionController(request)
101
101
  )
@@ -106,15 +106,15 @@ def cancel_subscription(subscription_id: int) -> ObjectifiedElement | None:
106
106
  `ARBCancelSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-cancel-a-subscription>`_.
107
107
 
108
108
  :param subscription_id: An Authorizenet subscription id.
109
- :type subscription_id: :py:obj:`int`
110
- :returns: An Authorizenet ARBCancelSubscription response.
111
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
109
+ :type subscription_id: int
110
+ :returns: An Authorizenet ARBCancelSubscriptionResponse element.
111
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
112
112
 
113
113
  """
114
- request = apicontractsv1.ARBCancelSubscriptionRequest(
115
- merchantAuthentication=get_merchant_auth(),
116
- subscriptionId=str(subscription_id),
117
- )
114
+ request = apicontractsv1.ARBCancelSubscriptionRequest()
115
+ request.merchantAuthentication = get_merchant_auth()
116
+ request.subscriptionId = str(subscription_id)
117
+
118
118
  return execute_controller(
119
119
  apicontrollers.ARBCancelSubscriptionController(request)
120
120
  )
@@ -18,11 +18,11 @@ def get_settled_batch_list(
18
18
  `getSettledBatchListRequest <https://developer.authorize.net/api/reference/index.html#transaction-reporting-get-settled-batch-list>`_.
19
19
 
20
20
  :param start: First settlement date.
21
- :type start: :py:obj:`~datetime.datetime`
21
+ :type start: ~datetime.datetime
22
22
  :param end: Last settlement date.
23
- :type end: :py:obj:`~datetime.datetime`
23
+ :type end: ~datetime.datetime
24
24
  :returns: An Authorizenet getSettledBatchListResponse element.
25
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
25
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
26
26
 
27
27
  """
28
28
  request = apicontractsv1.getSettledBatchListRequest()
@@ -47,17 +47,17 @@ def get_transaction_list(
47
47
  `getTransactionListRequest <https://developer.authorize.net/api/reference/index.html#transaction-reporting-get-transaction-list>`_.
48
48
 
49
49
  :param batch_id: An Authorizenet transaction batch id.
50
- :type batch_id :py:obj:`int`
51
- :param ordering: An Authorizenet transaction list ordering string. Default is :py:obj:`"submitTimeUTC"`.
52
- :type ordering: :py:obj:`str`
53
- :param descending: Whether to sort the transaction list in descending order. Default is :py:obj:`False` (ascending order).
54
- :type descending: :py:obj:`bool`
50
+ :type batch_id int
51
+ :param ordering: An Authorizenet transaction list ordering string. Default is "submitTimeUTC".
52
+ :type ordering: str
53
+ :param descending: Whether to sort the transaction list in descending order. Default is False (ascending order).
54
+ :type descending: bool
55
55
  :param limit: Total number of transactions to return in the list.
56
- :type limit: :py:obj:`int`
56
+ :type limit: int
57
57
  :param offset: Page number to return results from.
58
- :type offset: :py:obj:`int`
58
+ :type offset: int
59
59
  :returns: An Authorizenet getTransactionListResponse element.
60
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
60
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
61
61
 
62
62
  """
63
63
  sorting = apicontractsv1.TransactionListSorting()
@@ -1,3 +1,4 @@
1
+ from authorizenet import apicontractsv1
1
2
  from django.db import models
2
3
  from django.utils.translation import gettext_lazy as _
3
4
 
@@ -9,7 +10,21 @@ class AuthorizenetSubscriptionStatus(models.TextChoices):
9
10
  """An Authorizenet subscription status."""
10
11
 
11
12
  ACTIVE = "active", _("Active")
13
+ """Active subscription."""
12
14
  EXPIRED = "expired", _("Expired")
15
+ """Expired subscription."""
13
16
  SUSPENDED = "suspended", _("Suspended")
17
+ """Suspended subscription."""
14
18
  CANCELED = "canceled", _("Canceled")
19
+ """Canceled subscription."""
15
20
  TERMINATED = "terminated", _("Terminated")
21
+ """Terminated subscription."""
22
+
23
+
24
+ class AuthorizenetSubscriptionIntervalUnit(models.TextChoices):
25
+ """An Authorizenet subscription interval unit."""
26
+
27
+ DAYS = apicontractsv1.ARBSubscriptionUnitEnum.days, _("Days")
28
+ """Days interval unit."""
29
+ MONTHS = apicontractsv1.ARBSubscriptionUnitEnum.months, _("Months")
30
+ """Months interval unit."""