gr4vy 1.5.2__py3-none-any.whl → 1.10.9__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 (169) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/actions.py +307 -0
  3. gr4vy/all.py +4 -2
  4. gr4vy/audit_logs.py +4 -2
  5. gr4vy/balances.py +4 -2
  6. gr4vy/basesdk.py +6 -0
  7. gr4vy/buyers_gift_cards.py +4 -2
  8. gr4vy/buyers_payment_methods.py +4 -2
  9. gr4vy/buyers_sdk.py +28 -18
  10. gr4vy/buyers_shipping_details.py +20 -10
  11. gr4vy/card_scheme_definitions_sdk.py +4 -2
  12. gr4vy/checkout_sessions.py +40 -14
  13. gr4vy/digital_wallets_sdk.py +20 -10
  14. gr4vy/domains.py +8 -4
  15. gr4vy/errors/apierror.py +1 -1
  16. gr4vy/errors/error400.py +1 -5
  17. gr4vy/errors/error401.py +1 -5
  18. gr4vy/errors/error403.py +1 -5
  19. gr4vy/errors/error404.py +1 -5
  20. gr4vy/errors/error405.py +1 -5
  21. gr4vy/errors/error409.py +1 -5
  22. gr4vy/errors/error425.py +1 -5
  23. gr4vy/errors/error429.py +1 -5
  24. gr4vy/errors/error500.py +1 -5
  25. gr4vy/errors/error502.py +1 -5
  26. gr4vy/errors/error504.py +1 -5
  27. gr4vy/errors/gr4vyerror.py +1 -1
  28. gr4vy/errors/httpvalidationerror.py +1 -1
  29. gr4vy/errors/no_response_error.py +1 -1
  30. gr4vy/errors/responsevalidationerror.py +1 -1
  31. gr4vy/events.py +54 -7
  32. gr4vy/executions.py +12 -6
  33. gr4vy/gift_cards_sdk.py +16 -8
  34. gr4vy/jobs.py +4 -2
  35. gr4vy/merchant_accounts_sdk.py +16 -8
  36. gr4vy/models/__init__.py +103 -29
  37. gr4vy/models/adyencardoptions.py +1 -6
  38. gr4vy/models/adyensepaoptions.py +1 -6
  39. gr4vy/models/airline.py +2 -7
  40. gr4vy/models/airlineleg.py +2 -6
  41. gr4vy/models/airlinepassenger.py +2 -6
  42. gr4vy/models/auditlogentry.py +3 -3
  43. gr4vy/models/auditlogentryuser.py +3 -3
  44. gr4vy/models/{billingdetails_input.py → billingdetails.py} +2 -2
  45. gr4vy/models/braintreedynamicdatafieldsoptions.py +2 -7
  46. gr4vy/models/browserinfo.py +2 -4
  47. gr4vy/models/buyer.py +3 -3
  48. gr4vy/models/buyercreate.py +3 -3
  49. gr4vy/models/buyerupdate.py +3 -3
  50. gr4vy/models/cartitem.py +9 -6
  51. gr4vy/models/chaseoptions.py +46 -0
  52. gr4vy/models/checkoutsession.py +24 -3
  53. gr4vy/models/checkoutsessioncreate.py +39 -5
  54. gr4vy/models/checkoutsessionpaymentmethod.py +3 -5
  55. gr4vy/models/checkoutsessionpaymentmethoddetails.py +2 -6
  56. gr4vy/models/create_payment_methodop.py +6 -0
  57. gr4vy/models/createsession.py +3 -3
  58. gr4vy/models/cybersourceoptions.py +7 -0
  59. gr4vy/models/definitionfield.py +1 -6
  60. gr4vy/models/digitalwallet.py +3 -5
  61. gr4vy/models/digitalwalletcreate.py +2 -6
  62. gr4vy/models/dlocalupirecurringinfooptions.py +13 -15
  63. gr4vy/models/errordetail.py +2 -4
  64. gr4vy/models/flow.py +16 -0
  65. gr4vy/models/flowaction.py +16 -0
  66. gr4vy/models/forterantifraudoptions.py +2 -7
  67. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +4 -8
  68. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +3 -6
  69. gr4vy/models/giftcardredemption.py +4 -8
  70. gr4vy/models/giftcardservice.py +3 -5
  71. gr4vy/models/giftcardsummary.py +3 -5
  72. gr4vy/models/{guestbuyer_input.py → guestbuyer.py} +5 -5
  73. gr4vy/models/instrumenttype.py +1 -0
  74. gr4vy/models/integrationclient.py +16 -0
  75. gr4vy/models/list_all_report_executionsop.py +2 -14
  76. gr4vy/models/list_audit_logsop.py +2 -10
  77. gr4vy/models/list_buyer_payment_methodsop.py +2 -3
  78. gr4vy/models/list_payment_methodsop.py +2 -14
  79. gr4vy/models/list_payment_servicesop.py +2 -8
  80. gr4vy/models/list_reportsop.py +2 -10
  81. gr4vy/models/list_transaction_actionsop.py +43 -0
  82. gr4vy/models/list_transaction_eventsop.py +12 -1
  83. gr4vy/models/list_transactionsop.py +4 -22
  84. gr4vy/models/merchantaccount.py +3 -5
  85. gr4vy/models/merchantaccountcreate.py +2 -6
  86. gr4vy/models/merchantaccountupdate.py +2 -6
  87. gr4vy/models/method.py +3 -0
  88. gr4vy/models/mockcardoptions.py +7 -2
  89. gr4vy/models/mode.py +1 -0
  90. gr4vy/models/monatospeioptions.py +15 -0
  91. gr4vy/models/networktoken.py +3 -3
  92. gr4vy/models/networktokenpaymentmethodcreate.py +4 -8
  93. gr4vy/models/nuveiidealoptions.py +49 -0
  94. gr4vy/models/paymentlink.py +18 -7
  95. gr4vy/models/paymentlinkcreate.py +23 -37
  96. gr4vy/models/paymentmethod.py +7 -13
  97. gr4vy/models/paymentmethodcard.py +3 -5
  98. gr4vy/models/paymentmethoddetailscard.py +2 -6
  99. gr4vy/models/paymentmethodsummary.py +6 -12
  100. gr4vy/models/paymentoption.py +3 -3
  101. gr4vy/models/paymentservice.py +4 -6
  102. gr4vy/models/paymentserviceconfiguration.py +2 -6
  103. gr4vy/models/paymentservicedefinition.py +11 -5
  104. gr4vy/models/paymentservicetoken.py +3 -3
  105. gr4vy/models/payoutcreate.py +5 -9
  106. gr4vy/models/payoutsummary.py +4 -6
  107. gr4vy/models/paypaloptions.py +8 -2
  108. gr4vy/models/paypalshippingoptions.py +51 -0
  109. gr4vy/models/paypalshippingoptionsitem.py +89 -0
  110. gr4vy/models/paypalshippingoptionsitemamount.py +20 -0
  111. gr4vy/models/plaidpaymentmethodcreate.py +106 -0
  112. gr4vy/models/redirectpaymentmethodcreate.py +3 -6
  113. gr4vy/models/refund.py +4 -4
  114. gr4vy/models/report.py +4 -6
  115. gr4vy/models/reportcreate.py +2 -3
  116. gr4vy/models/reportexecution.py +3 -3
  117. gr4vy/models/reportexecutionsummary.py +3 -3
  118. gr4vy/models/reportspec.py +2 -4
  119. gr4vy/models/reportsummary.py +3 -5
  120. gr4vy/models/taxid.py +2 -4
  121. gr4vy/models/taxidkind.py +6 -0
  122. gr4vy/models/threedsecuredatav1.py +2 -6
  123. gr4vy/models/threedsecuredatav2.py +2 -6
  124. gr4vy/models/transaction.py +74 -25
  125. gr4vy/models/transactionaction.py +48 -0
  126. gr4vy/models/transactionactions.py +17 -0
  127. gr4vy/models/transactionbuyer.py +3 -3
  128. gr4vy/models/transactioncancel.py +3 -3
  129. gr4vy/models/transactioncapture.py +3 -3
  130. gr4vy/models/transactionconnectionoptions.py +30 -0
  131. gr4vy/models/transactioncreate.py +27 -12
  132. gr4vy/models/transactionevent.py +5 -3
  133. gr4vy/models/transactionpaymentmethod.py +6 -12
  134. gr4vy/models/transactionpaymentservice.py +3 -3
  135. gr4vy/models/transactionrefundcreate.py +2 -6
  136. gr4vy/models/transactionsummary.py +6 -10
  137. gr4vy/models/transactionthreedsecuresummary.py +3 -9
  138. gr4vy/models/transactionvoid.py +3 -3
  139. gr4vy/models/trustlyoptions.py +2 -9
  140. gr4vy/network_tokens_cryptogram.py +4 -2
  141. gr4vy/payment_links_sdk.py +34 -14
  142. gr4vy/payment_methods_network_tokens.py +20 -10
  143. gr4vy/payment_methods_payment_service_tokens.py +12 -6
  144. gr4vy/payment_methods_sdk.py +16 -8
  145. gr4vy/payment_options_sdk.py +4 -2
  146. gr4vy/payment_service_definitions_sdk.py +12 -6
  147. gr4vy/payment_services_sdk.py +28 -14
  148. gr4vy/payouts.py +16 -10
  149. gr4vy/refunds_sdk.py +4 -2
  150. gr4vy/report_executions_sdk.py +4 -2
  151. gr4vy/reports_sdk.py +16 -8
  152. gr4vy/sessions.py +12 -6
  153. gr4vy/transactions.py +99 -28
  154. gr4vy/transactions_refunds.py +12 -6
  155. gr4vy/transactions_settlements.py +8 -4
  156. gr4vy/types/basemodel.py +41 -3
  157. gr4vy/utils/__init__.py +0 -3
  158. gr4vy/utils/enums.py +60 -0
  159. gr4vy/utils/forms.py +21 -10
  160. gr4vy/utils/queryparams.py +14 -2
  161. gr4vy/utils/requestbodies.py +1 -1
  162. gr4vy/utils/retries.py +69 -5
  163. gr4vy/utils/serializers.py +0 -20
  164. gr4vy/utils/unmarshal_json_response.py +15 -1
  165. {gr4vy-1.5.2.dist-info → gr4vy-1.10.9.dist-info}/METADATA +39 -39
  166. {gr4vy-1.5.2.dist-info → gr4vy-1.10.9.dist-info}/RECORD +167 -155
  167. gr4vy/models/billingdetails_output.py +0 -87
  168. gr4vy/models/guestbuyer_output.py +0 -80
  169. {gr4vy-1.5.2.dist-info → gr4vy-1.10.9.dist-info}/WHEEL +0 -0
@@ -9,11 +9,9 @@ from gr4vy.types import (
9
9
  UNSET_SENTINEL,
10
10
  UnrecognizedStr,
11
11
  )
12
- from gr4vy.utils import validate_open_enum
13
12
  from pydantic import model_serializer
14
- from pydantic.functional_validators import PlainValidator
15
13
  from typing import Literal, Union
16
- from typing_extensions import Annotated, NotRequired, TypedDict
14
+ from typing_extensions import NotRequired, TypedDict
17
15
 
18
16
 
19
17
  ForterAntiFraudOptionsCartItemDeliveryDetailsDeliveryType = Union[
@@ -36,9 +34,8 @@ class ForterAntiFraudOptionsCartItemDeliveryDetailsTypedDict(TypedDict):
36
34
 
37
35
 
38
36
  class ForterAntiFraudOptionsCartItemDeliveryDetails(BaseModel):
39
- delivery_type: Annotated[
40
- OptionalNullable[ForterAntiFraudOptionsCartItemDeliveryDetailsDeliveryType],
41
- PlainValidator(validate_open_enum(False)),
37
+ delivery_type: OptionalNullable[
38
+ ForterAntiFraudOptionsCartItemDeliveryDetailsDeliveryType
42
39
  ] = UNSET
43
40
  r"""The type of delivery for this cart item."""
44
41
 
@@ -5,10 +5,10 @@ from .giftcarderrorcode import GiftCardErrorCode
5
5
  from .giftcardredemptionstatus import GiftCardRedemptionStatus
6
6
  from .transactiongiftcard import TransactionGiftCard, TransactionGiftCardTypedDict
7
7
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
- from gr4vy.utils import validate_const, validate_open_enum
8
+ from gr4vy.utils import validate_const
9
9
  import pydantic
10
10
  from pydantic import model_serializer
11
- from pydantic.functional_validators import AfterValidator, PlainValidator
11
+ from pydantic.functional_validators import AfterValidator
12
12
  from typing import Literal, Optional
13
13
  from typing_extensions import Annotated, NotRequired, TypedDict
14
14
 
@@ -38,9 +38,7 @@ class GiftCardRedemption(BaseModel):
38
38
  id: str
39
39
  r"""The ID for the gift card redemption."""
40
40
 
41
- status: Annotated[
42
- GiftCardRedemptionStatus, PlainValidator(validate_open_enum(False))
43
- ]
41
+ status: GiftCardRedemptionStatus
44
42
 
45
43
  amount: int
46
44
  r"""The amount redeemed for this gift card."""
@@ -62,9 +60,7 @@ class GiftCardRedemption(BaseModel):
62
60
  gift_card_service_redemption_id: OptionalNullable[str] = UNSET
63
61
  r"""The gift card service's unique ID for the redemption."""
64
62
 
65
- error_code: Annotated[
66
- OptionalNullable[GiftCardErrorCode], PlainValidator(validate_open_enum(False))
67
- ] = UNSET
63
+ error_code: OptionalNullable[GiftCardErrorCode] = UNSET
68
64
  r"""If this gift card redemption resulted in an error, this will contain the internal code for the error."""
69
65
 
70
66
  raw_error_code: OptionalNullable[str] = UNSET
@@ -3,9 +3,9 @@
3
3
  from __future__ import annotations
4
4
  from .giftcardserviceprovider import GiftCardServiceProvider
5
5
  from gr4vy.types import BaseModel
6
- from gr4vy.utils import validate_const, validate_open_enum
6
+ from gr4vy.utils import validate_const
7
7
  import pydantic
8
- from pydantic.functional_validators import AfterValidator, PlainValidator
8
+ from pydantic.functional_validators import AfterValidator
9
9
  from typing import Literal, Optional
10
10
  from typing_extensions import Annotated, TypedDict
11
11
 
@@ -24,9 +24,7 @@ class GiftCardService(BaseModel):
24
24
  id: str
25
25
  r"""The ID for the gift card service."""
26
26
 
27
- gift_card_service_definition_id: Annotated[
28
- GiftCardServiceProvider, PlainValidator(validate_open_enum(False))
29
- ]
27
+ gift_card_service_definition_id: GiftCardServiceProvider
30
28
 
31
29
  display_name: str
32
30
  r"""The display name for the gift card service."""
@@ -4,10 +4,10 @@ from __future__ import annotations
4
4
  from .giftcarderrorcode import GiftCardErrorCode
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 Literal, Optional
12
12
  from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
@@ -72,9 +72,7 @@ class GiftCardSummary(BaseModel):
72
72
  balance: OptionalNullable[int] = UNSET
73
73
  r"""The amount remaining on the balance for this gift card according to the gift card service. This may be `null` if the balance could not be fetched."""
74
74
 
75
- balance_error_code: Annotated[
76
- OptionalNullable[GiftCardErrorCode], PlainValidator(validate_open_enum(False))
77
- ] = UNSET
75
+ balance_error_code: OptionalNullable[GiftCardErrorCode] = UNSET
78
76
  r"""If the last balance update failed, this will contain the internal code for this error."""
79
77
 
80
78
  balance_raw_error_code: OptionalNullable[str] = UNSET
@@ -1,19 +1,19 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .billingdetails_input import BillingDetailsInput, BillingDetailsInputTypedDict
4
+ from .billingdetails import BillingDetails, BillingDetailsTypedDict
5
5
  from .shippingdetailscreate import ShippingDetailsCreate, ShippingDetailsCreateTypedDict
6
6
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
7
  from pydantic import model_serializer
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- class GuestBuyerInputTypedDict(TypedDict):
11
+ class GuestBuyerTypedDict(TypedDict):
12
12
  display_name: NotRequired[Nullable[str]]
13
13
  r"""The display name for the buyer."""
14
14
  external_identifier: NotRequired[Nullable[str]]
15
15
  r"""The merchant identifier for this buyer."""
16
- billing_details: NotRequired[Nullable[BillingDetailsInputTypedDict]]
16
+ billing_details: NotRequired[Nullable[BillingDetailsTypedDict]]
17
17
  r"""The billing name, address, email, and other fields for this buyer."""
18
18
  account_number: NotRequired[Nullable[str]]
19
19
  r"""The buyer account number"""
@@ -21,14 +21,14 @@ class GuestBuyerInputTypedDict(TypedDict):
21
21
  r"""The optional shipping details for this buyer."""
22
22
 
23
23
 
24
- class GuestBuyerInput(BaseModel):
24
+ class GuestBuyer(BaseModel):
25
25
  display_name: OptionalNullable[str] = UNSET
26
26
  r"""The display name for the buyer."""
27
27
 
28
28
  external_identifier: OptionalNullable[str] = UNSET
29
29
  r"""The merchant identifier for this buyer."""
30
30
 
31
- billing_details: OptionalNullable[BillingDetailsInput] = UNSET
31
+ billing_details: OptionalNullable[BillingDetails] = UNSET
32
32
  r"""The billing name, address, email, and other fields for this buyer."""
33
33
 
34
34
  account_number: OptionalNullable[str] = UNSET
@@ -14,6 +14,7 @@ InstrumentType = Union[
14
14
  "googlepay",
15
15
  "applepay",
16
16
  "network_token",
17
+ "plaid",
17
18
  ],
18
19
  UnrecognizedStr,
19
20
  ]
@@ -0,0 +1,16 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import UnrecognizedStr
5
+ from typing import Literal, Union
6
+
7
+
8
+ IntegrationClient = Union[
9
+ Literal[
10
+ "redirect",
11
+ "web",
12
+ "android",
13
+ "ios",
14
+ ],
15
+ UnrecognizedStr,
16
+ ]
@@ -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."""
@@ -0,0 +1,43 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import BaseModel
5
+ from gr4vy.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class ListTransactionActionsGlobalsTypedDict(TypedDict):
12
+ merchant_account_id: NotRequired[str]
13
+ r"""The ID of the merchant account to use for this request."""
14
+
15
+
16
+ class ListTransactionActionsGlobals(BaseModel):
17
+ merchant_account_id: Annotated[
18
+ Optional[str],
19
+ pydantic.Field(alias="x-gr4vy-merchant-account-id"),
20
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
21
+ ] = None
22
+ r"""The ID of the merchant account to use for this request."""
23
+
24
+
25
+ class ListTransactionActionsRequestTypedDict(TypedDict):
26
+ transaction_id: str
27
+ r"""The ID of the transaction"""
28
+ merchant_account_id: NotRequired[str]
29
+ r"""The ID of the merchant account to use for this request."""
30
+
31
+
32
+ class ListTransactionActionsRequest(BaseModel):
33
+ transaction_id: Annotated[
34
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
35
+ ]
36
+ r"""The ID of the transaction"""
37
+
38
+ merchant_account_id: Annotated[
39
+ Optional[str],
40
+ pydantic.Field(alias="x-gr4vy-merchant-account-id"),
41
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
42
+ ] = None
43
+ r"""The ID of the merchant account to use for this request."""
@@ -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 .transactionevents import TransactionEvents, TransactionEventsTypedDict
4
5
  from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
6
  from gr4vy.utils import (
6
7
  FieldMetadata,
@@ -10,7 +11,7 @@ from gr4vy.utils import (
10
11
  )
11
12
  import pydantic
12
13
  from pydantic import model_serializer
13
- from typing import Optional
14
+ from typing import Callable, Optional
14
15
  from typing_extensions import Annotated, NotRequired, TypedDict
15
16
 
16
17
 
@@ -93,3 +94,13 @@ class ListTransactionEventsRequest(BaseModel):
93
94
  m[k] = val
94
95
 
95
96
  return m
97
+
98
+
99
+ class ListTransactionEventsResponseTypedDict(TypedDict):
100
+ result: TransactionEventsTypedDict
101
+
102
+
103
+ class ListTransactionEventsResponse(BaseModel):
104
+ next: Callable[[], Optional[ListTransactionEventsResponse]]
105
+
106
+ result: TransactionEvents
@@ -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
gr4vy/models/method.py CHANGED
@@ -16,6 +16,7 @@ Method = Union[
16
16
  "arcuspaynetwork",
17
17
  "bacs",
18
18
  "bancontact",
19
+ "bank",
19
20
  "banked",
20
21
  "bcp",
21
22
  "becs",
@@ -81,6 +82,7 @@ Method = Union[
81
82
  "payvalida",
82
83
  "picpay",
83
84
  "pix",
85
+ "plaid",
84
86
  "pse",
85
87
  "rabbitlinepay",
86
88
  "razorpay",
@@ -110,6 +112,7 @@ Method = Union[
110
112
  "waave",
111
113
  "webpay",
112
114
  "wechat",
115
+ "wero",
113
116
  "yape",
114
117
  "zippay",
115
118
  ],
@@ -15,16 +15,21 @@ class MockCardOptionsTypedDict(TypedDict):
15
15
  Nullable[MockCardMerchantAdviceCodeOptionsTypedDict]
16
16
  ]
17
17
  r"""Allows for mocking the merchant advice code."""
18
+ skip_retry: NotRequired[Nullable[bool]]
19
+ r"""When set to true, prevents retries on failed transactions."""
18
20
 
19
21
 
20
22
  class MockCardOptions(BaseModel):
21
23
  merchant_advice_code: OptionalNullable[MockCardMerchantAdviceCodeOptions] = UNSET
22
24
  r"""Allows for mocking the merchant advice code."""
23
25
 
26
+ skip_retry: OptionalNullable[bool] = UNSET
27
+ r"""When set to true, prevents retries on failed transactions."""
28
+
24
29
  @model_serializer(mode="wrap")
25
30
  def serialize_model(self, handler):
26
- optional_fields = ["merchant_advice_code"]
27
- nullable_fields = ["merchant_advice_code"]
31
+ optional_fields = ["merchant_advice_code", "skip_retry"]
32
+ nullable_fields = ["merchant_advice_code", "skip_retry"]
28
33
  null_default_fields = []
29
34
 
30
35
  serialized = handler(self)
gr4vy/models/mode.py CHANGED
@@ -14,6 +14,7 @@ Mode = Union[
14
14
  "checkout-session",
15
15
  "click-to-pay",
16
16
  "gift-card",
17
+ "bank",
17
18
  ],
18
19
  UnrecognizedStr,
19
20
  ]
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class MonatoSpeiOptionsTypedDict(TypedDict):
9
+ approval_url: str
10
+ r"""Approval URL that will receive a charge payment method reference."""
11
+
12
+
13
+ class MonatoSpeiOptions(BaseModel):
14
+ approval_url: str
15
+ r"""Approval URL that will receive a charge payment method reference."""
@@ -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."""