gr4vy 1.10.8__py3-none-any.whl → 1.10.10__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.
Files changed (84) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/models/adyencardoptions.py +1 -6
  3. gr4vy/models/adyensepaoptions.py +1 -6
  4. gr4vy/models/airline.py +2 -7
  5. gr4vy/models/airlineleg.py +2 -6
  6. gr4vy/models/airlinepassenger.py +2 -6
  7. gr4vy/models/auditlogentry.py +3 -3
  8. gr4vy/models/auditlogentryuser.py +3 -3
  9. gr4vy/models/braintreedynamicdatafieldsoptions.py +2 -7
  10. gr4vy/models/browserinfo.py +2 -4
  11. gr4vy/models/capture_transactionop.py +4 -20
  12. gr4vy/models/cartitem.py +2 -6
  13. gr4vy/models/checkoutsessionpaymentmethod.py +3 -5
  14. gr4vy/models/checkoutsessionpaymentmethoddetails.py +2 -6
  15. gr4vy/models/createsession.py +3 -3
  16. gr4vy/models/definitionfield.py +1 -6
  17. gr4vy/models/digitalwallet.py +3 -5
  18. gr4vy/models/digitalwalletcreate.py +2 -6
  19. gr4vy/models/dlocalupirecurringinfooptions.py +2 -6
  20. gr4vy/models/errordetail.py +2 -4
  21. gr4vy/models/forterantifraudoptions.py +2 -7
  22. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +2 -7
  23. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +3 -6
  24. gr4vy/models/giftcardredemption.py +4 -8
  25. gr4vy/models/giftcardservice.py +3 -5
  26. gr4vy/models/giftcardsummary.py +3 -5
  27. gr4vy/models/list_all_report_executionsop.py +2 -14
  28. gr4vy/models/list_audit_logsop.py +2 -10
  29. gr4vy/models/list_buyer_payment_methodsop.py +2 -3
  30. gr4vy/models/list_payment_methodsop.py +2 -14
  31. gr4vy/models/list_payment_servicesop.py +2 -8
  32. gr4vy/models/list_reportsop.py +2 -10
  33. gr4vy/models/list_transactionsop.py +4 -22
  34. gr4vy/models/merchantaccount.py +3 -5
  35. gr4vy/models/merchantaccountcreate.py +2 -6
  36. gr4vy/models/merchantaccountupdate.py +2 -6
  37. gr4vy/models/networktoken.py +3 -3
  38. gr4vy/models/networktokenpaymentmethodcreate.py +4 -8
  39. gr4vy/models/paymentlink.py +12 -7
  40. gr4vy/models/paymentlinkcreate.py +10 -9
  41. gr4vy/models/paymentmethod.py +7 -13
  42. gr4vy/models/paymentmethodcard.py +3 -5
  43. gr4vy/models/paymentmethoddetailscard.py +2 -6
  44. gr4vy/models/paymentmethodsummary.py +6 -12
  45. gr4vy/models/paymentoption.py +3 -3
  46. gr4vy/models/paymentservice.py +4 -6
  47. gr4vy/models/paymentserviceconfiguration.py +2 -6
  48. gr4vy/models/paymentservicedefinition.py +5 -7
  49. gr4vy/models/paymentservicetoken.py +3 -3
  50. gr4vy/models/payoutcreate.py +2 -6
  51. gr4vy/models/payoutsummary.py +4 -6
  52. gr4vy/models/paypalshippingoptionsitem.py +2 -7
  53. gr4vy/models/redirectpaymentmethodcreate.py +2 -6
  54. gr4vy/models/refund.py +4 -4
  55. gr4vy/models/report.py +4 -6
  56. gr4vy/models/reportcreate.py +2 -3
  57. gr4vy/models/reportexecution.py +3 -3
  58. gr4vy/models/reportexecutionsummary.py +3 -3
  59. gr4vy/models/reportspec.py +2 -4
  60. gr4vy/models/reportsummary.py +3 -5
  61. gr4vy/models/taxid.py +2 -4
  62. gr4vy/models/threedsecuredatav1.py +2 -6
  63. gr4vy/models/threedsecuredatav2.py +2 -6
  64. gr4vy/models/transaction.py +11 -25
  65. gr4vy/models/transactionaction.py +4 -4
  66. gr4vy/models/transactioncancel.py +3 -3
  67. gr4vy/models/transactioncapture.py +3 -3
  68. gr4vy/models/transactioncreate.py +4 -12
  69. gr4vy/models/transactionevent.py +4 -3
  70. gr4vy/models/transactionpaymentmethod.py +6 -12
  71. gr4vy/models/transactionpaymentservice.py +3 -3
  72. gr4vy/models/transactionrefundcreate.py +2 -6
  73. gr4vy/models/transactionsummary.py +6 -10
  74. gr4vy/models/transactionthreedsecuresummary.py +3 -9
  75. gr4vy/models/transactionvoid.py +3 -3
  76. gr4vy/models/void_transactionop.py +5 -25
  77. gr4vy/payment_links_sdk.py +6 -0
  78. gr4vy/utils/__init__.py +0 -3
  79. gr4vy/utils/enums.py +60 -0
  80. gr4vy/utils/requestbodies.py +3 -3
  81. gr4vy/utils/serializers.py +0 -20
  82. {gr4vy-1.10.8.dist-info → gr4vy-1.10.10.dist-info}/METADATA +1 -1
  83. {gr4vy-1.10.8.dist-info → gr4vy-1.10.10.dist-info}/RECORD +84 -84
  84. {gr4vy-1.10.8.dist-info → gr4vy-1.10.10.dist-info}/WHEEL +0 -0
@@ -5,15 +5,9 @@ from .reportexecutions import ReportExecutions, ReportExecutionsTypedDict
5
5
  from .reportexecutionstatus import ReportExecutionStatus
6
6
  from datetime import datetime
7
7
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
- from gr4vy.utils import (
9
- FieldMetadata,
10
- HeaderMetadata,
11
- QueryParamMetadata,
12
- validate_open_enum,
13
- )
8
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
14
9
  import pydantic
15
10
  from pydantic import model_serializer
16
- from pydantic.functional_validators import PlainValidator
17
11
  from typing import Callable, List, Optional
18
12
  from typing_extensions import Annotated, NotRequired, TypedDict
19
13
 
@@ -83,13 +77,7 @@ class ListAllReportExecutionsRequest(BaseModel):
83
77
  r"""Filters the results to only reports created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."""
84
78
 
85
79
  status: Annotated[
86
- OptionalNullable[
87
- List[
88
- Annotated[
89
- ReportExecutionStatus, PlainValidator(validate_open_enum(False))
90
- ]
91
- ]
92
- ],
80
+ OptionalNullable[List[ReportExecutionStatus]],
93
81
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
94
82
  ] = UNSET
95
83
  r"""Filters the results to only the reports that have a `status` that matches with any of the provided status values."""
@@ -4,15 +4,9 @@ from __future__ import annotations
4
4
  from .auditlogaction import AuditLogAction
5
5
  from .auditlogentries import AuditLogEntries, AuditLogEntriesTypedDict
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from gr4vy.utils import (
8
- FieldMetadata,
9
- HeaderMetadata,
10
- QueryParamMetadata,
11
- validate_open_enum,
12
- )
7
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
13
8
  import pydantic
14
9
  from pydantic import model_serializer
15
- from pydantic.functional_validators import PlainValidator
16
10
  from typing import Callable, Optional
17
11
  from typing_extensions import Annotated, NotRequired, TypedDict
18
12
 
@@ -60,9 +54,7 @@ class ListAuditLogsRequest(BaseModel):
60
54
  r"""The maximum number of items that are at returned."""
61
55
 
62
56
  action: Annotated[
63
- Annotated[
64
- OptionalNullable[AuditLogAction], PlainValidator(validate_open_enum(False))
65
- ],
57
+ OptionalNullable[AuditLogAction],
66
58
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
67
59
  ] = UNSET
68
60
  r"""Filters the results to only the items for which the `audit-log` has an `action` that matches this value."""
@@ -14,11 +14,10 @@ from gr4vy.utils import (
14
14
  HeaderMetadata,
15
15
  QueryParamMetadata,
16
16
  validate_const,
17
- validate_open_enum,
18
17
  )
19
18
  import pydantic
20
19
  from pydantic import model_serializer
21
- from pydantic.functional_validators import AfterValidator, PlainValidator
20
+ from pydantic.functional_validators import AfterValidator
22
21
  from typing import Literal, Optional, Union
23
22
  from typing_extensions import Annotated, NotRequired, TypedDict
24
23
 
@@ -88,7 +87,7 @@ class ListBuyerPaymentMethodsRequest(BaseModel):
88
87
  r"""The field to sort the payment methods by."""
89
88
 
90
89
  order_by: Annotated[
91
- Annotated[Optional[OrderBy], PlainValidator(validate_open_enum(False))],
90
+ Optional[OrderBy],
92
91
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
93
92
  ] = "desc"
94
93
  r"""The direction to sort the payment methods in."""
@@ -4,15 +4,9 @@ from __future__ import annotations
4
4
  from .paymentmethods import PaymentMethods, PaymentMethodsTypedDict
5
5
  from .paymentmethodstatus import PaymentMethodStatus
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from gr4vy.utils import (
8
- FieldMetadata,
9
- HeaderMetadata,
10
- QueryParamMetadata,
11
- validate_open_enum,
12
- )
7
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
13
8
  import pydantic
14
9
  from pydantic import model_serializer
15
- from pydantic.functional_validators import PlainValidator
16
10
  from typing import Callable, List, Optional
17
11
  from typing_extensions import Annotated, NotRequired, TypedDict
18
12
 
@@ -73,13 +67,7 @@ class ListPaymentMethodsRequest(BaseModel):
73
67
  r"""The external identifier of the buyer to filter payment methods by."""
74
68
 
75
69
  status: Annotated[
76
- OptionalNullable[
77
- List[
78
- Annotated[
79
- PaymentMethodStatus, PlainValidator(validate_open_enum(False))
80
- ]
81
- ]
82
- ],
70
+ OptionalNullable[List[PaymentMethodStatus]],
83
71
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
84
72
  ] = UNSET
85
73
 
@@ -4,15 +4,9 @@ from __future__ import annotations
4
4
  from .method import Method
5
5
  from .paymentservices import PaymentServices, PaymentServicesTypedDict
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from gr4vy.utils import (
8
- FieldMetadata,
9
- HeaderMetadata,
10
- QueryParamMetadata,
11
- validate_open_enum,
12
- )
7
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
13
8
  import pydantic
14
9
  from pydantic import model_serializer
15
- from pydantic.functional_validators import PlainValidator
16
10
  from typing import Callable, Optional
17
11
  from typing_extensions import Annotated, NotRequired, TypedDict
18
12
 
@@ -46,7 +40,7 @@ class ListPaymentServicesRequestTypedDict(TypedDict):
46
40
 
47
41
  class ListPaymentServicesRequest(BaseModel):
48
42
  method: Annotated[
49
- Annotated[OptionalNullable[Method], PlainValidator(validate_open_enum(False))],
43
+ OptionalNullable[Method],
50
44
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
51
45
  ] = UNSET
52
46
  r"""Return any payment service for this method."""
@@ -4,15 +4,9 @@ from __future__ import annotations
4
4
  from .reports import Reports, ReportsTypedDict
5
5
  from .reportschedule import ReportSchedule
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from gr4vy.utils import (
8
- FieldMetadata,
9
- HeaderMetadata,
10
- QueryParamMetadata,
11
- validate_open_enum,
12
- )
7
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
13
8
  import pydantic
14
9
  from pydantic import model_serializer
15
- from pydantic.functional_validators import PlainValidator
16
10
  from typing import Callable, List, Optional
17
11
  from typing_extensions import Annotated, NotRequired, TypedDict
18
12
 
@@ -60,9 +54,7 @@ class ListReportsRequest(BaseModel):
60
54
  r"""The maximum number of items that are at returned."""
61
55
 
62
56
  schedule: Annotated[
63
- OptionalNullable[
64
- List[Annotated[ReportSchedule, PlainValidator(validate_open_enum(False))]]
65
- ],
57
+ OptionalNullable[List[ReportSchedule]],
66
58
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
67
59
  ] = UNSET
68
60
  r"""Filters the reports by the type of schedule at which they run."""
@@ -7,15 +7,9 @@ from .transactionstatus import TransactionStatus
7
7
  from .transactionsummaries import TransactionSummaries, TransactionSummariesTypedDict
8
8
  from datetime import datetime
9
9
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
10
- from gr4vy.utils import (
11
- FieldMetadata,
12
- HeaderMetadata,
13
- QueryParamMetadata,
14
- validate_open_enum,
15
- )
10
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
16
11
  import pydantic
17
12
  from pydantic import model_serializer
18
- from pydantic.functional_validators import PlainValidator
19
13
  from typing import Callable, List, Optional
20
14
  from typing_extensions import Annotated, NotRequired, TypedDict
21
15
 
@@ -179,11 +173,7 @@ class ListTransactionsRequest(BaseModel):
179
173
  ] = UNSET
180
174
 
181
175
  status: Annotated[
182
- OptionalNullable[
183
- List[
184
- Annotated[TransactionStatus, PlainValidator(validate_open_enum(False))]
185
- ]
186
- ],
176
+ OptionalNullable[List[TransactionStatus]],
187
177
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
188
178
  ] = UNSET
189
179
  r"""Filters the results to only the transactions that have a `status` that matches with any of the provided status values."""
@@ -273,9 +263,7 @@ class ListTransactionsRequest(BaseModel):
273
263
  ] = UNSET
274
264
 
275
265
  method: Annotated[
276
- OptionalNullable[
277
- List[Annotated[Method, PlainValidator(validate_open_enum(False))]]
278
- ],
266
+ OptionalNullable[List[Method]],
279
267
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
280
268
  ] = UNSET
281
269
  r"""Filters for transactions that have matching `method` values."""
@@ -341,13 +329,7 @@ class ListTransactionsRequest(BaseModel):
341
329
  r"""Filter for transactions that have a card with a BIN that matches exactly with the provided value."""
342
330
 
343
331
  payment_source: Annotated[
344
- OptionalNullable[
345
- List[
346
- Annotated[
347
- TransactionPaymentSource, PlainValidator(validate_open_enum(False))
348
- ]
349
- ]
350
- ],
332
+ OptionalNullable[List[TransactionPaymentSource]],
351
333
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
352
334
  ] = UNSET
353
335
  r"""Filters the results to only the transactions that have a payment source that matches with any of the provided values."""
@@ -4,10 +4,10 @@ from __future__ import annotations
4
4
  from .cardscheme import CardScheme
5
5
  from datetime import datetime
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from gr4vy.utils import validate_const, validate_open_enum
7
+ from gr4vy.utils import validate_const
8
8
  import pydantic
9
9
  from pydantic import model_serializer
10
- from pydantic.functional_validators import AfterValidator, PlainValidator
10
+ from pydantic.functional_validators import AfterValidator
11
11
  from typing import List, Literal, Optional
12
12
  from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
@@ -90,9 +90,7 @@ class MerchantAccount(BaseModel):
90
90
  loon_secret_key: OptionalNullable[str] = UNSET
91
91
  r"""Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
92
92
 
93
- loon_accepted_schemes: OptionalNullable[
94
- List[Annotated[CardScheme, PlainValidator(validate_open_enum(False))]]
95
- ] = UNSET
93
+ loon_accepted_schemes: OptionalNullable[List[CardScheme]] = UNSET
96
94
  r"""Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
97
95
 
98
96
  account_updater_request_encryption_key: OptionalNullable[str] = UNSET
@@ -3,11 +3,9 @@
3
3
  from __future__ import annotations
4
4
  from .cardscheme import CardScheme
5
5
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from gr4vy.utils import validate_open_enum
7
6
  from pydantic import model_serializer
8
- from pydantic.functional_validators import PlainValidator
9
7
  from typing import List, Optional
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class MerchantAccountCreateTypedDict(TypedDict):
@@ -85,9 +83,7 @@ class MerchantAccountCreate(BaseModel):
85
83
  loon_secret_key: OptionalNullable[str] = UNSET
86
84
  r"""Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
87
85
 
88
- loon_accepted_schemes: OptionalNullable[
89
- List[Annotated[CardScheme, PlainValidator(validate_open_enum(False))]]
90
- ] = UNSET
86
+ loon_accepted_schemes: OptionalNullable[List[CardScheme]] = UNSET
91
87
  r"""Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
92
88
 
93
89
  visa_network_tokens_requestor_id: OptionalNullable[str] = UNSET
@@ -3,11 +3,9 @@
3
3
  from __future__ import annotations
4
4
  from .cardscheme import CardScheme
5
5
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from gr4vy.utils import validate_open_enum
7
6
  from pydantic import model_serializer
8
- from pydantic.functional_validators import PlainValidator
9
7
  from typing import List, Optional
10
- from typing_extensions import Annotated, NotRequired, TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
11
9
 
12
10
 
13
11
  class MerchantAccountUpdateTypedDict(TypedDict):
@@ -77,9 +75,7 @@ class MerchantAccountUpdate(BaseModel):
77
75
  loon_secret_key: OptionalNullable[str] = UNSET
78
76
  r"""Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
79
77
 
80
- loon_accepted_schemes: OptionalNullable[
81
- List[Annotated[CardScheme, PlainValidator(validate_open_enum(False))]]
82
- ] = UNSET
78
+ loon_accepted_schemes: OptionalNullable[List[CardScheme]] = UNSET
83
79
  r"""Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well."""
84
80
 
85
81
  visa_network_tokens_requestor_id: OptionalNullable[str] = UNSET
@@ -4,9 +4,9 @@ from __future__ import annotations
4
4
  from .networktokenstatus import NetworkTokenStatus
5
5
  from datetime import datetime
6
6
  from gr4vy.types import BaseModel
7
- from gr4vy.utils import validate_const, validate_open_enum
7
+ from gr4vy.utils import validate_const
8
8
  import pydantic
9
- from pydantic.functional_validators import AfterValidator, PlainValidator
9
+ from pydantic.functional_validators import AfterValidator
10
10
  from typing import Literal, Optional
11
11
  from typing_extensions import Annotated, TypedDict
12
12
 
@@ -39,7 +39,7 @@ class NetworkToken(BaseModel):
39
39
  payment_method_id: str
40
40
  r"""The ID of the payment method used to generate this token"""
41
41
 
42
- status: Annotated[NetworkTokenStatus, PlainValidator(validate_open_enum(False))]
42
+ status: NetworkTokenStatus
43
43
 
44
44
  token: str
45
45
  r"""The token value. Will be present if succeeded."""
@@ -10,10 +10,10 @@ from gr4vy.types import (
10
10
  UNSET_SENTINEL,
11
11
  UnrecognizedStr,
12
12
  )
13
- from gr4vy.utils import validate_const, validate_open_enum
13
+ from gr4vy.utils import validate_const
14
14
  import pydantic
15
15
  from pydantic import model_serializer
16
- from pydantic.functional_validators import AfterValidator, PlainValidator
16
+ from pydantic.functional_validators import AfterValidator
17
17
  from typing import Literal, Union
18
18
  from typing_extensions import Annotated, NotRequired, TypedDict
19
19
 
@@ -71,14 +71,10 @@ class NetworkTokenPaymentMethodCreate(BaseModel):
71
71
  redirect_url: OptionalNullable[str] = UNSET
72
72
  r"""The URL to redirect a user back to after the complete 3DS in browser."""
73
73
 
74
- card_source: Annotated[
75
- OptionalNullable[CardSource], PlainValidator(validate_open_enum(False))
76
- ] = UNSET
74
+ card_source: OptionalNullable[CardSource] = UNSET
77
75
  r"""The optional source of the decrypted device token."""
78
76
 
79
- card_scheme: Annotated[
80
- OptionalNullable[CardScheme], PlainValidator(validate_open_enum(False))
81
- ] = UNSET
77
+ card_scheme: OptionalNullable[CardScheme] = UNSET
82
78
  r"""The original card scheme for which the token was generated."""
83
79
 
84
80
  card_suffix: OptionalNullable[str] = UNSET
@@ -10,10 +10,10 @@ from .transactionintent import TransactionIntent
10
10
  from .transactionpaymentsource import TransactionPaymentSource
11
11
  from datetime import datetime
12
12
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
- from gr4vy.utils import validate_const, validate_open_enum
13
+ from gr4vy.utils import validate_const
14
14
  import pydantic
15
15
  from pydantic import model_serializer
16
- from pydantic.functional_validators import AfterValidator, PlainValidator
16
+ from pydantic.functional_validators import AfterValidator
17
17
  from typing import Any, Dict, List, Literal, Optional
18
18
  from typing_extensions import Annotated, NotRequired, TypedDict
19
19
 
@@ -77,6 +77,8 @@ class PaymentLinkTypedDict(TypedDict):
77
77
  r"""Whether the payment method was stored."""
78
78
  buyer_id: NotRequired[Nullable[str]]
79
79
  r"""The ID of the buyer to associate with the stored payment method."""
80
+ installment_count: NotRequired[Nullable[int]]
81
+ r"""The number of installments a buyer is required to make."""
80
82
 
81
83
 
82
84
  class PaymentLink(BaseModel):
@@ -95,14 +97,12 @@ class PaymentLink(BaseModel):
95
97
  currency: str
96
98
  r"""The currency code for the payment link."""
97
99
 
98
- intent: Annotated[TransactionIntent, PlainValidator(validate_open_enum(False))]
100
+ intent: TransactionIntent
99
101
 
100
102
  cart_items: Nullable[List[CartItem]]
101
103
  r"""The cart items for the payment link."""
102
104
 
103
- payment_source: Annotated[
104
- TransactionPaymentSource, PlainValidator(validate_open_enum(False))
105
- ]
105
+ payment_source: TransactionPaymentSource
106
106
  r"""The way payment method information made it to this transaction."""
107
107
 
108
108
  created_at: datetime
@@ -111,7 +111,7 @@ class PaymentLink(BaseModel):
111
111
  updated_at: datetime
112
112
  r"""The date and time the payment link was last updated."""
113
113
 
114
- status: Annotated[PaymentLinkStatus, PlainValidator(validate_open_enum(False))]
114
+ status: PaymentLinkStatus
115
115
 
116
116
  TYPE: Annotated[
117
117
  Annotated[
@@ -176,6 +176,9 @@ class PaymentLink(BaseModel):
176
176
  buyer_id: OptionalNullable[str] = UNSET
177
177
  r"""The ID of the buyer to associate with the stored payment method."""
178
178
 
179
+ installment_count: OptionalNullable[int] = UNSET
180
+ r"""The number of installments a buyer is required to make."""
181
+
179
182
  @model_serializer(mode="wrap")
180
183
  def serialize_model(self, handler):
181
184
  optional_fields = [
@@ -198,6 +201,7 @@ class PaymentLink(BaseModel):
198
201
  "connection_options",
199
202
  "store",
200
203
  "buyer_id",
204
+ "installment_count",
201
205
  ]
202
206
  nullable_fields = [
203
207
  "expires_at",
@@ -218,6 +222,7 @@ class PaymentLink(BaseModel):
218
222
  "shipping_details",
219
223
  "connection_options",
220
224
  "buyer_id",
225
+ "installment_count",
221
226
  ]
222
227
  null_default_fields = []
223
228
 
@@ -12,11 +12,9 @@ from .transactionintent import TransactionIntent
12
12
  from .transactionpaymentsource import TransactionPaymentSource
13
13
  from datetime import datetime
14
14
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
15
- from gr4vy.utils import validate_open_enum
16
15
  from pydantic import model_serializer
17
- from pydantic.functional_validators import PlainValidator
18
16
  from typing import Any, Dict, List, Optional
19
- from typing_extensions import Annotated, NotRequired, TypedDict
17
+ from typing_extensions import NotRequired, TypedDict
20
18
 
21
19
 
22
20
  class PaymentLinkCreateTypedDict(TypedDict):
@@ -65,6 +63,8 @@ class PaymentLinkCreateTypedDict(TypedDict):
65
63
  r"""Whether to store the payment method for future use."""
66
64
  buyer_id: NotRequired[Nullable[str]]
67
65
  r"""The ID of the buyer to associate the payment method with. Note: When `buyer_id` is provided, the payment link should be treated as a secret as it will allow the user to manage payment methods for the associated buyer."""
66
+ installment_count: NotRequired[Nullable[int]]
67
+ r"""The number of installments a buyer is required to make."""
68
68
 
69
69
 
70
70
  class PaymentLinkCreate(BaseModel):
@@ -116,9 +116,7 @@ class PaymentLinkCreate(BaseModel):
116
116
  merchant_favicon_url: OptionalNullable[str] = UNSET
117
117
  r"""URL to the merchant's favicon."""
118
118
 
119
- intent: Annotated[
120
- Optional[TransactionIntent], PlainValidator(validate_open_enum(False))
121
- ] = None
119
+ intent: Optional[TransactionIntent] = None
122
120
 
123
121
  return_url: OptionalNullable[str] = UNSET
124
122
  r"""The return URL after payment completion."""
@@ -129,9 +127,7 @@ class PaymentLinkCreate(BaseModel):
129
127
  metadata: OptionalNullable[Dict[str, Any]] = UNSET
130
128
  r"""Arbitrary metadata for the payment link."""
131
129
 
132
- payment_source: Annotated[
133
- Optional[TransactionPaymentSource], PlainValidator(validate_open_enum(False))
134
- ] = None
130
+ payment_source: Optional[TransactionPaymentSource] = None
135
131
  r"""The way payment method information made it to this transaction."""
136
132
 
137
133
  store: Optional[bool] = False
@@ -140,6 +136,9 @@ class PaymentLinkCreate(BaseModel):
140
136
  buyer_id: OptionalNullable[str] = UNSET
141
137
  r"""The ID of the buyer to associate the payment method with. Note: When `buyer_id` is provided, the payment link should be treated as a secret as it will allow the user to manage payment methods for the associated buyer."""
142
138
 
139
+ installment_count: OptionalNullable[int] = UNSET
140
+ r"""The number of installments a buyer is required to make."""
141
+
143
142
  @model_serializer(mode="wrap")
144
143
  def serialize_model(self, handler):
145
144
  optional_fields = [
@@ -163,6 +162,7 @@ class PaymentLinkCreate(BaseModel):
163
162
  "payment_source",
164
163
  "store",
165
164
  "buyer_id",
165
+ "installment_count",
166
166
  ]
167
167
  nullable_fields = [
168
168
  "buyer",
@@ -182,6 +182,7 @@ class PaymentLinkCreate(BaseModel):
182
182
  "cart_items",
183
183
  "metadata",
184
184
  "buyer_id",
185
+ "installment_count",
185
186
  ]
186
187
  null_default_fields = []
187
188
 
@@ -12,10 +12,10 @@ from .paymentmethoddetailscard import (
12
12
  from .paymentmethodstatus import PaymentMethodStatus
13
13
  from datetime import datetime
14
14
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
15
- from gr4vy.utils import validate_const, validate_open_enum
15
+ from gr4vy.utils import validate_const
16
16
  import pydantic
17
17
  from pydantic import model_serializer
18
- from pydantic.functional_validators import AfterValidator, PlainValidator
18
+ from pydantic.functional_validators import AfterValidator
19
19
  from typing import List, Literal, Optional
20
20
  from typing_extensions import Annotated, NotRequired, TypedDict
21
21
 
@@ -82,7 +82,7 @@ class PaymentMethod(BaseModel):
82
82
  A stored payment method.
83
83
  """
84
84
 
85
- method: Annotated[Method, PlainValidator(validate_open_enum(False))]
85
+ method: Method
86
86
 
87
87
  id: str
88
88
  r"""The ID for the payment method."""
@@ -99,7 +99,7 @@ class PaymentMethod(BaseModel):
99
99
  usage_count: int
100
100
  r"""The number of times this payment method has been used in transactions."""
101
101
 
102
- status: Annotated[PaymentMethodStatus, PlainValidator(validate_open_enum(False))]
102
+ status: PaymentMethodStatus
103
103
 
104
104
  created_at: datetime
105
105
  r"""The date and time when this payment method was first created in our system."""
@@ -140,19 +140,13 @@ class PaymentMethod(BaseModel):
140
140
  last_replaced_at: OptionalNullable[datetime] = UNSET
141
141
  r"""The date and time when this card was last replaced by the account updater."""
142
142
 
143
- mode: Annotated[
144
- OptionalNullable[Mode], PlainValidator(validate_open_enum(False))
145
- ] = UNSET
143
+ mode: OptionalNullable[Mode] = UNSET
146
144
  r"""The mode to use with this payment method."""
147
145
 
148
- scheme: Annotated[
149
- OptionalNullable[CardScheme], PlainValidator(validate_open_enum(False))
150
- ] = UNSET
146
+ scheme: OptionalNullable[CardScheme] = UNSET
151
147
  r"""The scheme of the card. Only applies to card payments."""
152
148
 
153
- additional_schemes: OptionalNullable[
154
- List[Annotated[CardScheme, PlainValidator(validate_open_enum(False))]]
155
- ] = UNSET
149
+ additional_schemes: OptionalNullable[List[CardScheme]] = UNSET
156
150
  r"""Additional schemes of the card besides the primary scheme. Only applies to card payment methods."""
157
151
 
158
152
  cit_last_used_at: OptionalNullable[datetime] = UNSET
@@ -3,10 +3,10 @@
3
3
  from __future__ import annotations
4
4
  from .cardscheme import CardScheme
5
5
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from gr4vy.utils import validate_const, validate_open_enum
6
+ from gr4vy.utils import validate_const
7
7
  import pydantic
8
8
  from pydantic import model_serializer
9
- from pydantic.functional_validators import AfterValidator, PlainValidator
9
+ from pydantic.functional_validators import AfterValidator
10
10
  from typing import Literal, Optional
11
11
  from typing_extensions import Annotated, NotRequired, TypedDict
12
12
 
@@ -37,9 +37,7 @@ class PaymentMethodCard(BaseModel):
37
37
  ] = "card"
38
38
  r"""Set to `card` to use a new card."""
39
39
 
40
- card_scheme: Annotated[
41
- OptionalNullable[CardScheme], PlainValidator(validate_open_enum(False))
42
- ] = UNSET
40
+ card_scheme: OptionalNullable[CardScheme] = UNSET
43
41
  r"""The optional card's network scheme."""
44
42
 
45
43
  external_identifier: OptionalNullable[str] = UNSET
@@ -3,10 +3,8 @@
3
3
  from __future__ import annotations
4
4
  from .cardtype import CardType
5
5
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from gr4vy.utils import validate_open_enum
7
6
  from pydantic import model_serializer
8
- from pydantic.functional_validators import PlainValidator
9
- from typing_extensions import Annotated, NotRequired, TypedDict
7
+ from typing_extensions import NotRequired, TypedDict
10
8
 
11
9
 
12
10
  class PaymentMethodDetailsCardTypedDict(TypedDict):
@@ -18,9 +16,7 @@ class PaymentMethodDetailsCardTypedDict(TypedDict):
18
16
  class PaymentMethodDetailsCard(BaseModel):
19
17
  bin: OptionalNullable[str] = UNSET
20
18
 
21
- card_type: Annotated[
22
- OptionalNullable[CardType], PlainValidator(validate_open_enum(False))
23
- ] = UNSET
19
+ card_type: OptionalNullable[CardType] = UNSET
24
20
 
25
21
  card_issuer_name: OptionalNullable[str] = UNSET
26
22
 
@@ -10,10 +10,10 @@ from .paymentmethoddetailscard import (
10
10
  )
11
11
  from datetime import datetime
12
12
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
- from gr4vy.utils import validate_const, validate_open_enum
13
+ from gr4vy.utils import validate_const
14
14
  import pydantic
15
15
  from pydantic import model_serializer
16
- from pydantic.functional_validators import AfterValidator, PlainValidator
16
+ from pydantic.functional_validators import AfterValidator
17
17
  from typing import List, Literal, Optional
18
18
  from typing_extensions import Annotated, NotRequired, TypedDict
19
19
 
@@ -71,7 +71,7 @@ class PaymentMethodSummary(BaseModel):
71
71
  A summary of a payment method.
72
72
  """
73
73
 
74
- method: Annotated[Method, PlainValidator(validate_open_enum(False))]
74
+ method: Method
75
75
 
76
76
  id: str
77
77
  r"""The ID for the payment method."""
@@ -121,19 +121,13 @@ class PaymentMethodSummary(BaseModel):
121
121
  last_replaced_at: OptionalNullable[datetime] = UNSET
122
122
  r"""The date and time when this card was last replaced by the account updater."""
123
123
 
124
- mode: Annotated[
125
- OptionalNullable[Mode], PlainValidator(validate_open_enum(False))
126
- ] = UNSET
124
+ mode: OptionalNullable[Mode] = UNSET
127
125
  r"""The mode to use with this payment method."""
128
126
 
129
- scheme: Annotated[
130
- OptionalNullable[CardScheme], PlainValidator(validate_open_enum(False))
131
- ] = UNSET
127
+ scheme: OptionalNullable[CardScheme] = UNSET
132
128
  r"""The scheme of the card. Only applies to card payments."""
133
129
 
134
- additional_schemes: OptionalNullable[
135
- List[Annotated[CardScheme, PlainValidator(validate_open_enum(False))]]
136
- ] = UNSET
130
+ additional_schemes: OptionalNullable[List[CardScheme]] = UNSET
137
131
  r"""Additional schemes of the card besides the primary scheme. Only applies to card payment methods."""
138
132
 
139
133
  cit_last_used_at: OptionalNullable[datetime] = UNSET
@@ -12,10 +12,10 @@ from .walletpaymentoptioncontext import (
12
12
  WalletPaymentOptionContextTypedDict,
13
13
  )
14
14
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
15
- from gr4vy.utils import validate_const, validate_open_enum
15
+ from gr4vy.utils import validate_const
16
16
  import pydantic
17
17
  from pydantic import model_serializer
18
- from pydantic.functional_validators import AfterValidator, PlainValidator
18
+ from pydantic.functional_validators import AfterValidator
19
19
  from typing import Literal, Optional, Union
20
20
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
21
21
 
@@ -52,7 +52,7 @@ class PaymentOptionTypedDict(TypedDict):
52
52
  class PaymentOption(BaseModel):
53
53
  method: str
54
54
 
55
- mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
55
+ mode: Mode
56
56
 
57
57
  can_store_payment_method: bool
58
58