gr4vy 1.10.11__py3-none-any.whl → 1.10.14__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 (292) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/basesdk.py +20 -6
  3. gr4vy/models/__init__.py +132 -0
  4. gr4vy/models/accountsreceivablesreportspec.py +18 -1
  5. gr4vy/models/accountupdaterinquirysummary.py +18 -1
  6. gr4vy/models/accountupdaterjob.py +18 -1
  7. gr4vy/models/accountupdateroptions.py +30 -31
  8. gr4vy/models/add_buyer_shipping_detailsop.py +34 -1
  9. gr4vy/models/add_buyerop.py +34 -1
  10. gr4vy/models/add_payment_linkop.py +34 -1
  11. gr4vy/models/add_reportop.py +34 -1
  12. gr4vy/models/address.py +38 -39
  13. gr4vy/models/adyencardoptions.py +32 -33
  14. gr4vy/models/adyenoptions.py +14 -19
  15. gr4vy/models/adyensepaoptions.py +30 -31
  16. gr4vy/models/adyensplitsoptions.py +14 -19
  17. gr4vy/models/affirmitineraryoptions.py +34 -35
  18. gr4vy/models/affirmoptions.py +14 -19
  19. gr4vy/models/airline.py +58 -59
  20. gr4vy/models/airlineleg.py +66 -67
  21. gr4vy/models/airlinepassenger.py +42 -43
  22. gr4vy/models/applepaypaymentmethodcreate.py +34 -35
  23. gr4vy/models/auditlogentries.py +14 -19
  24. gr4vy/models/auditlogentry.py +14 -19
  25. gr4vy/models/auditlogentryuser.py +14 -19
  26. gr4vy/models/billingdetails.py +32 -33
  27. gr4vy/models/braintreedynamicdatafieldsoptions.py +26 -27
  28. gr4vy/models/braintreeoptions.py +18 -19
  29. gr4vy/models/browserinfo.py +14 -19
  30. gr4vy/models/buyer.py +31 -32
  31. gr4vy/models/buyercreate.py +18 -29
  32. gr4vy/models/buyers.py +14 -19
  33. gr4vy/models/buyerupdate.py +18 -29
  34. gr4vy/models/cancel_transactionop.py +34 -1
  35. gr4vy/models/capture_transactionop.py +30 -19
  36. gr4vy/models/cardpaymentmethodcreate.py +31 -32
  37. gr4vy/models/cardschemedefinition.py +18 -1
  38. gr4vy/models/cardwithurlpaymentmethodcreate.py +33 -34
  39. gr4vy/models/cartitem.py +52 -53
  40. gr4vy/models/chaseoptions.py +14 -19
  41. gr4vy/models/checkoutsession.py +37 -38
  42. gr4vy/models/checkoutsessioncreate.py +35 -36
  43. gr4vy/models/checkoutsessionpaymentmethod.py +16 -27
  44. gr4vy/models/checkoutsessionpaymentmethodcreate.py +18 -28
  45. gr4vy/models/checkoutsessionpaymentmethoddetails.py +14 -19
  46. gr4vy/models/checkoutsessionwithurlpaymentmethodcreate.py +29 -30
  47. gr4vy/models/clicktopayfpanpaymentmethodcreate.py +32 -33
  48. gr4vy/models/clicktopaypaymentmethodcreate.py +28 -29
  49. gr4vy/models/configure_digital_walletop.py +34 -1
  50. gr4vy/models/create_account_updater_jobop.py +34 -1
  51. gr4vy/models/create_apple_pay_digital_wallet_sessionop.py +34 -1
  52. gr4vy/models/create_checkout_sessionop.py +34 -1
  53. gr4vy/models/create_full_transaction_refundop.py +30 -19
  54. gr4vy/models/create_gift_cardop.py +34 -1
  55. gr4vy/models/create_google_pay_digital_wallet_sessionop.py +34 -1
  56. gr4vy/models/create_payment_method_network_token_cryptogramop.py +34 -1
  57. gr4vy/models/create_payment_method_network_tokenop.py +34 -1
  58. gr4vy/models/create_payment_method_payment_service_tokenop.py +34 -1
  59. gr4vy/models/create_payment_methodop.py +34 -1
  60. gr4vy/models/create_payment_service_sessionop.py +34 -1
  61. gr4vy/models/create_payment_serviceop.py +34 -1
  62. gr4vy/models/create_payoutop.py +34 -1
  63. gr4vy/models/create_report_execution_urlop.py +34 -1
  64. gr4vy/models/create_three_ds_scenarioop.py +79 -0
  65. gr4vy/models/create_transaction_refundop.py +34 -1
  66. gr4vy/models/create_transactionop.py +32 -19
  67. gr4vy/models/createsession.py +14 -19
  68. gr4vy/models/cryptogram.py +18 -1
  69. gr4vy/models/cybersourceantifraudoptions.py +18 -27
  70. gr4vy/models/cybersourceoptions.py +27 -28
  71. gr4vy/models/delete_buyer_shipping_detailsop.py +34 -1
  72. gr4vy/models/delete_buyerop.py +34 -1
  73. gr4vy/models/delete_checkout_sessionop.py +34 -1
  74. gr4vy/models/delete_digital_walletop.py +34 -1
  75. gr4vy/models/delete_gift_cardop.py +34 -1
  76. gr4vy/models/delete_payment_method_network_tokenop.py +34 -1
  77. gr4vy/models/delete_payment_method_payment_service_tokenop.py +34 -1
  78. gr4vy/models/delete_payment_methodop.py +34 -1
  79. gr4vy/models/delete_payment_serviceop.py +34 -1
  80. gr4vy/models/delete_three_ds_scenarioop.py +76 -0
  81. gr4vy/models/detailedsettlementreportspec.py +18 -1
  82. gr4vy/models/digitalwallet.py +27 -33
  83. gr4vy/models/digitalwalletcreate.py +23 -28
  84. gr4vy/models/digitalwalletupdate.py +30 -31
  85. gr4vy/models/dlocaloptions.py +14 -19
  86. gr4vy/models/dlocalupioptions.py +14 -19
  87. gr4vy/models/dlocalupiwalletoptions.py +18 -33
  88. gr4vy/models/dlocalwalletoptions.py +14 -19
  89. gr4vy/models/expire_payment_linkop.py +34 -1
  90. gr4vy/models/fiservinstallmentoptions.py +27 -28
  91. gr4vy/models/fiservoptions.py +14 -19
  92. gr4vy/models/forterantifraudoptions.py +30 -31
  93. gr4vy/models/forterantifraudoptionscartitem.py +13 -18
  94. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +14 -19
  95. gr4vy/models/forterantifraudoptionscartitembeneficiary.py +13 -18
  96. gr4vy/models/forterantifraudoptionscartitembeneficiaryaddress.py +18 -19
  97. gr4vy/models/forterantifraudoptionscartitembeneficiarycomments.py +18 -27
  98. gr4vy/models/forterantifraudoptionscartitembeneficiarypersonaldetails.py +14 -19
  99. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +13 -18
  100. gr4vy/models/forterantifraudoptionsdiscount.py +13 -18
  101. gr4vy/models/forterantifraudoptionsdiscountcoupondiscountamount.py +14 -19
  102. gr4vy/models/get_buyer_shipping_detailsop.py +34 -1
  103. gr4vy/models/get_buyerop.py +34 -1
  104. gr4vy/models/get_checkout_sessionop.py +34 -1
  105. gr4vy/models/get_digital_walletop.py +34 -1
  106. gr4vy/models/get_gift_cardop.py +34 -1
  107. gr4vy/models/get_payment_linkop.py +34 -1
  108. gr4vy/models/get_payment_methodop.py +34 -1
  109. gr4vy/models/get_payment_serviceop.py +34 -1
  110. gr4vy/models/get_payoutop.py +34 -1
  111. gr4vy/models/get_refundop.py +34 -1
  112. gr4vy/models/get_report_executionop.py +34 -1
  113. gr4vy/models/get_reportop.py +34 -1
  114. gr4vy/models/get_three_ds_scenarioop.py +105 -0
  115. gr4vy/models/get_transaction_refundop.py +34 -1
  116. gr4vy/models/get_transaction_settlementop.py +34 -1
  117. gr4vy/models/get_transactionop.py +34 -1
  118. gr4vy/models/giftcard.py +14 -19
  119. gr4vy/models/giftcardcreate.py +14 -19
  120. gr4vy/models/giftcardredemption.py +29 -30
  121. gr4vy/models/giftcards.py +14 -19
  122. gr4vy/models/giftcardservice.py +18 -1
  123. gr4vy/models/giftcardsummary.py +35 -36
  124. gr4vy/models/givingblockoptions.py +14 -19
  125. gr4vy/models/googlepayassurancedetails.py +14 -19
  126. gr4vy/models/googlepayfpanpaymentmethodcreate.py +32 -33
  127. gr4vy/models/googlepaypaymentmethodcreate.py +36 -37
  128. gr4vy/models/guestbuyer.py +30 -31
  129. gr4vy/models/internal/globals.py +18 -1
  130. gr4vy/models/latitudeoptions.py +14 -19
  131. gr4vy/models/list_all_report_executionsop.py +50 -35
  132. gr4vy/models/list_audit_logsop.py +39 -26
  133. gr4vy/models/list_buyer_gift_cardsop.py +32 -23
  134. gr4vy/models/list_buyer_payment_methodsop.py +42 -33
  135. gr4vy/models/list_buyer_shipping_detailsop.py +34 -1
  136. gr4vy/models/list_buyersop.py +32 -25
  137. gr4vy/models/list_card_scheme_definitionsop.py +34 -1
  138. gr4vy/models/list_digital_walletsop.py +34 -1
  139. gr4vy/models/list_gift_card_balancesop.py +34 -1
  140. gr4vy/models/list_gift_cardsop.py +38 -25
  141. gr4vy/models/list_merchant_accountsop.py +14 -19
  142. gr4vy/models/list_payment_linksop.py +32 -19
  143. gr4vy/models/list_payment_method_network_tokensop.py +34 -1
  144. gr4vy/models/list_payment_method_payment_service_tokensop.py +30 -19
  145. gr4vy/models/list_payment_methodsop.py +48 -33
  146. gr4vy/models/list_payment_optionsop.py +34 -1
  147. gr4vy/models/list_payment_service_definitionsop.py +14 -19
  148. gr4vy/models/list_payment_servicesop.py +32 -25
  149. gr4vy/models/list_payoutsop.py +30 -19
  150. gr4vy/models/list_report_executionsop.py +30 -19
  151. gr4vy/models/list_reportsop.py +39 -26
  152. gr4vy/models/list_transaction_actionsop.py +34 -1
  153. gr4vy/models/list_transaction_eventsop.py +30 -19
  154. gr4vy/models/list_transaction_refundsop.py +34 -1
  155. gr4vy/models/list_transaction_settlementsop.py +34 -1
  156. gr4vy/models/list_transactionsop.py +124 -109
  157. gr4vy/models/mattildatapioptions.py +14 -19
  158. gr4vy/models/merchantaccount.py +52 -53
  159. gr4vy/models/merchantaccountcreate.py +52 -53
  160. gr4vy/models/merchantaccounts.py +14 -19
  161. gr4vy/models/merchantaccountupdate.py +54 -55
  162. gr4vy/models/mockcardmerchantadvicecodeoptions.py +14 -19
  163. gr4vy/models/mockcardoptions.py +14 -19
  164. gr4vy/models/networktoken.py +18 -1
  165. gr4vy/models/networktokencreate.py +14 -19
  166. gr4vy/models/networktokenpaymentmethodcreate.py +34 -35
  167. gr4vy/models/nuveiairlinedataoptions.py +14 -19
  168. gr4vy/models/nuveiidealoptions.py +14 -19
  169. gr4vy/models/nuveioptions.py +14 -19
  170. gr4vy/models/nuveipseoptions.py +13 -18
  171. gr4vy/models/oxxooptions.py +14 -19
  172. gr4vy/models/paymentlink.py +59 -60
  173. gr4vy/models/paymentlinkcreate.py +59 -60
  174. gr4vy/models/paymentlinks.py +14 -19
  175. gr4vy/models/paymentmethod.py +51 -52
  176. gr4vy/models/paymentmethodcard.py +14 -19
  177. gr4vy/models/paymentmethoddetailscard.py +14 -19
  178. gr4vy/models/paymentmethods.py +14 -19
  179. gr4vy/models/paymentmethodstoredcard.py +18 -1
  180. gr4vy/models/paymentmethodsummary.py +47 -48
  181. gr4vy/models/paymentoption.py +14 -19
  182. gr4vy/models/paymentoptioncontext.py +14 -19
  183. gr4vy/models/paymentoptioncontextapprovalui.py +14 -19
  184. gr4vy/models/paymentoptionrequest.py +18 -26
  185. gr4vy/models/paymentservice.py +35 -36
  186. gr4vy/models/paymentservicecreate.py +36 -37
  187. gr4vy/models/paymentservicedefinition.py +14 -19
  188. gr4vy/models/paymentservicedefinitions.py +14 -19
  189. gr4vy/models/paymentservices.py +14 -19
  190. gr4vy/models/paymentservicetoken.py +14 -19
  191. gr4vy/models/paymentservicetokencreate.py +14 -19
  192. gr4vy/models/paymentserviceupdate.py +45 -46
  193. gr4vy/models/payoutconnectionoptions.py +14 -19
  194. gr4vy/models/payoutcreate.py +34 -35
  195. gr4vy/models/payoutmerchant.py +14 -19
  196. gr4vy/models/payoutmerchantsummary.py +14 -19
  197. gr4vy/models/payoutpaymentservice.py +14 -19
  198. gr4vy/models/payoutsummaries.py +14 -19
  199. gr4vy/models/payoutsummary.py +35 -36
  200. gr4vy/models/paypaloptions.py +14 -19
  201. gr4vy/models/paypalshippingoptions.py +14 -19
  202. gr4vy/models/paypalshippingoptionsitem.py +14 -19
  203. gr4vy/models/plaidpaymentmethodcreate.py +31 -32
  204. gr4vy/models/powertranzoptions.py +14 -19
  205. gr4vy/models/recipient.py +14 -19
  206. gr4vy/models/redirectpaymentmethodcreate.py +18 -27
  207. gr4vy/models/refund.py +39 -40
  208. gr4vy/models/refunds.py +14 -19
  209. gr4vy/models/register_digital_wallet_domainop.py +34 -1
  210. gr4vy/models/report.py +33 -34
  211. gr4vy/models/reportcreate.py +14 -19
  212. gr4vy/models/reportexecution.py +18 -1
  213. gr4vy/models/reportexecutions.py +14 -19
  214. gr4vy/models/reportexecutionsummary.py +18 -1
  215. gr4vy/models/reportexecutionurlgenerate.py +18 -1
  216. gr4vy/models/reports.py +14 -19
  217. gr4vy/models/reportsummary.py +16 -19
  218. gr4vy/models/reportupdate.py +14 -19
  219. gr4vy/models/requiredcheckoutfields.py +14 -19
  220. gr4vy/models/resume_payment_method_network_tokenop.py +34 -1
  221. gr4vy/models/security.py +18 -1
  222. gr4vy/models/settlement.py +16 -25
  223. gr4vy/models/shippingdetails.py +35 -36
  224. gr4vy/models/shippingdetailscreate.py +18 -31
  225. gr4vy/models/shippingdetailsupdate.py +18 -31
  226. gr4vy/models/statementdescriptor.py +34 -35
  227. gr4vy/models/stripeconnectoptions.py +30 -31
  228. gr4vy/models/stripeoptions.py +14 -19
  229. gr4vy/models/suspend_payment_method_network_tokenop.py +34 -1
  230. gr4vy/models/sync_transactionop.py +34 -1
  231. gr4vy/models/threedsecure.py +14 -19
  232. gr4vy/models/threedsecuredatav1.py +14 -19
  233. gr4vy/models/threedsecuredatav2.py +14 -19
  234. gr4vy/models/threedsecureerror.py +14 -19
  235. gr4vy/models/threedsecurescenario.py +77 -0
  236. gr4vy/models/threedsecurescenarioconditions.py +84 -0
  237. gr4vy/models/threedsecurescenariocreate.py +24 -0
  238. gr4vy/models/threedsecurescenariooutcome.py +57 -0
  239. gr4vy/models/threedsecurescenariooutcomeauthentication.py +31 -0
  240. gr4vy/models/threedsecurescenariooutcomeresult.py +27 -0
  241. gr4vy/models/threedsecurescenarios.py +58 -0
  242. gr4vy/models/threedsecurescenarioupdate.py +54 -0
  243. gr4vy/models/threedsecurev2.py +34 -35
  244. gr4vy/models/tokenpaymentmethodcreate.py +14 -19
  245. gr4vy/models/transaction.py +116 -110
  246. gr4vy/models/transactionaction.py +18 -1
  247. gr4vy/models/transactionbuyer.py +31 -32
  248. gr4vy/models/transactioncancel.py +14 -19
  249. gr4vy/models/transactioncapture.py +14 -19
  250. gr4vy/models/transactioncapturecreate.py +14 -19
  251. gr4vy/models/transactionconnectionoptions.py +104 -105
  252. gr4vy/models/transactioncreate.py +88 -89
  253. gr4vy/models/transactionevent.py +18 -1
  254. gr4vy/models/transactionevents.py +14 -19
  255. gr4vy/models/transactiongiftcard.py +14 -19
  256. gr4vy/models/transactionpaymentmethod.py +49 -50
  257. gr4vy/models/transactionpaymentservice.py +18 -1
  258. gr4vy/models/transactionrefundallcreate.py +14 -19
  259. gr4vy/models/transactionrefundcreate.py +16 -25
  260. gr4vy/models/transactionretriesreportspec.py +18 -1
  261. gr4vy/models/transactionsreportspec.py +18 -1
  262. gr4vy/models/transactionsummaries.py +14 -19
  263. gr4vy/models/transactionsummary.py +50 -51
  264. gr4vy/models/transactionthreedsecuresummary.py +18 -33
  265. gr4vy/models/transactionupdate.py +14 -19
  266. gr4vy/models/transactionvoid.py +14 -19
  267. gr4vy/models/travelhubcustomdata.py +14 -19
  268. gr4vy/models/travelhuboptions.py +14 -19
  269. gr4vy/models/trustlyoptions.py +14 -19
  270. gr4vy/models/unregister_digital_wallet_domainop.py +34 -1
  271. gr4vy/models/update_buyer_shipping_detailsop.py +34 -1
  272. gr4vy/models/update_buyerop.py +34 -1
  273. gr4vy/models/update_checkout_sessionop.py +34 -1
  274. gr4vy/models/update_digital_walletop.py +34 -1
  275. gr4vy/models/update_payment_serviceop.py +34 -1
  276. gr4vy/models/update_reportop.py +34 -1
  277. gr4vy/models/update_three_ds_scenarioop.py +91 -0
  278. gr4vy/models/update_transactionop.py +34 -1
  279. gr4vy/models/verify_payment_service_credentialsop.py +34 -1
  280. gr4vy/models/verifycredentials.py +14 -19
  281. gr4vy/models/void_transactionop.py +30 -19
  282. gr4vy/models/wpayeverdaypayoptions.py +30 -31
  283. gr4vy/models/wpaypaytooptions.py +14 -19
  284. gr4vy/models/wpaypaytoresourceoptions.py +14 -19
  285. gr4vy/models/wpaypaytosimulationoptions.py +14 -19
  286. gr4vy/sdk.py +3 -0
  287. gr4vy/three_ds_scenarios.py +1322 -0
  288. gr4vy/utils/__init__.py +13 -1
  289. {gr4vy-1.10.11.dist-info → gr4vy-1.10.14.dist-info}/METADATA +8 -1
  290. gr4vy-1.10.14.dist-info/RECORD +464 -0
  291. gr4vy-1.10.11.dist-info/RECORD +0 -451
  292. {gr4vy-1.10.11.dist-info → gr4vy-1.10.14.dist-info}/WHEEL +0 -0
@@ -0,0 +1,84 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class ThreeDSecureScenarioConditionsTypedDict(TypedDict):
10
+ first_name: NotRequired[Nullable[str]]
11
+ r"""First name of the buyer to match."""
12
+ last_name: NotRequired[Nullable[str]]
13
+ r"""Last name of the buyer to match."""
14
+ email_address: NotRequired[Nullable[str]]
15
+ r"""Email address of the buyer to match."""
16
+ amount: NotRequired[Nullable[int]]
17
+ r"""Amount of the transaction to match."""
18
+ external_identifier: NotRequired[Nullable[str]]
19
+ r"""External identifier to match."""
20
+ card_number: NotRequired[Nullable[str]]
21
+ r"""Card number to match."""
22
+
23
+
24
+ class ThreeDSecureScenarioConditions(BaseModel):
25
+ first_name: OptionalNullable[str] = UNSET
26
+ r"""First name of the buyer to match."""
27
+
28
+ last_name: OptionalNullable[str] = UNSET
29
+ r"""Last name of the buyer to match."""
30
+
31
+ email_address: OptionalNullable[str] = UNSET
32
+ r"""Email address of the buyer to match."""
33
+
34
+ amount: OptionalNullable[int] = UNSET
35
+ r"""Amount of the transaction to match."""
36
+
37
+ external_identifier: OptionalNullable[str] = UNSET
38
+ r"""External identifier to match."""
39
+
40
+ card_number: OptionalNullable[str] = UNSET
41
+ r"""Card number to match."""
42
+
43
+ @model_serializer(mode="wrap")
44
+ def serialize_model(self, handler):
45
+ optional_fields = set(
46
+ [
47
+ "first_name",
48
+ "last_name",
49
+ "email_address",
50
+ "amount",
51
+ "external_identifier",
52
+ "card_number",
53
+ ]
54
+ )
55
+ nullable_fields = set(
56
+ [
57
+ "first_name",
58
+ "last_name",
59
+ "email_address",
60
+ "amount",
61
+ "external_identifier",
62
+ "card_number",
63
+ ]
64
+ )
65
+ serialized = handler(self)
66
+ m = {}
67
+
68
+ for n, f in type(self).model_fields.items():
69
+ k = f.alias or n
70
+ val = serialized.get(k)
71
+ is_nullable_and_explicitly_set = (
72
+ k in nullable_fields
73
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
74
+ )
75
+
76
+ if val != UNSET_SENTINEL:
77
+ if (
78
+ val is not None
79
+ or k not in optional_fields
80
+ or is_nullable_and_explicitly_set
81
+ ):
82
+ m[k] = val
83
+
84
+ return m
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .threedsecurescenarioconditions import (
5
+ ThreeDSecureScenarioConditions,
6
+ ThreeDSecureScenarioConditionsTypedDict,
7
+ )
8
+ from .threedsecurescenariooutcome import (
9
+ ThreeDSecureScenarioOutcome,
10
+ ThreeDSecureScenarioOutcomeTypedDict,
11
+ )
12
+ from gr4vy.types import BaseModel
13
+ from typing_extensions import TypedDict
14
+
15
+
16
+ class ThreeDSecureScenarioCreateTypedDict(TypedDict):
17
+ conditions: ThreeDSecureScenarioConditionsTypedDict
18
+ outcome: ThreeDSecureScenarioOutcomeTypedDict
19
+
20
+
21
+ class ThreeDSecureScenarioCreate(BaseModel):
22
+ conditions: ThreeDSecureScenarioConditions
23
+
24
+ outcome: ThreeDSecureScenarioOutcome
@@ -0,0 +1,57 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .threedsecurescenariooutcomeauthentication import (
5
+ ThreeDSecureScenarioOutcomeAuthentication,
6
+ ThreeDSecureScenarioOutcomeAuthenticationTypedDict,
7
+ )
8
+ from .threedsecurescenariooutcomeresult import (
9
+ ThreeDSecureScenarioOutcomeResult,
10
+ ThreeDSecureScenarioOutcomeResultTypedDict,
11
+ )
12
+ from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
+ from pydantic import model_serializer
14
+ from typing_extensions import NotRequired, TypedDict
15
+
16
+
17
+ class ThreeDSecureScenarioOutcomeTypedDict(TypedDict):
18
+ version: str
19
+ r"""The version of 3DS which will be simulated."""
20
+ authentication: ThreeDSecureScenarioOutcomeAuthenticationTypedDict
21
+ result: NotRequired[Nullable[ThreeDSecureScenarioOutcomeResultTypedDict]]
22
+ r"""3DS result value. Required if authentication status is \"C\"."""
23
+
24
+
25
+ class ThreeDSecureScenarioOutcome(BaseModel):
26
+ version: str
27
+ r"""The version of 3DS which will be simulated."""
28
+
29
+ authentication: ThreeDSecureScenarioOutcomeAuthentication
30
+
31
+ result: OptionalNullable[ThreeDSecureScenarioOutcomeResult] = UNSET
32
+ r"""3DS result value. Required if authentication status is \"C\"."""
33
+
34
+ @model_serializer(mode="wrap")
35
+ def serialize_model(self, handler):
36
+ optional_fields = set(["result"])
37
+ nullable_fields = set(["result"])
38
+ serialized = handler(self)
39
+ m = {}
40
+
41
+ for n, f in type(self).model_fields.items():
42
+ k = f.alias or n
43
+ val = serialized.get(k)
44
+ is_nullable_and_explicitly_set = (
45
+ k in nullable_fields
46
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
47
+ )
48
+
49
+ if val != UNSET_SENTINEL:
50
+ if (
51
+ val is not None
52
+ or k not in optional_fields
53
+ or is_nullable_and_explicitly_set
54
+ ):
55
+ m[k] = val
56
+
57
+ return m
@@ -0,0 +1,31 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import BaseModel, UnrecognizedStr
5
+ from typing import Literal, Union
6
+ from typing_extensions import TypedDict
7
+
8
+
9
+ ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus = Union[
10
+ Literal[
11
+ "Y",
12
+ "N",
13
+ "A",
14
+ "R",
15
+ "U",
16
+ "C",
17
+ "timeout",
18
+ ],
19
+ UnrecognizedStr,
20
+ ]
21
+ r"""3DS transaction status."""
22
+
23
+
24
+ class ThreeDSecureScenarioOutcomeAuthenticationTypedDict(TypedDict):
25
+ transaction_status: ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus
26
+ r"""3DS transaction status."""
27
+
28
+
29
+ class ThreeDSecureScenarioOutcomeAuthentication(BaseModel):
30
+ transaction_status: ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus
31
+ r"""3DS transaction status."""
@@ -0,0 +1,27 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from gr4vy.types import BaseModel, UnrecognizedStr
5
+ from typing import Literal, Union
6
+ from typing_extensions import TypedDict
7
+
8
+
9
+ ThreeDSecureScenarioOutcomeResultTransactionStatus = Union[
10
+ Literal[
11
+ "Y",
12
+ "N",
13
+ "timeout",
14
+ ],
15
+ UnrecognizedStr,
16
+ ]
17
+ r"""3DS result."""
18
+
19
+
20
+ class ThreeDSecureScenarioOutcomeResultTypedDict(TypedDict):
21
+ transaction_status: ThreeDSecureScenarioOutcomeResultTransactionStatus
22
+ r"""3DS result."""
23
+
24
+
25
+ class ThreeDSecureScenarioOutcomeResult(BaseModel):
26
+ transaction_status: ThreeDSecureScenarioOutcomeResultTransactionStatus
27
+ r"""3DS result."""
@@ -0,0 +1,58 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .threedsecurescenario import ThreeDSecureScenario, ThreeDSecureScenarioTypedDict
5
+ from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
+ from pydantic import model_serializer
7
+ from typing import List, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ class ThreeDSecureScenariosTypedDict(TypedDict):
12
+ items: List[ThreeDSecureScenarioTypedDict]
13
+ r"""A list of items returned for this request."""
14
+ limit: NotRequired[int]
15
+ r"""The number of items for this page."""
16
+ next_cursor: NotRequired[Nullable[str]]
17
+ r"""The cursor pointing at the next page of items."""
18
+ previous_cursor: NotRequired[Nullable[str]]
19
+ r"""The cursor pointing at the previous page of items."""
20
+
21
+
22
+ class ThreeDSecureScenarios(BaseModel):
23
+ items: List[ThreeDSecureScenario]
24
+ r"""A list of items returned for this request."""
25
+
26
+ limit: Optional[int] = 20
27
+ r"""The number of items for this page."""
28
+
29
+ next_cursor: OptionalNullable[str] = UNSET
30
+ r"""The cursor pointing at the next page of items."""
31
+
32
+ previous_cursor: OptionalNullable[str] = UNSET
33
+ r"""The cursor pointing at the previous page of items."""
34
+
35
+ @model_serializer(mode="wrap")
36
+ def serialize_model(self, handler):
37
+ optional_fields = set(["limit", "next_cursor", "previous_cursor"])
38
+ nullable_fields = set(["next_cursor", "previous_cursor"])
39
+ serialized = handler(self)
40
+ m = {}
41
+
42
+ for n, f in type(self).model_fields.items():
43
+ k = f.alias or n
44
+ val = serialized.get(k)
45
+ is_nullable_and_explicitly_set = (
46
+ k in nullable_fields
47
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
48
+ )
49
+
50
+ if val != UNSET_SENTINEL:
51
+ if (
52
+ val is not None
53
+ or k not in optional_fields
54
+ or is_nullable_and_explicitly_set
55
+ ):
56
+ m[k] = val
57
+
58
+ return m
@@ -0,0 +1,54 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .threedsecurescenarioconditions import (
5
+ ThreeDSecureScenarioConditions,
6
+ ThreeDSecureScenarioConditionsTypedDict,
7
+ )
8
+ from .threedsecurescenariooutcome import (
9
+ ThreeDSecureScenarioOutcome,
10
+ ThreeDSecureScenarioOutcomeTypedDict,
11
+ )
12
+ from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
+ from pydantic import model_serializer
14
+ from typing_extensions import NotRequired, TypedDict
15
+
16
+
17
+ class ThreeDSecureScenarioUpdateTypedDict(TypedDict):
18
+ conditions: NotRequired[Nullable[ThreeDSecureScenarioConditionsTypedDict]]
19
+ r"""Conditions for the scenario."""
20
+ outcome: NotRequired[Nullable[ThreeDSecureScenarioOutcomeTypedDict]]
21
+ r"""Outcome for the scenario."""
22
+
23
+
24
+ class ThreeDSecureScenarioUpdate(BaseModel):
25
+ conditions: OptionalNullable[ThreeDSecureScenarioConditions] = UNSET
26
+ r"""Conditions for the scenario."""
27
+
28
+ outcome: OptionalNullable[ThreeDSecureScenarioOutcome] = UNSET
29
+ r"""Outcome for the scenario."""
30
+
31
+ @model_serializer(mode="wrap")
32
+ def serialize_model(self, handler):
33
+ optional_fields = set(["conditions", "outcome"])
34
+ nullable_fields = set(["conditions", "outcome"])
35
+ serialized = handler(self)
36
+ m = {}
37
+
38
+ for n, f in type(self).model_fields.items():
39
+ k = f.alias or n
40
+ val = serialized.get(k)
41
+ is_nullable_and_explicitly_set = (
42
+ k in nullable_fields
43
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
44
+ )
45
+
46
+ if val != UNSET_SENTINEL:
47
+ if (
48
+ val is not None
49
+ or k not in optional_fields
50
+ or is_nullable_and_explicitly_set
51
+ ):
52
+ m[k] = val
53
+
54
+ return m
@@ -36,46 +36,45 @@ class ThreeDSecureV2(BaseModel):
36
36
 
37
37
  @model_serializer(mode="wrap")
38
38
  def serialize_model(self, handler):
39
- optional_fields = [
40
- "authentication_response",
41
- "directory_response",
42
- "directory_transaction_id",
43
- "transaction_reason",
44
- "cavv",
45
- "eci",
46
- "cardholder_info",
47
- ]
48
- nullable_fields = [
49
- "authentication_response",
50
- "directory_response",
51
- "directory_transaction_id",
52
- "transaction_reason",
53
- "cavv",
54
- "eci",
55
- "cardholder_info",
56
- ]
57
- null_default_fields = []
58
-
39
+ optional_fields = set(
40
+ [
41
+ "authentication_response",
42
+ "directory_response",
43
+ "directory_transaction_id",
44
+ "transaction_reason",
45
+ "cavv",
46
+ "eci",
47
+ "cardholder_info",
48
+ ]
49
+ )
50
+ nullable_fields = set(
51
+ [
52
+ "authentication_response",
53
+ "directory_response",
54
+ "directory_transaction_id",
55
+ "transaction_reason",
56
+ "cavv",
57
+ "eci",
58
+ "cardholder_info",
59
+ ]
60
+ )
59
61
  serialized = handler(self)
60
-
61
62
  m = {}
62
63
 
63
64
  for n, f in type(self).model_fields.items():
64
65
  k = f.alias or n
65
66
  val = serialized.get(k)
66
- serialized.pop(k, None)
67
-
68
- optional_nullable = k in optional_fields and k in nullable_fields
69
- is_set = (
70
- self.__pydantic_fields_set__.intersection({n})
71
- or k in null_default_fields
72
- ) # pylint: disable=no-member
73
-
74
- if val is not None and val != UNSET_SENTINEL:
75
- m[k] = val
76
- elif val != UNSET_SENTINEL and (
77
- not k in optional_fields or (optional_nullable and is_set)
78
- ):
79
- m[k] = val
67
+ is_nullable_and_explicitly_set = (
68
+ k in nullable_fields
69
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
70
+ )
71
+
72
+ if val != UNSET_SENTINEL:
73
+ if (
74
+ val is not None
75
+ or k not in optional_fields
76
+ or is_nullable_and_explicitly_set
77
+ ):
78
+ m[k] = val
80
79
 
81
80
  return m
@@ -43,30 +43,25 @@ class TokenPaymentMethodCreate(BaseModel):
43
43
 
44
44
  @model_serializer(mode="wrap")
45
45
  def serialize_model(self, handler):
46
- optional_fields = ["method", "security_code", "redirect_url"]
47
- nullable_fields = ["security_code", "redirect_url"]
48
- null_default_fields = []
49
-
46
+ optional_fields = set(["method", "security_code", "redirect_url"])
47
+ nullable_fields = set(["security_code", "redirect_url"])
50
48
  serialized = handler(self)
51
-
52
49
  m = {}
53
50
 
54
51
  for n, f in type(self).model_fields.items():
55
52
  k = f.alias or n
56
53
  val = serialized.get(k)
57
- serialized.pop(k, None)
58
-
59
- optional_nullable = k in optional_fields and k in nullable_fields
60
- is_set = (
61
- self.__pydantic_fields_set__.intersection({n})
62
- or k in null_default_fields
63
- ) # pylint: disable=no-member
64
-
65
- if val is not None and val != UNSET_SENTINEL:
66
- m[k] = val
67
- elif val != UNSET_SENTINEL and (
68
- not k in optional_fields or (optional_nullable and is_set)
69
- ):
70
- m[k] = val
54
+ is_nullable_and_explicitly_set = (
55
+ k in nullable_fields
56
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
57
+ )
58
+
59
+ if val != UNSET_SENTINEL:
60
+ if (
61
+ val is not None
62
+ or k not in optional_fields
63
+ or is_nullable_and_explicitly_set
64
+ ):
65
+ m[k] = val
71
66
 
72
67
  return m