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
gr4vy/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "gr4vy"
6
- __version__: str = "1.10.11"
6
+ __version__: str = "1.10.14"
7
7
  __openapi_doc_version__: str = "1.0.0"
8
- __gen_version__: str = "2.794.1"
9
- __user_agent__: str = "speakeasy-sdk/python 1.10.11 2.794.1 1.0.0 gr4vy"
8
+ __gen_version__: str = "2.797.1"
9
+ __user_agent__: str = "speakeasy-sdk/python 1.10.14 2.797.1 1.0.0 gr4vy"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
gr4vy/basesdk.py CHANGED
@@ -3,7 +3,12 @@
3
3
  from .sdkconfiguration import SDKConfiguration
4
4
  from gr4vy import errors, models, utils
5
5
  from gr4vy._hooks import AfterErrorContext, AfterSuccessContext, BeforeRequestContext
6
- from gr4vy.utils import RetryConfig, SerializedRequestBody, get_body_content
6
+ from gr4vy.utils import (
7
+ RetryConfig,
8
+ SerializedRequestBody,
9
+ get_body_content,
10
+ run_sync_in_thread,
11
+ )
7
12
  import httpx
8
13
  from typing import Callable, List, Mapping, Optional, Tuple
9
14
  from urllib.parse import parse_qs, urlparse
@@ -307,7 +312,10 @@ class BaseSDK:
307
312
  async def do():
308
313
  http_res = None
309
314
  try:
310
- req = hooks.before_request(BeforeRequestContext(hook_ctx), request)
315
+ req = await run_sync_in_thread(
316
+ hooks.before_request, BeforeRequestContext(hook_ctx), request
317
+ )
318
+
311
319
  logger.debug(
312
320
  "Request:\nMethod: %s\nURL: %s\nHeaders: %s\nBody: %s",
313
321
  req.method,
@@ -321,7 +329,10 @@ class BaseSDK:
321
329
 
322
330
  http_res = await client.send(req, stream=stream)
323
331
  except Exception as e:
324
- _, e = hooks.after_error(AfterErrorContext(hook_ctx), None, e)
332
+ _, e = await run_sync_in_thread(
333
+ hooks.after_error, AfterErrorContext(hook_ctx), None, e
334
+ )
335
+
325
336
  if e is not None:
326
337
  logger.debug("Request Exception", exc_info=True)
327
338
  raise e
@@ -339,9 +350,10 @@ class BaseSDK:
339
350
  )
340
351
 
341
352
  if utils.match_status_codes(error_status_codes, http_res.status_code):
342
- result, err = hooks.after_error(
343
- AfterErrorContext(hook_ctx), http_res, None
353
+ result, err = await run_sync_in_thread(
354
+ hooks.after_error, AfterErrorContext(hook_ctx), http_res, None
344
355
  )
356
+
345
357
  if err is not None:
346
358
  logger.debug("Request Exception", exc_info=True)
347
359
  raise err
@@ -361,6 +373,8 @@ class BaseSDK:
361
373
  http_res = await do()
362
374
 
363
375
  if not utils.match_status_codes(error_status_codes, http_res.status_code):
364
- http_res = hooks.after_success(AfterSuccessContext(hook_ctx), http_res)
376
+ http_res = await run_sync_in_thread(
377
+ hooks.after_success, AfterSuccessContext(hook_ctx), http_res
378
+ )
365
379
 
366
380
  return http_res
gr4vy/models/__init__.py CHANGED
@@ -263,6 +263,12 @@ if TYPE_CHECKING:
263
263
  CreateReportExecutionURLRequest,
264
264
  CreateReportExecutionURLRequestTypedDict,
265
265
  )
266
+ from .create_three_ds_scenarioop import (
267
+ CreateThreeDsScenarioGlobals,
268
+ CreateThreeDsScenarioGlobalsTypedDict,
269
+ CreateThreeDsScenarioRequest,
270
+ CreateThreeDsScenarioRequestTypedDict,
271
+ )
266
272
  from .create_transaction_refundop import (
267
273
  CreateTransactionRefundGlobals,
268
274
  CreateTransactionRefundGlobalsTypedDict,
@@ -342,6 +348,12 @@ if TYPE_CHECKING:
342
348
  DeletePaymentServiceRequest,
343
349
  DeletePaymentServiceRequestTypedDict,
344
350
  )
351
+ from .delete_three_ds_scenarioop import (
352
+ DeleteThreeDsScenarioGlobals,
353
+ DeleteThreeDsScenarioGlobalsTypedDict,
354
+ DeleteThreeDsScenarioRequest,
355
+ DeleteThreeDsScenarioRequestTypedDict,
356
+ )
345
357
  from .detailedsettlementreportspec import (
346
358
  DetailedSettlementReportSpec,
347
359
  DetailedSettlementReportSpecTypedDict,
@@ -507,6 +519,14 @@ if TYPE_CHECKING:
507
519
  GetReportRequest,
508
520
  GetReportRequestTypedDict,
509
521
  )
522
+ from .get_three_ds_scenarioop import (
523
+ GetThreeDsScenarioGlobals,
524
+ GetThreeDsScenarioGlobalsTypedDict,
525
+ GetThreeDsScenarioRequest,
526
+ GetThreeDsScenarioRequestTypedDict,
527
+ GetThreeDsScenarioResponse,
528
+ GetThreeDsScenarioResponseTypedDict,
529
+ )
510
530
  from .get_transaction_refundop import (
511
531
  GetTransactionRefundGlobals,
512
532
  GetTransactionRefundGlobalsTypedDict,
@@ -1018,6 +1038,40 @@ if TYPE_CHECKING:
1018
1038
  from .threedsecuredatav2 import ThreeDSecureDataV2, ThreeDSecureDataV2TypedDict
1019
1039
  from .threedsecureerror import ThreeDSecureError, ThreeDSecureErrorTypedDict
1020
1040
  from .threedsecuremethod import ThreeDSecureMethod
1041
+ from .threedsecurescenario import (
1042
+ ThreeDSecureScenario,
1043
+ ThreeDSecureScenarioTypedDict,
1044
+ )
1045
+ from .threedsecurescenarioconditions import (
1046
+ ThreeDSecureScenarioConditions,
1047
+ ThreeDSecureScenarioConditionsTypedDict,
1048
+ )
1049
+ from .threedsecurescenariocreate import (
1050
+ ThreeDSecureScenarioCreate,
1051
+ ThreeDSecureScenarioCreateTypedDict,
1052
+ )
1053
+ from .threedsecurescenariooutcome import (
1054
+ ThreeDSecureScenarioOutcome,
1055
+ ThreeDSecureScenarioOutcomeTypedDict,
1056
+ )
1057
+ from .threedsecurescenariooutcomeauthentication import (
1058
+ ThreeDSecureScenarioOutcomeAuthentication,
1059
+ ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus,
1060
+ ThreeDSecureScenarioOutcomeAuthenticationTypedDict,
1061
+ )
1062
+ from .threedsecurescenariooutcomeresult import (
1063
+ ThreeDSecureScenarioOutcomeResult,
1064
+ ThreeDSecureScenarioOutcomeResultTransactionStatus,
1065
+ ThreeDSecureScenarioOutcomeResultTypedDict,
1066
+ )
1067
+ from .threedsecurescenarios import (
1068
+ ThreeDSecureScenarios,
1069
+ ThreeDSecureScenariosTypedDict,
1070
+ )
1071
+ from .threedsecurescenarioupdate import (
1072
+ ThreeDSecureScenarioUpdate,
1073
+ ThreeDSecureScenarioUpdateTypedDict,
1074
+ )
1021
1075
  from .threedsecurestatus import ThreeDSecureStatus
1022
1076
  from .threedsecurev2 import ThreeDSecureV2, ThreeDSecureV2TypedDict
1023
1077
  from .tokenpaymentmethodcreate import (
@@ -1141,6 +1195,12 @@ if TYPE_CHECKING:
1141
1195
  UpdateReportRequest,
1142
1196
  UpdateReportRequestTypedDict,
1143
1197
  )
1198
+ from .update_three_ds_scenarioop import (
1199
+ UpdateThreeDsScenarioGlobals,
1200
+ UpdateThreeDsScenarioGlobalsTypedDict,
1201
+ UpdateThreeDsScenarioRequest,
1202
+ UpdateThreeDsScenarioRequestTypedDict,
1203
+ )
1144
1204
  from .update_transactionop import (
1145
1205
  UpdateTransactionGlobals,
1146
1206
  UpdateTransactionGlobalsTypedDict,
@@ -1388,6 +1448,10 @@ __all__ = [
1388
1448
  "CreateSession",
1389
1449
  "CreateSessionStatus",
1390
1450
  "CreateSessionTypedDict",
1451
+ "CreateThreeDsScenarioGlobals",
1452
+ "CreateThreeDsScenarioGlobalsTypedDict",
1453
+ "CreateThreeDsScenarioRequest",
1454
+ "CreateThreeDsScenarioRequestTypedDict",
1391
1455
  "CreateTransactionGlobals",
1392
1456
  "CreateTransactionGlobalsTypedDict",
1393
1457
  "CreateTransactionRefundGlobals",
@@ -1445,6 +1509,10 @@ __all__ = [
1445
1509
  "DeletePaymentServiceGlobalsTypedDict",
1446
1510
  "DeletePaymentServiceRequest",
1447
1511
  "DeletePaymentServiceRequestTypedDict",
1512
+ "DeleteThreeDsScenarioGlobals",
1513
+ "DeleteThreeDsScenarioGlobalsTypedDict",
1514
+ "DeleteThreeDsScenarioRequest",
1515
+ "DeleteThreeDsScenarioRequestTypedDict",
1448
1516
  "DetailedSettlementReportSpec",
1449
1517
  "DetailedSettlementReportSpecTypedDict",
1450
1518
  "DigitalWallet",
@@ -1560,6 +1628,12 @@ __all__ = [
1560
1628
  "GetReportGlobalsTypedDict",
1561
1629
  "GetReportRequest",
1562
1630
  "GetReportRequestTypedDict",
1631
+ "GetThreeDsScenarioGlobals",
1632
+ "GetThreeDsScenarioGlobalsTypedDict",
1633
+ "GetThreeDsScenarioRequest",
1634
+ "GetThreeDsScenarioRequestTypedDict",
1635
+ "GetThreeDsScenarioResponse",
1636
+ "GetThreeDsScenarioResponseTypedDict",
1563
1637
  "GetTransactionGlobals",
1564
1638
  "GetTransactionGlobalsTypedDict",
1565
1639
  "GetTransactionRefundGlobals",
@@ -1985,6 +2059,24 @@ __all__ = [
1985
2059
  "ThreeDSecureError",
1986
2060
  "ThreeDSecureErrorTypedDict",
1987
2061
  "ThreeDSecureMethod",
2062
+ "ThreeDSecureScenario",
2063
+ "ThreeDSecureScenarioConditions",
2064
+ "ThreeDSecureScenarioConditionsTypedDict",
2065
+ "ThreeDSecureScenarioCreate",
2066
+ "ThreeDSecureScenarioCreateTypedDict",
2067
+ "ThreeDSecureScenarioOutcome",
2068
+ "ThreeDSecureScenarioOutcomeAuthentication",
2069
+ "ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus",
2070
+ "ThreeDSecureScenarioOutcomeAuthenticationTypedDict",
2071
+ "ThreeDSecureScenarioOutcomeResult",
2072
+ "ThreeDSecureScenarioOutcomeResultTransactionStatus",
2073
+ "ThreeDSecureScenarioOutcomeResultTypedDict",
2074
+ "ThreeDSecureScenarioOutcomeTypedDict",
2075
+ "ThreeDSecureScenarioTypedDict",
2076
+ "ThreeDSecureScenarioUpdate",
2077
+ "ThreeDSecureScenarioUpdateTypedDict",
2078
+ "ThreeDSecureScenarios",
2079
+ "ThreeDSecureScenariosTypedDict",
1988
2080
  "ThreeDSecureStatus",
1989
2081
  "ThreeDSecureTypedDict",
1990
2082
  "ThreeDSecureV2",
@@ -2082,6 +2174,10 @@ __all__ = [
2082
2174
  "UpdateReportGlobalsTypedDict",
2083
2175
  "UpdateReportRequest",
2084
2176
  "UpdateReportRequestTypedDict",
2177
+ "UpdateThreeDsScenarioGlobals",
2178
+ "UpdateThreeDsScenarioGlobalsTypedDict",
2179
+ "UpdateThreeDsScenarioRequest",
2180
+ "UpdateThreeDsScenarioRequestTypedDict",
2085
2181
  "UpdateTransactionGlobals",
2086
2182
  "UpdateTransactionGlobalsTypedDict",
2087
2183
  "UpdateTransactionRequest",
@@ -2314,6 +2410,10 @@ _dynamic_imports: dict[str, str] = {
2314
2410
  "CreateReportExecutionURLGlobalsTypedDict": ".create_report_execution_urlop",
2315
2411
  "CreateReportExecutionURLRequest": ".create_report_execution_urlop",
2316
2412
  "CreateReportExecutionURLRequestTypedDict": ".create_report_execution_urlop",
2413
+ "CreateThreeDsScenarioGlobals": ".create_three_ds_scenarioop",
2414
+ "CreateThreeDsScenarioGlobalsTypedDict": ".create_three_ds_scenarioop",
2415
+ "CreateThreeDsScenarioRequest": ".create_three_ds_scenarioop",
2416
+ "CreateThreeDsScenarioRequestTypedDict": ".create_three_ds_scenarioop",
2317
2417
  "CreateTransactionRefundGlobals": ".create_transaction_refundop",
2318
2418
  "CreateTransactionRefundGlobalsTypedDict": ".create_transaction_refundop",
2319
2419
  "CreateTransactionRefundRequest": ".create_transaction_refundop",
@@ -2375,6 +2475,10 @@ _dynamic_imports: dict[str, str] = {
2375
2475
  "DeletePaymentServiceGlobalsTypedDict": ".delete_payment_serviceop",
2376
2476
  "DeletePaymentServiceRequest": ".delete_payment_serviceop",
2377
2477
  "DeletePaymentServiceRequestTypedDict": ".delete_payment_serviceop",
2478
+ "DeleteThreeDsScenarioGlobals": ".delete_three_ds_scenarioop",
2479
+ "DeleteThreeDsScenarioGlobalsTypedDict": ".delete_three_ds_scenarioop",
2480
+ "DeleteThreeDsScenarioRequest": ".delete_three_ds_scenarioop",
2481
+ "DeleteThreeDsScenarioRequestTypedDict": ".delete_three_ds_scenarioop",
2378
2482
  "DetailedSettlementReportSpec": ".detailedsettlementreportspec",
2379
2483
  "DetailedSettlementReportSpecTypedDict": ".detailedsettlementreportspec",
2380
2484
  "DigitalWallet": ".digitalwallet",
@@ -2491,6 +2595,12 @@ _dynamic_imports: dict[str, str] = {
2491
2595
  "GetReportGlobalsTypedDict": ".get_reportop",
2492
2596
  "GetReportRequest": ".get_reportop",
2493
2597
  "GetReportRequestTypedDict": ".get_reportop",
2598
+ "GetThreeDsScenarioGlobals": ".get_three_ds_scenarioop",
2599
+ "GetThreeDsScenarioGlobalsTypedDict": ".get_three_ds_scenarioop",
2600
+ "GetThreeDsScenarioRequest": ".get_three_ds_scenarioop",
2601
+ "GetThreeDsScenarioRequestTypedDict": ".get_three_ds_scenarioop",
2602
+ "GetThreeDsScenarioResponse": ".get_three_ds_scenarioop",
2603
+ "GetThreeDsScenarioResponseTypedDict": ".get_three_ds_scenarioop",
2494
2604
  "GetTransactionRefundGlobals": ".get_transaction_refundop",
2495
2605
  "GetTransactionRefundGlobalsTypedDict": ".get_transaction_refundop",
2496
2606
  "GetTransactionRefundRequest": ".get_transaction_refundop",
@@ -2907,6 +3017,24 @@ _dynamic_imports: dict[str, str] = {
2907
3017
  "ThreeDSecureError": ".threedsecureerror",
2908
3018
  "ThreeDSecureErrorTypedDict": ".threedsecureerror",
2909
3019
  "ThreeDSecureMethod": ".threedsecuremethod",
3020
+ "ThreeDSecureScenario": ".threedsecurescenario",
3021
+ "ThreeDSecureScenarioTypedDict": ".threedsecurescenario",
3022
+ "ThreeDSecureScenarioConditions": ".threedsecurescenarioconditions",
3023
+ "ThreeDSecureScenarioConditionsTypedDict": ".threedsecurescenarioconditions",
3024
+ "ThreeDSecureScenarioCreate": ".threedsecurescenariocreate",
3025
+ "ThreeDSecureScenarioCreateTypedDict": ".threedsecurescenariocreate",
3026
+ "ThreeDSecureScenarioOutcome": ".threedsecurescenariooutcome",
3027
+ "ThreeDSecureScenarioOutcomeTypedDict": ".threedsecurescenariooutcome",
3028
+ "ThreeDSecureScenarioOutcomeAuthentication": ".threedsecurescenariooutcomeauthentication",
3029
+ "ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus": ".threedsecurescenariooutcomeauthentication",
3030
+ "ThreeDSecureScenarioOutcomeAuthenticationTypedDict": ".threedsecurescenariooutcomeauthentication",
3031
+ "ThreeDSecureScenarioOutcomeResult": ".threedsecurescenariooutcomeresult",
3032
+ "ThreeDSecureScenarioOutcomeResultTransactionStatus": ".threedsecurescenariooutcomeresult",
3033
+ "ThreeDSecureScenarioOutcomeResultTypedDict": ".threedsecurescenariooutcomeresult",
3034
+ "ThreeDSecureScenarios": ".threedsecurescenarios",
3035
+ "ThreeDSecureScenariosTypedDict": ".threedsecurescenarios",
3036
+ "ThreeDSecureScenarioUpdate": ".threedsecurescenarioupdate",
3037
+ "ThreeDSecureScenarioUpdateTypedDict": ".threedsecurescenarioupdate",
2910
3038
  "ThreeDSecureStatus": ".threedsecurestatus",
2911
3039
  "ThreeDSecureV2": ".threedsecurev2",
2912
3040
  "ThreeDSecureV2TypedDict": ".threedsecurev2",
@@ -3007,6 +3135,10 @@ _dynamic_imports: dict[str, str] = {
3007
3135
  "UpdateReportGlobalsTypedDict": ".update_reportop",
3008
3136
  "UpdateReportRequest": ".update_reportop",
3009
3137
  "UpdateReportRequestTypedDict": ".update_reportop",
3138
+ "UpdateThreeDsScenarioGlobals": ".update_three_ds_scenarioop",
3139
+ "UpdateThreeDsScenarioGlobalsTypedDict": ".update_three_ds_scenarioop",
3140
+ "UpdateThreeDsScenarioRequest": ".update_three_ds_scenarioop",
3141
+ "UpdateThreeDsScenarioRequestTypedDict": ".update_three_ds_scenarioop",
3010
3142
  "UpdateTransactionGlobals": ".update_transactionop",
3011
3143
  "UpdateTransactionGlobalsTypedDict": ".update_transactionop",
3012
3144
  "UpdateTransactionRequest": ".update_transactionop",
@@ -1,9 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from gr4vy.types import BaseModel
4
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
5
5
  from gr4vy.utils import validate_const
6
6
  import pydantic
7
+ from pydantic import model_serializer
7
8
  from pydantic.functional_validators import AfterValidator
8
9
  from typing import Any, Dict, Literal, Optional
9
10
  from typing_extensions import Annotated, TypedDict
@@ -28,3 +29,19 @@ class AccountsReceivablesReportSpec(BaseModel):
28
29
  pydantic.Field(alias="model"),
29
30
  ] = "accounts_receivables"
30
31
  r"""The report model type."""
32
+
33
+ @model_serializer(mode="wrap")
34
+ def serialize_model(self, handler):
35
+ optional_fields = set(["model"])
36
+ serialized = handler(self)
37
+ m = {}
38
+
39
+ for n, f in type(self).model_fields.items():
40
+ k = f.alias or n
41
+ val = serialized.get(k)
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if val is not None or k not in optional_fields:
45
+ m[k] = val
46
+
47
+ return m
@@ -1,9 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from gr4vy.types import BaseModel
4
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
5
5
  from gr4vy.utils import validate_const
6
6
  import pydantic
7
+ from pydantic import model_serializer
7
8
  from pydantic.functional_validators import AfterValidator
8
9
  from typing import Literal, Optional
9
10
  from typing_extensions import Annotated, TypedDict
@@ -33,3 +34,19 @@ class AccountUpdaterInquirySummary(BaseModel):
33
34
  pydantic.Field(alias="type"),
34
35
  ] = "account-updater-inquiry"
35
36
  r"""Always `account-updater-inquiry`"""
37
+
38
+ @model_serializer(mode="wrap")
39
+ def serialize_model(self, handler):
40
+ optional_fields = set(["type"])
41
+ serialized = handler(self)
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k)
47
+
48
+ if val != UNSET_SENTINEL:
49
+ if val is not None or k not in optional_fields:
50
+ m[k] = val
51
+
52
+ return m
@@ -6,9 +6,10 @@ from .accountupdaterinquirysummary import (
6
6
  AccountUpdaterInquirySummaryTypedDict,
7
7
  )
8
8
  from datetime import datetime
9
- from gr4vy.types import BaseModel
9
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
10
10
  from gr4vy.utils import validate_const
11
11
  import pydantic
12
+ from pydantic import model_serializer
12
13
  from pydantic.functional_validators import AfterValidator
13
14
  from typing import List, Literal, Optional
14
15
  from typing_extensions import Annotated, TypedDict
@@ -53,3 +54,19 @@ class AccountUpdaterJob(BaseModel):
53
54
  pydantic.Field(alias="type"),
54
55
  ] = "account-updater-job"
55
56
  r"""Always `account-updater-job`"""
57
+
58
+ @model_serializer(mode="wrap")
59
+ def serialize_model(self, handler):
60
+ optional_fields = set(["type"])
61
+ serialized = handler(self)
62
+ m = {}
63
+
64
+ for n, f in type(self).model_fields.items():
65
+ k = f.alias or n
66
+ val = serialized.get(k)
67
+
68
+ if val != UNSET_SENTINEL:
69
+ if val is not None or k not in optional_fields:
70
+ m[k] = val
71
+
72
+ return m
@@ -47,42 +47,41 @@ class AccountUpdaterOptions(BaseModel):
47
47
 
48
48
  @model_serializer(mode="wrap")
49
49
  def serialize_model(self, handler):
50
- optional_fields = [
51
- "response_code",
52
- "account_number",
53
- "expiration_month",
54
- "expiration_year",
55
- "error_code",
56
- ]
57
- nullable_fields = [
58
- "response_code",
59
- "account_number",
60
- "expiration_month",
61
- "expiration_year",
62
- "error_code",
63
- ]
64
- null_default_fields = []
65
-
50
+ optional_fields = set(
51
+ [
52
+ "response_code",
53
+ "account_number",
54
+ "expiration_month",
55
+ "expiration_year",
56
+ "error_code",
57
+ ]
58
+ )
59
+ nullable_fields = set(
60
+ [
61
+ "response_code",
62
+ "account_number",
63
+ "expiration_month",
64
+ "expiration_year",
65
+ "error_code",
66
+ ]
67
+ )
66
68
  serialized = handler(self)
67
-
68
69
  m = {}
69
70
 
70
71
  for n, f in type(self).model_fields.items():
71
72
  k = f.alias or n
72
73
  val = serialized.get(k)
73
- serialized.pop(k, None)
74
-
75
- optional_nullable = k in optional_fields and k in nullable_fields
76
- is_set = (
77
- self.__pydantic_fields_set__.intersection({n})
78
- or k in null_default_fields
79
- ) # pylint: disable=no-member
80
-
81
- if val is not None and val != UNSET_SENTINEL:
82
- m[k] = val
83
- elif val != UNSET_SENTINEL and (
84
- not k in optional_fields or (optional_nullable and is_set)
85
- ):
86
- m[k] = val
74
+ is_nullable_and_explicitly_set = (
75
+ k in nullable_fields
76
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
77
+ )
78
+
79
+ if val != UNSET_SENTINEL:
80
+ if (
81
+ val is not None
82
+ or k not in optional_fields
83
+ or is_nullable_and_explicitly_set
84
+ ):
85
+ m[k] = val
87
86
 
88
87
  return m
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .shippingdetailscreate import ShippingDetailsCreate, ShippingDetailsCreateTypedDict
5
- from gr4vy.types import BaseModel
5
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
6
6
  from gr4vy.utils import (
7
7
  FieldMetadata,
8
8
  HeaderMetadata,
@@ -10,6 +10,7 @@ from gr4vy.utils import (
10
10
  RequestMetadata,
11
11
  )
12
12
  import pydantic
13
+ from pydantic import model_serializer
13
14
  from typing import Optional
14
15
  from typing_extensions import Annotated, NotRequired, TypedDict
15
16
 
@@ -27,6 +28,22 @@ class AddBuyerShippingDetailsGlobals(BaseModel):
27
28
  ] = None
28
29
  r"""The ID of the merchant account to use for this request."""
29
30
 
31
+ @model_serializer(mode="wrap")
32
+ def serialize_model(self, handler):
33
+ optional_fields = set(["merchant_account_id"])
34
+ serialized = handler(self)
35
+ m = {}
36
+
37
+ for n, f in type(self).model_fields.items():
38
+ k = f.alias or n
39
+ val = serialized.get(k)
40
+
41
+ if val != UNSET_SENTINEL:
42
+ if val is not None or k not in optional_fields:
43
+ m[k] = val
44
+
45
+ return m
46
+
30
47
 
31
48
  class AddBuyerShippingDetailsRequestTypedDict(TypedDict):
32
49
  buyer_id: str
@@ -53,3 +70,19 @@ class AddBuyerShippingDetailsRequest(BaseModel):
53
70
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
54
71
  ] = None
55
72
  r"""The ID of the merchant account to use for this request."""
73
+
74
+ @model_serializer(mode="wrap")
75
+ def serialize_model(self, handler):
76
+ optional_fields = set(["merchant_account_id"])
77
+ serialized = handler(self)
78
+ m = {}
79
+
80
+ for n, f in type(self).model_fields.items():
81
+ k = f.alias or n
82
+ val = serialized.get(k)
83
+
84
+ if val != UNSET_SENTINEL:
85
+ if val is not None or k not in optional_fields:
86
+ m[k] = val
87
+
88
+ return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .buyercreate import BuyerCreate, BuyerCreateTypedDict
5
- from gr4vy.types import BaseModel
5
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
6
6
  from gr4vy.utils import FieldMetadata, HeaderMetadata, RequestMetadata
7
7
  import pydantic
8
+ from pydantic import model_serializer
8
9
  from typing import Optional
9
10
  from typing_extensions import Annotated, NotRequired, TypedDict
10
11
 
@@ -22,6 +23,22 @@ class AddBuyerGlobals(BaseModel):
22
23
  ] = None
23
24
  r"""The ID of the merchant account to use for this request."""
24
25
 
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["merchant_account_id"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k)
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m
41
+
25
42
 
26
43
  class AddBuyerRequestTypedDict(TypedDict):
27
44
  buyer_create: BuyerCreateTypedDict
@@ -41,3 +58,19 @@ class AddBuyerRequest(BaseModel):
41
58
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
42
59
  ] = None
43
60
  r"""The ID of the merchant account to use for this request."""
61
+
62
+ @model_serializer(mode="wrap")
63
+ def serialize_model(self, handler):
64
+ optional_fields = set(["merchant_account_id"])
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
+
72
+ if val != UNSET_SENTINEL:
73
+ if val is not None or k not in optional_fields:
74
+ m[k] = val
75
+
76
+ return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .paymentlinkcreate import PaymentLinkCreate, PaymentLinkCreateTypedDict
5
- from gr4vy.types import BaseModel
5
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
6
6
  from gr4vy.utils import FieldMetadata, HeaderMetadata, RequestMetadata
7
7
  import pydantic
8
+ from pydantic import model_serializer
8
9
  from typing import Optional
9
10
  from typing_extensions import Annotated, NotRequired, TypedDict
10
11
 
@@ -22,6 +23,22 @@ class AddPaymentLinkGlobals(BaseModel):
22
23
  ] = None
23
24
  r"""The ID of the merchant account to use for this request."""
24
25
 
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["merchant_account_id"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k)
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m
41
+
25
42
 
26
43
  class AddPaymentLinkRequestTypedDict(TypedDict):
27
44
  payment_link_create: PaymentLinkCreateTypedDict
@@ -41,3 +58,19 @@ class AddPaymentLinkRequest(BaseModel):
41
58
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
42
59
  ] = None
43
60
  r"""The ID of the merchant account to use for this request."""
61
+
62
+ @model_serializer(mode="wrap")
63
+ def serialize_model(self, handler):
64
+ optional_fields = set(["merchant_account_id"])
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
+
72
+ if val != UNSET_SENTINEL:
73
+ if val is not None or k not in optional_fields:
74
+ m[k] = val
75
+
76
+ return m