gr4vy 1.2.4__py3-none-any.whl → 1.2.6__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.
gr4vy/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "gr4vy"
6
- __version__: str = "1.2.4"
6
+ __version__: str = "1.2.6"
7
7
  __openapi_doc_version__: str = "1.0.0"
8
- __gen_version__: str = "2.696.0"
9
- __user_agent__: str = "speakeasy-sdk/python 1.2.4 2.696.0 1.0.0 gr4vy"
8
+ __gen_version__: str = "2.698.4"
9
+ __user_agent__: str = "speakeasy-sdk/python 1.2.6 2.698.4 1.0.0 gr4vy"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
gr4vy/errors/apierror.py CHANGED
@@ -2,12 +2,14 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from gr4vy.errors import Gr4vyError
7
8
 
8
9
  MAX_MESSAGE_LEN = 10_000
9
10
 
10
11
 
12
+ @dataclass(frozen=True)
11
13
  class APIError(Gr4vyError):
12
14
  """The fallback error class if no more specific error class is matched."""
13
15
 
gr4vy/errors/error400.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error400Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error400(Gr4vyError):
36
- data: Error400Data
38
+ data: Error400Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error400(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error401.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error401Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error401(Gr4vyError):
36
- data: Error401Data
38
+ data: Error401Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error401(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error403.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error403Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error403(Gr4vyError):
36
- data: Error403Data
38
+ data: Error403Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error403(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error404.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error404Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error404(Gr4vyError):
36
- data: Error404Data
38
+ data: Error404Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error404(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error405.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error405Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error405(Gr4vyError):
36
- data: Error405Data
38
+ data: Error405Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error405(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error409.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error409Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error409(Gr4vyError):
36
- data: Error409Data
38
+ data: Error409Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error409(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error425.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error425Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error425(Gr4vyError):
36
- data: Error425Data
38
+ data: Error425Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error425(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error429.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error429Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error429(Gr4vyError):
36
- data: Error429Data
38
+ data: Error429Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error429(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error500.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error500Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error500(Gr4vyError):
36
- data: Error500Data
38
+ data: Error500Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error500(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error502.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -32,8 +33,9 @@ class Error502Data(BaseModel):
32
33
  r"""A list of details that further ellaborate on the error."""
33
34
 
34
35
 
36
+ @dataclass(frozen=True)
35
37
  class Error502(Gr4vyError):
36
- data: Error502Data
38
+ data: Error502Data = field(hash=False)
37
39
 
38
40
  def __init__(
39
41
  self,
@@ -44,4 +46,4 @@ class Error502(Gr4vyError):
44
46
  fallback = body or raw_response.text
45
47
  message = str(data.message) or fallback
46
48
  super().__init__(message, raw_response, body)
47
- self.data = data
49
+ object.__setattr__(self, "data", data)
gr4vy/errors/error504.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import errordetail as models_errordetail
6
7
  from gr4vy.types import BaseModel
@@ -31,8 +32,9 @@ class Error504Data(BaseModel):
31
32
  r"""A list of details that further ellaborate on the error."""
32
33
 
33
34
 
35
+ @dataclass(frozen=True)
34
36
  class Error504(Gr4vyError):
35
- data: Error504Data
37
+ data: Error504Data = field(hash=False)
36
38
 
37
39
  def __init__(
38
40
  self,
@@ -43,4 +45,4 @@ class Error504(Gr4vyError):
43
45
  fallback = body or raw_response.text
44
46
  message = str(data.message) or fallback
45
47
  super().__init__(message, raw_response, body)
46
- self.data = data
48
+ object.__setattr__(self, "data", data)
@@ -2,25 +2,29 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass, field
5
6
 
6
7
 
8
+ @dataclass(frozen=True)
7
9
  class Gr4vyError(Exception):
8
10
  """The base class for all HTTP error responses."""
9
11
 
10
12
  message: str
11
13
  status_code: int
12
14
  body: str
13
- headers: httpx.Headers
14
- raw_response: httpx.Response
15
+ headers: httpx.Headers = field(hash=False)
16
+ raw_response: httpx.Response = field(hash=False)
15
17
 
16
18
  def __init__(
17
19
  self, message: str, raw_response: httpx.Response, body: Optional[str] = None
18
20
  ):
19
- self.message = message
20
- self.status_code = raw_response.status_code
21
- self.body = body if body is not None else raw_response.text
22
- self.headers = raw_response.headers
23
- self.raw_response = raw_response
21
+ object.__setattr__(self, "message", message)
22
+ object.__setattr__(self, "status_code", raw_response.status_code)
23
+ object.__setattr__(
24
+ self, "body", body if body is not None else raw_response.text
25
+ )
26
+ object.__setattr__(self, "headers", raw_response.headers)
27
+ object.__setattr__(self, "raw_response", raw_response)
24
28
 
25
29
  def __str__(self):
26
30
  return self.message
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from dataclasses import dataclass, field
4
5
  from gr4vy.errors import Gr4vyError
5
6
  from gr4vy.models import validationerror as models_validationerror
6
7
  from gr4vy.types import BaseModel
@@ -12,8 +13,9 @@ class HTTPValidationErrorData(BaseModel):
12
13
  detail: Optional[List[models_validationerror.ValidationError]] = None
13
14
 
14
15
 
16
+ @dataclass(frozen=True)
15
17
  class HTTPValidationError(Gr4vyError):
16
- data: HTTPValidationErrorData
18
+ data: HTTPValidationErrorData = field(hash=False)
17
19
 
18
20
  def __init__(
19
21
  self,
@@ -23,4 +25,4 @@ class HTTPValidationError(Gr4vyError):
23
25
  ):
24
26
  message = body or raw_response.text
25
27
  super().__init__(message, raw_response, body)
26
- self.data = data
28
+ object.__setattr__(self, "data", data)
@@ -1,12 +1,16 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(frozen=True)
3
7
  class NoResponseError(Exception):
4
8
  """Error raised when no HTTP response is received from the server."""
5
9
 
6
10
  message: str
7
11
 
8
12
  def __init__(self, message: str = "No response received"):
9
- self.message = message
13
+ object.__setattr__(self, "message", message)
10
14
  super().__init__(message)
11
15
 
12
16
  def __str__(self):
@@ -2,10 +2,12 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from gr4vy.errors import Gr4vyError
7
8
 
8
9
 
10
+ @dataclass(frozen=True)
9
11
  class ResponseValidationError(Gr4vyError):
10
12
  """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
11
13
 
@@ -21,6 +21,8 @@ class StatementDescriptorTypedDict(TypedDict):
21
21
  r"""The value in the phone number field of a customer's statement which should be formatted according to the E164 number standard."""
22
22
  url: NotRequired[Nullable[str]]
23
23
  r"""The merchant's URL to be displayed in a statement descriptor."""
24
+ postal_code: NotRequired[Nullable[str]]
25
+ r"""The merchant's postal code or zip code."""
24
26
 
25
27
 
26
28
  class StatementDescriptor(BaseModel):
@@ -44,6 +46,9 @@ class StatementDescriptor(BaseModel):
44
46
  url: OptionalNullable[str] = UNSET
45
47
  r"""The merchant's URL to be displayed in a statement descriptor."""
46
48
 
49
+ postal_code: OptionalNullable[str] = UNSET
50
+ r"""The merchant's postal code or zip code."""
51
+
47
52
  @model_serializer(mode="wrap")
48
53
  def serialize_model(self, handler):
49
54
  optional_fields = [
@@ -53,6 +58,7 @@ class StatementDescriptor(BaseModel):
53
58
  "country",
54
59
  "phone_number",
55
60
  "url",
61
+ "postal_code",
56
62
  ]
57
63
  nullable_fields = [
58
64
  "name",
@@ -61,6 +67,7 @@ class StatementDescriptor(BaseModel):
61
67
  "country",
62
68
  "phone_number",
63
69
  "url",
70
+ "postal_code",
64
71
  ]
65
72
  null_default_fields = []
66
73
 
@@ -212,6 +212,20 @@ class TransactionCreateTypedDict(TypedDict):
212
212
  r"""The recipient of any account to account funding. For use with AFTs."""
213
213
  installment_count: NotRequired[Nullable[int]]
214
214
  r"""The number of installments a buyer is required to make."""
215
+ tax_amount: NotRequired[Nullable[int]]
216
+ r"""The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`"""
217
+ merchant_tax_id: NotRequired[Nullable[str]]
218
+ r"""Merchant tax ID (for example, EIN or VAT number)."""
219
+ customer_reference_number: NotRequired[Nullable[str]]
220
+ r"""Customer code or reference."""
221
+ amount_includes_tax: NotRequired[Nullable[bool]]
222
+ r"""Whether the tax is included in the amount."""
223
+ supplier_order_number: NotRequired[Nullable[str]]
224
+ r"""The merchant's unique identifier for the sales order or invoice."""
225
+ duty_amount: NotRequired[Nullable[int]]
226
+ r"""Total charges for import/export duties."""
227
+ shipping_amount: NotRequired[Nullable[int]]
228
+ r"""Total shipping amount."""
215
229
 
216
230
 
217
231
  class TransactionCreate(BaseModel):
@@ -329,6 +343,27 @@ class TransactionCreate(BaseModel):
329
343
  installment_count: OptionalNullable[int] = UNSET
330
344
  r"""The number of installments a buyer is required to make."""
331
345
 
346
+ tax_amount: OptionalNullable[int] = UNSET
347
+ r"""The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`"""
348
+
349
+ merchant_tax_id: OptionalNullable[str] = UNSET
350
+ r"""Merchant tax ID (for example, EIN or VAT number)."""
351
+
352
+ customer_reference_number: OptionalNullable[str] = UNSET
353
+ r"""Customer code or reference."""
354
+
355
+ amount_includes_tax: OptionalNullable[bool] = UNSET
356
+ r"""Whether the tax is included in the amount."""
357
+
358
+ supplier_order_number: OptionalNullable[str] = UNSET
359
+ r"""The merchant's unique identifier for the sales order or invoice."""
360
+
361
+ duty_amount: OptionalNullable[int] = UNSET
362
+ r"""Total charges for import/export duties."""
363
+
364
+ shipping_amount: OptionalNullable[int] = UNSET
365
+ r"""Total shipping amount."""
366
+
332
367
  @model_serializer(mode="wrap")
333
368
  def serialize_model(self, handler):
334
369
  optional_fields = [
@@ -360,6 +395,13 @@ class TransactionCreate(BaseModel):
360
395
  "allow_partial_authorization",
361
396
  "recipient",
362
397
  "installment_count",
398
+ "tax_amount",
399
+ "merchant_tax_id",
400
+ "customer_reference_number",
401
+ "amount_includes_tax",
402
+ "supplier_order_number",
403
+ "duty_amount",
404
+ "shipping_amount",
363
405
  ]
364
406
  nullable_fields = [
365
407
  "country",
@@ -382,6 +424,13 @@ class TransactionCreate(BaseModel):
382
424
  "payment_service_id",
383
425
  "recipient",
384
426
  "installment_count",
427
+ "tax_amount",
428
+ "merchant_tax_id",
429
+ "customer_reference_number",
430
+ "amount_includes_tax",
431
+ "supplier_order_number",
432
+ "duty_amount",
433
+ "shipping_amount",
385
434
  ]
386
435
  null_default_fields = []
387
436
 
gr4vy/transactions.py CHANGED
@@ -776,6 +776,13 @@ class Transactions(BaseSDK):
776
776
  Union[models.Recipient, models.RecipientTypedDict]
777
777
  ] = UNSET,
778
778
  installment_count: OptionalNullable[int] = UNSET,
779
+ tax_amount: OptionalNullable[int] = UNSET,
780
+ merchant_tax_id: OptionalNullable[str] = UNSET,
781
+ customer_reference_number: OptionalNullable[str] = UNSET,
782
+ amount_includes_tax: OptionalNullable[bool] = UNSET,
783
+ supplier_order_number: OptionalNullable[str] = UNSET,
784
+ duty_amount: OptionalNullable[int] = UNSET,
785
+ shipping_amount: OptionalNullable[int] = UNSET,
779
786
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
780
787
  server_url: Optional[str] = None,
781
788
  timeout_ms: Optional[int] = None,
@@ -818,6 +825,13 @@ class Transactions(BaseSDK):
818
825
  :param allow_partial_authorization: Defines if the transaction will allow for a partial authorization.
819
826
  :param recipient: The recipient of any account to account funding. For use with AFTs.
820
827
  :param installment_count: The number of installments a buyer is required to make.
828
+ :param tax_amount: The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`
829
+ :param merchant_tax_id: Merchant tax ID (for example, EIN or VAT number).
830
+ :param customer_reference_number: Customer code or reference.
831
+ :param amount_includes_tax: Whether the tax is included in the amount.
832
+ :param supplier_order_number: The merchant's unique identifier for the sales order or invoice.
833
+ :param duty_amount: Total charges for import/export duties.
834
+ :param shipping_amount: Total shipping amount.
821
835
  :param retries: Override the default retry configuration for this method
822
836
  :param server_url: Override the default server URL for this method
823
837
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -890,6 +904,13 @@ class Transactions(BaseSDK):
890
904
  recipient, OptionalNullable[models.Recipient]
891
905
  ),
892
906
  installment_count=installment_count,
907
+ tax_amount=tax_amount,
908
+ merchant_tax_id=merchant_tax_id,
909
+ customer_reference_number=customer_reference_number,
910
+ amount_includes_tax=amount_includes_tax,
911
+ supplier_order_number=supplier_order_number,
912
+ duty_amount=duty_amount,
913
+ shipping_amount=shipping_amount,
893
914
  ),
894
915
  )
895
916
 
@@ -1069,6 +1090,13 @@ class Transactions(BaseSDK):
1069
1090
  Union[models.Recipient, models.RecipientTypedDict]
1070
1091
  ] = UNSET,
1071
1092
  installment_count: OptionalNullable[int] = UNSET,
1093
+ tax_amount: OptionalNullable[int] = UNSET,
1094
+ merchant_tax_id: OptionalNullable[str] = UNSET,
1095
+ customer_reference_number: OptionalNullable[str] = UNSET,
1096
+ amount_includes_tax: OptionalNullable[bool] = UNSET,
1097
+ supplier_order_number: OptionalNullable[str] = UNSET,
1098
+ duty_amount: OptionalNullable[int] = UNSET,
1099
+ shipping_amount: OptionalNullable[int] = UNSET,
1072
1100
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1073
1101
  server_url: Optional[str] = None,
1074
1102
  timeout_ms: Optional[int] = None,
@@ -1111,6 +1139,13 @@ class Transactions(BaseSDK):
1111
1139
  :param allow_partial_authorization: Defines if the transaction will allow for a partial authorization.
1112
1140
  :param recipient: The recipient of any account to account funding. For use with AFTs.
1113
1141
  :param installment_count: The number of installments a buyer is required to make.
1142
+ :param tax_amount: The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`
1143
+ :param merchant_tax_id: Merchant tax ID (for example, EIN or VAT number).
1144
+ :param customer_reference_number: Customer code or reference.
1145
+ :param amount_includes_tax: Whether the tax is included in the amount.
1146
+ :param supplier_order_number: The merchant's unique identifier for the sales order or invoice.
1147
+ :param duty_amount: Total charges for import/export duties.
1148
+ :param shipping_amount: Total shipping amount.
1114
1149
  :param retries: Override the default retry configuration for this method
1115
1150
  :param server_url: Override the default server URL for this method
1116
1151
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1183,6 +1218,13 @@ class Transactions(BaseSDK):
1183
1218
  recipient, OptionalNullable[models.Recipient]
1184
1219
  ),
1185
1220
  installment_count=installment_count,
1221
+ tax_amount=tax_amount,
1222
+ merchant_tax_id=merchant_tax_id,
1223
+ customer_reference_number=customer_reference_number,
1224
+ amount_includes_tax=amount_includes_tax,
1225
+ supplier_order_number=supplier_order_number,
1226
+ duty_amount=duty_amount,
1227
+ shipping_amount=shipping_amount,
1186
1228
  ),
1187
1229
  )
1188
1230
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gr4vy
3
- Version: 1.2.4
3
+ Version: 1.2.6
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Gr4vy
6
6
  Requires-Python: >=3.9.2
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Programming Language :: Python :: 3.13
12
12
  Requires-Dist: PyJWT (>=2.10.1,<3.0.0)
13
- Requires-Dist: cryptography (>=43.0.0,<44.0.0)
13
+ Requires-Dist: cryptography (>=45.0.7,<46.0.0)
14
14
  Requires-Dist: httpcore (>=1.0.9)
15
15
  Requires-Dist: httpx (>=0.28.1)
16
16
  Requires-Dist: jsonpath-python (>=1.0.6)
@@ -2,7 +2,7 @@ gr4vy/__init__.py,sha256=w2u919V3Tzv4zEPQ-OYJ79gQ_4_SyW7GOFFoHtqXDFA,401
2
2
  gr4vy/_hooks/__init__.py,sha256=p5J13DeYuISQyQWirjJAObHIf2VtIlOtFqnIpvjjVwk,118
3
3
  gr4vy/_hooks/sdkhooks.py,sha256=3jKTs2B1lcAxBMJge9C-qL0RGbKGLcrHvikzi67Tbdo,2493
4
4
  gr4vy/_hooks/types.py,sha256=0O7dbbolkiFAnHkNULvwoLsiXJu0_Wmhev163bvZbW8,3039
5
- gr4vy/_version.py,sha256=Duc_vdJ4N7MB_4V_1VymxvRxN9wHlXSSyKsX0cbU9p0,452
5
+ gr4vy/_version.py,sha256=ELOtV-VVQ99or_-3rl283R7AOp_waDfETodu_bX4e80,452
6
6
  gr4vy/account_updater.py,sha256=mmTd25Oap80PBqQ3p4MvZ_buT5VS0zWc8s8cqfI7iyA,607
7
7
  gr4vy/all.py,sha256=WwnLoNn3RgXNpf4Xoz12ct94JD7NMpLz-kzesHHh4m8,15172
8
8
  gr4vy/audit_logs.py,sha256=duh_c9mO8vIcpCnB-c77EYn1tkuCp1cRT6a7l0VdZqc,17083
@@ -18,22 +18,22 @@ gr4vy/checkout_sessions.py,sha256=njjoKuvOUSH09Rhw0vfrwbvBTPUYzLcoP-DE-NOZn34,57
18
18
  gr4vy/digital_wallets_sdk.py,sha256=W4QNFKk3N4xtoiUPpEcrVJGN62aZnuHrPQIpppw3ZN0,71233
19
19
  gr4vy/domains.py,sha256=fzBmPm5fA9rwO8smhC2ob7TrnkT1o1rnyc9Y9x6j_uA,28586
20
20
  gr4vy/errors/__init__.py,sha256=ZDz7v86-UM-FLysIfPwSWRu-TH_1Xfu8xo8SCpVeFY8,3697
21
- gr4vy/errors/apierror.py,sha256=9ejCsDbUjHPHMM3Ml_LIVOfMQMyTYp6csY8PdqkMxps,1215
22
- gr4vy/errors/error400.py,sha256=I09HbmsGnS2eN4SjDYn_2dmW-a2NDbAatuu62Q1fqoM,1425
23
- gr4vy/errors/error401.py,sha256=yMSFG4sAFHYB-tpmgBnwXySzSqhA5Qeg5BXlHEAruX4,1447
24
- gr4vy/errors/error403.py,sha256=xOla8apVzyY35Vld9WLD6ALW79RwqZYDE8X3Bdgsnek,1421
25
- gr4vy/errors/error404.py,sha256=en0mfK5NDypDk8THmvx5tyFzncn4x3rjOPtGASFTgJI,1439
26
- gr4vy/errors/error405.py,sha256=InClkHiHZ4LcIRor_QIVsTWqOM1Qj_9mZbAn95KgP54,1444
27
- gr4vy/errors/error409.py,sha256=VKYq_VsSNu5ZhFk0Fqc7jQL2-kWcQW-OmF9vTHHlVso,1435
28
- gr4vy/errors/error425.py,sha256=NPEPtwD3Nsmjv-0dRY2A2mdouMoGMpSiCeg6wwR8ivk,1421
29
- gr4vy/errors/error429.py,sha256=DDAb2T4dr0cchV9B39_-g0sX4g-QJlbV_mxwLhDEz1s,1437
30
- gr4vy/errors/error500.py,sha256=Lqz2FqJDWK6_jGLLMWKQXCjOcifF0XMs0o6h4Pkrot8,1444
31
- gr4vy/errors/error502.py,sha256=Rg1LLFQYtiqZVk4qpkBeI722cpsYrmq0vfP0GWvGScM,1442
32
- gr4vy/errors/error504.py,sha256=n6pIFTkGl7xrNKUJnG7OBr5wyKvntK0s2pw-9BnEV3c,1425
33
- gr4vy/errors/gr4vyerror.py,sha256=CW_dhjgVHKwSocBvQJR4THaa3A0vlb6rbTj2PS5mV3U,712
34
- gr4vy/errors/httpvalidationerror.py,sha256=kOfc22ctssREHmFjfv-VwjdZu8l1Du1YPYLdhRUo2VM,761
35
- gr4vy/errors/no_response_error.py,sha256=FQG44Lq6uF7uUlzbUYfM3dJon6sbqXzJ0Ri6YrDdsEs,380
36
- gr4vy/errors/responsevalidationerror.py,sha256=pGG3nQxVp1R4aUNpFcfZt9eFkTmghX_mpaXk7PzOYUU,682
21
+ gr4vy/errors/apierror.py,sha256=X02Mmcfuc3odGA3Z5jU2Y1kIBeOfJ5jiady0f7xMBTQ,1273
22
+ gr4vy/errors/error400.py,sha256=SHVmNY_b_CrCU_yWu_I_CeCM_NW4gPFPOmRgWJmm1IQ,1532
23
+ gr4vy/errors/error401.py,sha256=gTx7skGYeGfMR9zR0o1QjyZj79GQ0LrGEuseVzcXwkY,1554
24
+ gr4vy/errors/error403.py,sha256=sYf6LVsyroLgsJnn_HnTTOgpC1Z7Nm8UKLY8nlpyXGE,1528
25
+ gr4vy/errors/error404.py,sha256=vxWQN3k6dM21hO-zQ2v37SZHZWIhO7WolciUAPXrqJc,1546
26
+ gr4vy/errors/error405.py,sha256=pLfdTI0OCifdXiHzA0cXGMokapByo4IXWq5dgZLQ7Pk,1551
27
+ gr4vy/errors/error409.py,sha256=11y6exgqAaQjvuytLtVJmF8UtJd2DsRAgLt6y55C_Eo,1542
28
+ gr4vy/errors/error425.py,sha256=aM0Qe67p5xZ_bhK2E4F5sfvK5F1J_2PRKqguVSSCIRg,1528
29
+ gr4vy/errors/error429.py,sha256=Oj1Smi_Fal3s37Pgzv7DsrklJeWu5V3OXux_GA7exF8,1544
30
+ gr4vy/errors/error500.py,sha256=j9tqPQOVHfRu9-2xtQ_5b9RK_kdYq7M7O79iXqHQu40,1551
31
+ gr4vy/errors/error502.py,sha256=Dfnf8GcvWYCqEP_NJ3Grxo1xAS13y2t_KVN2vE6FPSg,1549
32
+ gr4vy/errors/error504.py,sha256=SrFLVIGSYGF53qfTGG3vaOfPxspNC_aXIETUUmE5dB4,1532
33
+ gr4vy/errors/gr4vyerror.py,sha256=2r6v-PyaP_VDwU73BUM4Shai18MRXkksaIh03FLquaE,949
34
+ gr4vy/errors/httpvalidationerror.py,sha256=ao6pi3D1dqaSuRHNWFL4hus1UzTs2a38ZnYh03jcL8Y,868
35
+ gr4vy/errors/no_response_error.py,sha256=Kb7hmMtDo72KrLSjUEDNeQxvzZiVxUjOZym8TPdZp5Y,462
36
+ gr4vy/errors/responsevalidationerror.py,sha256=qPWwBjicfLUExXdnpczJtnM0dxvIypEz2xoIF3SWlPM,740
37
37
  gr4vy/events.py,sha256=BIMBWIzunyVMD86pj2zzWaUd_o5WY1MQZN77uxHe7es,14735
38
38
  gr4vy/executions.py,sha256=fd0PCYJAMMoqisRSKoEdPVfMetgrHzVVhJFI8UCzKsM,43128
39
39
  gr4vy/gift_cards_sdk.py,sha256=aYvoWaBuJybmKfBCSXHbmIlqVxjdWYspCc4JbDB3uSc,57533
@@ -326,7 +326,7 @@ gr4vy/models/shippingdetails.py,sha256=FznfE48itPT1wt7VSAnYMtimwhJBgIAJUzWqtM-sG
326
326
  gr4vy/models/shippingdetailscreate.py,sha256=SE9gvHGoN7OnKWa52QFPwVmkfJzJMZjT_aJbSTkfOM0,2686
327
327
  gr4vy/models/shippingdetailslist.py,sha256=D_vzMhMOjmb_aox08DJlU09Tm_URvnW_1uAaHFVyIvU,549
328
328
  gr4vy/models/shippingdetailsupdate.py,sha256=uwkyL6mvdgW6nA_yEPCQxWYP0_m76hTkE_nGRJat57I,2686
329
- gr4vy/models/statementdescriptor.py,sha256=xaoXKppvHJ4d9lddfjuS7Vucj-JCBtHliFlWmxbeVDw,3178
329
+ gr4vy/models/statementdescriptor.py,sha256=6gd-zK-n7Pfno3mV8N_YdUEXy8zQ1MMA6J_I6RzhwRU,3426
330
330
  gr4vy/models/stripeconnectoptions.py,sha256=cmNIVUL_6yDOkHhIQq0c0-Cl1vrkt3pIW2lQ8XtIC_4,2942
331
331
  gr4vy/models/stripeoptions.py,sha256=xogD0TRJ7_dNCiONz1J0WoHZ5a6zj9U8dJo9GRWO1VU,2351
332
332
  gr4vy/models/suspend_payment_method_network_tokenop.py,sha256=ZyFjsAV5k7aZVhy-WaRs4hvU7itmn6wc4VD2OEv1bxA,1809
@@ -346,7 +346,7 @@ gr4vy/models/transactioncancel.py,sha256=OHP0xmmM374aaYXPeV0G2fZn5RRfxbTAzJnNosp
346
346
  gr4vy/models/transactioncapture.py,sha256=7WD3uoUyDJ1sejtjIb7b5B5BFtpKEi7KkegVtB0DLTg,3174
347
347
  gr4vy/models/transactioncapturecreate.py,sha256=Hs8tTi8iG3xUBptznKHfUD7rvcGZX0OwDzpXOBegd8E,2188
348
348
  gr4vy/models/transactionconnectionoptions.py,sha256=GeXBb1VgGyRJvOxt8Dl0-psTHERjFWM5GBBgcvuBGKI,18231
349
- gr4vy/models/transactioncreate.py,sha256=eMZkJnfkuv50JzEeI3MzlHKs01PSuYLfxoRu4VV1dgE,24223
349
+ gr4vy/models/transactioncreate.py,sha256=nrS_YJpqNaa-Om-8AnXzSOG_wKNp0TH79umQwE1fXXE,26445
350
350
  gr4vy/models/transactionevent.py,sha256=rZm6VX53piqFWSMMP1rLsRqV2rw6_5J7BHrUt4Nfh2M,3871
351
351
  gr4vy/models/transactionevents.py,sha256=5l2Yc69SMePDlFtcby4i3BxGBkbT62SWQf4X5Xvfypw,2210
352
352
  gr4vy/models/transactiongiftcard.py,sha256=E4f_76ezJJdPlW9kIbrXt-PIx2Zgg3bhqPjVzhWdjpM,2329
@@ -405,7 +405,7 @@ gr4vy/reports_sdk.py,sha256=D9UkmvZmyuRWlB89nbhMoeuFsknZ8kmwxTmqQNylY2M,59625
405
405
  gr4vy/sdk.py,sha256=XqkSODRWO2VLYcVBhQjX0EdgKson0juO_oQMsgJ_h5o,10477
406
406
  gr4vy/sdkconfiguration.py,sha256=aBQ8gY9aOjf1TL0kSLat8hEIoH4lCE9_PhihyhBpRE4,1985
407
407
  gr4vy/sessions.py,sha256=yg9L1vMfHT6dNc6zjthULHFS2dC67QzXCv5WUFMn3DI,41609
408
- gr4vy/transactions.py,sha256=_EWy3A9PMh3ChScFXTPoGI01-qnODu59u8AAfel6IP8,165191
408
+ gr4vy/transactions.py,sha256=kQb94JESsFEdq7yo7uhkywsy003QeHbndgswHM98zS8,168087
409
409
  gr4vy/transactions_refunds.py,sha256=_YXYEbNw-F5PotIxZE83zU__987Asqz_9JnqBIKhEvw,43591
410
410
  gr4vy/transactions_settlements.py,sha256=YOH0JAGvli36XhKKXyQ81JIIuv59uCOpqBri6SlYfa0,27750
411
411
  gr4vy/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
@@ -428,6 +428,6 @@ gr4vy/utils/unmarshal_json_response.py,sha256=H7jxugtMDuagdBXdpGiPf0Vr5-PWLETp8B
428
428
  gr4vy/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
429
429
  gr4vy/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
430
430
  gr4vy/webhooks.py,sha256=2L-ZhdK-XU2X0AkVqgZvhfRqDCKUVs7R4UNCmZJR78w,1359
431
- gr4vy-1.2.4.dist-info/METADATA,sha256=L3QOrqd6xyQ-bdmKfO-aHGixzVVzLGeyAdG4BJs4K9Y,44151
432
- gr4vy-1.2.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
433
- gr4vy-1.2.4.dist-info/RECORD,,
431
+ gr4vy-1.2.6.dist-info/METADATA,sha256=Y-47ImpcrBpchgm5lf-Qb6ERCvzDORohx5gEJF9J3oQ,44151
432
+ gr4vy-1.2.6.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
433
+ gr4vy-1.2.6.dist-info/RECORD,,
File without changes