gr4vy 1.10.12__py3-none-any.whl → 1.10.15__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 (293) 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/method.py +1 -0
  163. gr4vy/models/mockcardmerchantadvicecodeoptions.py +14 -19
  164. gr4vy/models/mockcardoptions.py +14 -19
  165. gr4vy/models/networktoken.py +18 -1
  166. gr4vy/models/networktokencreate.py +14 -19
  167. gr4vy/models/networktokenpaymentmethodcreate.py +34 -35
  168. gr4vy/models/nuveiairlinedataoptions.py +14 -19
  169. gr4vy/models/nuveiidealoptions.py +14 -19
  170. gr4vy/models/nuveioptions.py +14 -19
  171. gr4vy/models/nuveipseoptions.py +13 -18
  172. gr4vy/models/oxxooptions.py +14 -19
  173. gr4vy/models/paymentlink.py +59 -60
  174. gr4vy/models/paymentlinkcreate.py +59 -60
  175. gr4vy/models/paymentlinks.py +14 -19
  176. gr4vy/models/paymentmethod.py +51 -52
  177. gr4vy/models/paymentmethodcard.py +14 -19
  178. gr4vy/models/paymentmethoddetailscard.py +14 -19
  179. gr4vy/models/paymentmethods.py +14 -19
  180. gr4vy/models/paymentmethodstoredcard.py +18 -1
  181. gr4vy/models/paymentmethodsummary.py +47 -48
  182. gr4vy/models/paymentoption.py +14 -19
  183. gr4vy/models/paymentoptioncontext.py +14 -19
  184. gr4vy/models/paymentoptioncontextapprovalui.py +14 -19
  185. gr4vy/models/paymentoptionrequest.py +18 -26
  186. gr4vy/models/paymentservice.py +35 -36
  187. gr4vy/models/paymentservicecreate.py +36 -37
  188. gr4vy/models/paymentservicedefinition.py +14 -19
  189. gr4vy/models/paymentservicedefinitions.py +14 -19
  190. gr4vy/models/paymentservices.py +14 -19
  191. gr4vy/models/paymentservicetoken.py +14 -19
  192. gr4vy/models/paymentservicetokencreate.py +14 -19
  193. gr4vy/models/paymentserviceupdate.py +45 -46
  194. gr4vy/models/payoutconnectionoptions.py +14 -19
  195. gr4vy/models/payoutcreate.py +34 -35
  196. gr4vy/models/payoutmerchant.py +14 -19
  197. gr4vy/models/payoutmerchantsummary.py +14 -19
  198. gr4vy/models/payoutpaymentservice.py +14 -19
  199. gr4vy/models/payoutsummaries.py +14 -19
  200. gr4vy/models/payoutsummary.py +35 -36
  201. gr4vy/models/paypaloptions.py +14 -19
  202. gr4vy/models/paypalshippingoptions.py +14 -19
  203. gr4vy/models/paypalshippingoptionsitem.py +14 -19
  204. gr4vy/models/plaidpaymentmethodcreate.py +31 -32
  205. gr4vy/models/powertranzoptions.py +14 -19
  206. gr4vy/models/recipient.py +14 -19
  207. gr4vy/models/redirectpaymentmethodcreate.py +19 -27
  208. gr4vy/models/refund.py +39 -40
  209. gr4vy/models/refunds.py +14 -19
  210. gr4vy/models/register_digital_wallet_domainop.py +34 -1
  211. gr4vy/models/report.py +33 -34
  212. gr4vy/models/reportcreate.py +14 -19
  213. gr4vy/models/reportexecution.py +18 -1
  214. gr4vy/models/reportexecutions.py +14 -19
  215. gr4vy/models/reportexecutionsummary.py +18 -1
  216. gr4vy/models/reportexecutionurlgenerate.py +18 -1
  217. gr4vy/models/reports.py +14 -19
  218. gr4vy/models/reportsummary.py +16 -19
  219. gr4vy/models/reportupdate.py +14 -19
  220. gr4vy/models/requiredcheckoutfields.py +14 -19
  221. gr4vy/models/resume_payment_method_network_tokenop.py +34 -1
  222. gr4vy/models/security.py +18 -1
  223. gr4vy/models/settlement.py +16 -25
  224. gr4vy/models/shippingdetails.py +35 -36
  225. gr4vy/models/shippingdetailscreate.py +18 -31
  226. gr4vy/models/shippingdetailsupdate.py +18 -31
  227. gr4vy/models/statementdescriptor.py +34 -35
  228. gr4vy/models/stripeconnectoptions.py +30 -31
  229. gr4vy/models/stripeoptions.py +14 -19
  230. gr4vy/models/suspend_payment_method_network_tokenop.py +34 -1
  231. gr4vy/models/sync_transactionop.py +34 -1
  232. gr4vy/models/threedsecure.py +14 -19
  233. gr4vy/models/threedsecuredatav1.py +14 -19
  234. gr4vy/models/threedsecuredatav2.py +14 -19
  235. gr4vy/models/threedsecureerror.py +14 -19
  236. gr4vy/models/threedsecurescenario.py +77 -0
  237. gr4vy/models/threedsecurescenarioconditions.py +84 -0
  238. gr4vy/models/threedsecurescenariocreate.py +24 -0
  239. gr4vy/models/threedsecurescenariooutcome.py +57 -0
  240. gr4vy/models/threedsecurescenariooutcomeauthentication.py +31 -0
  241. gr4vy/models/threedsecurescenariooutcomeresult.py +27 -0
  242. gr4vy/models/threedsecurescenarios.py +58 -0
  243. gr4vy/models/threedsecurescenarioupdate.py +54 -0
  244. gr4vy/models/threedsecurev2.py +34 -35
  245. gr4vy/models/tokenpaymentmethodcreate.py +14 -19
  246. gr4vy/models/transaction.py +111 -112
  247. gr4vy/models/transactionaction.py +18 -1
  248. gr4vy/models/transactionbuyer.py +31 -32
  249. gr4vy/models/transactioncancel.py +14 -19
  250. gr4vy/models/transactioncapture.py +14 -19
  251. gr4vy/models/transactioncapturecreate.py +14 -19
  252. gr4vy/models/transactionconnectionoptions.py +104 -105
  253. gr4vy/models/transactioncreate.py +88 -89
  254. gr4vy/models/transactionevent.py +18 -1
  255. gr4vy/models/transactionevents.py +14 -19
  256. gr4vy/models/transactiongiftcard.py +14 -19
  257. gr4vy/models/transactionpaymentmethod.py +49 -50
  258. gr4vy/models/transactionpaymentservice.py +18 -1
  259. gr4vy/models/transactionrefundallcreate.py +14 -19
  260. gr4vy/models/transactionrefundcreate.py +16 -25
  261. gr4vy/models/transactionretriesreportspec.py +18 -1
  262. gr4vy/models/transactionsreportspec.py +18 -1
  263. gr4vy/models/transactionsummaries.py +14 -19
  264. gr4vy/models/transactionsummary.py +50 -51
  265. gr4vy/models/transactionthreedsecuresummary.py +18 -33
  266. gr4vy/models/transactionupdate.py +14 -19
  267. gr4vy/models/transactionvoid.py +14 -19
  268. gr4vy/models/travelhubcustomdata.py +14 -19
  269. gr4vy/models/travelhuboptions.py +14 -19
  270. gr4vy/models/trustlyoptions.py +14 -19
  271. gr4vy/models/unregister_digital_wallet_domainop.py +34 -1
  272. gr4vy/models/update_buyer_shipping_detailsop.py +34 -1
  273. gr4vy/models/update_buyerop.py +34 -1
  274. gr4vy/models/update_checkout_sessionop.py +34 -1
  275. gr4vy/models/update_digital_walletop.py +34 -1
  276. gr4vy/models/update_payment_serviceop.py +34 -1
  277. gr4vy/models/update_reportop.py +34 -1
  278. gr4vy/models/update_three_ds_scenarioop.py +91 -0
  279. gr4vy/models/update_transactionop.py +34 -1
  280. gr4vy/models/verify_payment_service_credentialsop.py +34 -1
  281. gr4vy/models/verifycredentials.py +14 -19
  282. gr4vy/models/void_transactionop.py +30 -19
  283. gr4vy/models/wpayeverdaypayoptions.py +30 -31
  284. gr4vy/models/wpaypaytooptions.py +14 -19
  285. gr4vy/models/wpaypaytoresourceoptions.py +14 -19
  286. gr4vy/models/wpaypaytosimulationoptions.py +14 -19
  287. gr4vy/sdk.py +3 -0
  288. gr4vy/three_ds_scenarios.py +1322 -0
  289. gr4vy/utils/__init__.py +13 -1
  290. {gr4vy-1.10.12.dist-info → gr4vy-1.10.15.dist-info}/METADATA +8 -1
  291. gr4vy-1.10.15.dist-info/RECORD +464 -0
  292. gr4vy-1.10.12.dist-info/RECORD +0 -451
  293. {gr4vy-1.10.12.dist-info → gr4vy-1.10.15.dist-info}/WHEEL +0 -0
@@ -347,116 +347,115 @@ class TransactionConnectionOptions(BaseModel):
347
347
 
348
348
  @model_serializer(mode="wrap")
349
349
  def serialize_model(self, handler):
350
- optional_fields = [
351
- "account-updater",
352
- "adyen-afterpay",
353
- "adyen-alipay",
354
- "adyen-card",
355
- "adyen-cashapp",
356
- "adyen-giropay",
357
- "adyen-ideal",
358
- "adyen-sepa",
359
- "adyen-sofort",
360
- "adyen-vipps",
361
- "affirm-affirm",
362
- "braintree-card",
363
- "chaseorbital-card",
364
- "cybersource-anti-fraud",
365
- "cybersource-card",
366
- "cybersource-ideal",
367
- "cybersource-kcp",
368
- "dlocal-nequi",
369
- "dlocal-upi",
370
- "fiserv-card",
371
- "forter-anti-fraud",
372
- "gem-gem",
373
- "gem-gemds",
374
- "givingblock-givingblock",
375
- "latitude-latitude",
376
- "latitude-latitudeds",
377
- "mattilda-tapi",
378
- "mattilda-tapifintechs",
379
- "monato-spei",
380
- "mock-card",
381
- "nuvei-card",
382
- "nuvei-ideal",
383
- "nuvei-pse",
384
- "oxxo-oxxo",
385
- "paypal-paypal",
386
- "paypal-paypalpaylater",
387
- "powertranz-card",
388
- "stripe-card",
389
- "travelhub-card",
390
- "trustly-trustly",
391
- "wpay-everydaypay",
392
- "wpay-payto",
393
- ]
394
- nullable_fields = [
395
- "account-updater",
396
- "adyen-afterpay",
397
- "adyen-alipay",
398
- "adyen-card",
399
- "adyen-cashapp",
400
- "adyen-giropay",
401
- "adyen-ideal",
402
- "adyen-sepa",
403
- "adyen-sofort",
404
- "adyen-vipps",
405
- "affirm-affirm",
406
- "braintree-card",
407
- "chaseorbital-card",
408
- "cybersource-anti-fraud",
409
- "cybersource-card",
410
- "cybersource-ideal",
411
- "cybersource-kcp",
412
- "dlocal-nequi",
413
- "dlocal-upi",
414
- "fiserv-card",
415
- "forter-anti-fraud",
416
- "gem-gem",
417
- "gem-gemds",
418
- "givingblock-givingblock",
419
- "latitude-latitude",
420
- "latitude-latitudeds",
421
- "mattilda-tapi",
422
- "mattilda-tapifintechs",
423
- "monato-spei",
424
- "mock-card",
425
- "nuvei-card",
426
- "nuvei-ideal",
427
- "nuvei-pse",
428
- "oxxo-oxxo",
429
- "paypal-paypal",
430
- "paypal-paypalpaylater",
431
- "powertranz-card",
432
- "stripe-card",
433
- "travelhub-card",
434
- "trustly-trustly",
435
- "wpay-everydaypay",
436
- "wpay-payto",
437
- ]
438
- null_default_fields = []
439
-
350
+ optional_fields = set(
351
+ [
352
+ "account-updater",
353
+ "adyen-afterpay",
354
+ "adyen-alipay",
355
+ "adyen-card",
356
+ "adyen-cashapp",
357
+ "adyen-giropay",
358
+ "adyen-ideal",
359
+ "adyen-sepa",
360
+ "adyen-sofort",
361
+ "adyen-vipps",
362
+ "affirm-affirm",
363
+ "braintree-card",
364
+ "chaseorbital-card",
365
+ "cybersource-anti-fraud",
366
+ "cybersource-card",
367
+ "cybersource-ideal",
368
+ "cybersource-kcp",
369
+ "dlocal-nequi",
370
+ "dlocal-upi",
371
+ "fiserv-card",
372
+ "forter-anti-fraud",
373
+ "gem-gem",
374
+ "gem-gemds",
375
+ "givingblock-givingblock",
376
+ "latitude-latitude",
377
+ "latitude-latitudeds",
378
+ "mattilda-tapi",
379
+ "mattilda-tapifintechs",
380
+ "monato-spei",
381
+ "mock-card",
382
+ "nuvei-card",
383
+ "nuvei-ideal",
384
+ "nuvei-pse",
385
+ "oxxo-oxxo",
386
+ "paypal-paypal",
387
+ "paypal-paypalpaylater",
388
+ "powertranz-card",
389
+ "stripe-card",
390
+ "travelhub-card",
391
+ "trustly-trustly",
392
+ "wpay-everydaypay",
393
+ "wpay-payto",
394
+ ]
395
+ )
396
+ nullable_fields = set(
397
+ [
398
+ "account-updater",
399
+ "adyen-afterpay",
400
+ "adyen-alipay",
401
+ "adyen-card",
402
+ "adyen-cashapp",
403
+ "adyen-giropay",
404
+ "adyen-ideal",
405
+ "adyen-sepa",
406
+ "adyen-sofort",
407
+ "adyen-vipps",
408
+ "affirm-affirm",
409
+ "braintree-card",
410
+ "chaseorbital-card",
411
+ "cybersource-anti-fraud",
412
+ "cybersource-card",
413
+ "cybersource-ideal",
414
+ "cybersource-kcp",
415
+ "dlocal-nequi",
416
+ "dlocal-upi",
417
+ "fiserv-card",
418
+ "forter-anti-fraud",
419
+ "gem-gem",
420
+ "gem-gemds",
421
+ "givingblock-givingblock",
422
+ "latitude-latitude",
423
+ "latitude-latitudeds",
424
+ "mattilda-tapi",
425
+ "mattilda-tapifintechs",
426
+ "monato-spei",
427
+ "mock-card",
428
+ "nuvei-card",
429
+ "nuvei-ideal",
430
+ "nuvei-pse",
431
+ "oxxo-oxxo",
432
+ "paypal-paypal",
433
+ "paypal-paypalpaylater",
434
+ "powertranz-card",
435
+ "stripe-card",
436
+ "travelhub-card",
437
+ "trustly-trustly",
438
+ "wpay-everydaypay",
439
+ "wpay-payto",
440
+ ]
441
+ )
440
442
  serialized = handler(self)
441
-
442
443
  m = {}
443
444
 
444
445
  for n, f in type(self).model_fields.items():
445
446
  k = f.alias or n
446
447
  val = serialized.get(k)
447
- serialized.pop(k, None)
448
-
449
- optional_nullable = k in optional_fields and k in nullable_fields
450
- is_set = (
451
- self.__pydantic_fields_set__.intersection({n})
452
- or k in null_default_fields
453
- ) # pylint: disable=no-member
454
-
455
- if val is not None and val != UNSET_SENTINEL:
456
- m[k] = val
457
- elif val != UNSET_SENTINEL and (
458
- not k in optional_fields or (optional_nullable and is_set)
459
- ):
460
- m[k] = val
448
+ is_nullable_and_explicitly_set = (
449
+ k in nullable_fields
450
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
451
+ )
452
+
453
+ if val != UNSET_SENTINEL:
454
+ if (
455
+ val is not None
456
+ or k not in optional_fields
457
+ or is_nullable_and_explicitly_set
458
+ ):
459
+ m[k] = val
461
460
 
462
461
  return m
@@ -383,100 +383,99 @@ class TransactionCreate(BaseModel):
383
383
 
384
384
  @model_serializer(mode="wrap")
385
385
  def serialize_model(self, handler):
386
- optional_fields = [
387
- "country",
388
- "payment_method",
389
- "buyer",
390
- "buyer_id",
391
- "buyer_external_identifier",
392
- "gift_cards",
393
- "external_identifier",
394
- "intent",
395
- "store",
396
- "three_d_secure_data",
397
- "three_d_secure",
398
- "metadata",
399
- "is_subsequent_payment",
400
- "merchant_initiated",
401
- "payment_source",
402
- "airline",
403
- "cart_items",
404
- "statement_descriptor",
405
- "previous_scheme_transaction_id",
406
- "browser_info",
407
- "shipping_details_id",
408
- "connection_options",
409
- "async_capture",
410
- "anti_fraud_fingerprint",
411
- "payment_service_id",
412
- "account_funding_transaction",
413
- "allow_partial_authorization",
414
- "recipient",
415
- "installment_count",
416
- "tax_amount",
417
- "merchant_tax_id",
418
- "purchase_order_number",
419
- "customer_reference_number",
420
- "amount_includes_tax",
421
- "supplier_order_number",
422
- "duty_amount",
423
- "shipping_amount",
424
- "integration_client",
425
- ]
426
- nullable_fields = [
427
- "country",
428
- "payment_method",
429
- "buyer",
430
- "buyer_id",
431
- "buyer_external_identifier",
432
- "gift_cards",
433
- "external_identifier",
434
- "three_d_secure_data",
435
- "three_d_secure",
436
- "metadata",
437
- "airline",
438
- "cart_items",
439
- "statement_descriptor",
440
- "previous_scheme_transaction_id",
441
- "browser_info",
442
- "shipping_details_id",
443
- "connection_options",
444
- "anti_fraud_fingerprint",
445
- "payment_service_id",
446
- "recipient",
447
- "installment_count",
448
- "tax_amount",
449
- "merchant_tax_id",
450
- "purchase_order_number",
451
- "customer_reference_number",
452
- "amount_includes_tax",
453
- "supplier_order_number",
454
- "duty_amount",
455
- "shipping_amount",
456
- "integration_client",
457
- ]
458
- null_default_fields = []
459
-
386
+ optional_fields = set(
387
+ [
388
+ "country",
389
+ "payment_method",
390
+ "buyer",
391
+ "buyer_id",
392
+ "buyer_external_identifier",
393
+ "gift_cards",
394
+ "external_identifier",
395
+ "intent",
396
+ "store",
397
+ "three_d_secure_data",
398
+ "three_d_secure",
399
+ "metadata",
400
+ "is_subsequent_payment",
401
+ "merchant_initiated",
402
+ "payment_source",
403
+ "airline",
404
+ "cart_items",
405
+ "statement_descriptor",
406
+ "previous_scheme_transaction_id",
407
+ "browser_info",
408
+ "shipping_details_id",
409
+ "connection_options",
410
+ "async_capture",
411
+ "anti_fraud_fingerprint",
412
+ "payment_service_id",
413
+ "account_funding_transaction",
414
+ "allow_partial_authorization",
415
+ "recipient",
416
+ "installment_count",
417
+ "tax_amount",
418
+ "merchant_tax_id",
419
+ "purchase_order_number",
420
+ "customer_reference_number",
421
+ "amount_includes_tax",
422
+ "supplier_order_number",
423
+ "duty_amount",
424
+ "shipping_amount",
425
+ "integration_client",
426
+ ]
427
+ )
428
+ nullable_fields = set(
429
+ [
430
+ "country",
431
+ "payment_method",
432
+ "buyer",
433
+ "buyer_id",
434
+ "buyer_external_identifier",
435
+ "gift_cards",
436
+ "external_identifier",
437
+ "three_d_secure_data",
438
+ "three_d_secure",
439
+ "metadata",
440
+ "airline",
441
+ "cart_items",
442
+ "statement_descriptor",
443
+ "previous_scheme_transaction_id",
444
+ "browser_info",
445
+ "shipping_details_id",
446
+ "connection_options",
447
+ "anti_fraud_fingerprint",
448
+ "payment_service_id",
449
+ "recipient",
450
+ "installment_count",
451
+ "tax_amount",
452
+ "merchant_tax_id",
453
+ "purchase_order_number",
454
+ "customer_reference_number",
455
+ "amount_includes_tax",
456
+ "supplier_order_number",
457
+ "duty_amount",
458
+ "shipping_amount",
459
+ "integration_client",
460
+ ]
461
+ )
460
462
  serialized = handler(self)
461
-
462
463
  m = {}
463
464
 
464
465
  for n, f in type(self).model_fields.items():
465
466
  k = f.alias or n
466
467
  val = serialized.get(k)
467
- serialized.pop(k, None)
468
-
469
- optional_nullable = k in optional_fields and k in nullable_fields
470
- is_set = (
471
- self.__pydantic_fields_set__.intersection({n})
472
- or k in null_default_fields
473
- ) # pylint: disable=no-member
474
-
475
- if val is not None and val != UNSET_SENTINEL:
476
- m[k] = val
477
- elif val != UNSET_SENTINEL and (
478
- not k in optional_fields or (optional_nullable and is_set)
479
- ):
480
- m[k] = val
468
+ is_nullable_and_explicitly_set = (
469
+ k in nullable_fields
470
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
471
+ )
472
+
473
+ if val != UNSET_SENTINEL:
474
+ if (
475
+ val is not None
476
+ or k not in optional_fields
477
+ or is_nullable_and_explicitly_set
478
+ ):
479
+ m[k] = val
481
480
 
482
481
  return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from datetime import datetime
5
- from gr4vy.types import BaseModel, UnrecognizedStr
5
+ from gr4vy.types import BaseModel, UNSET_SENTINEL, UnrecognizedStr
6
6
  from gr4vy.utils import validate_const
7
7
  import pydantic
8
+ from pydantic import model_serializer
8
9
  from pydantic.functional_validators import AfterValidator
9
10
  from typing import Any, Dict, Literal, Optional, Union
10
11
  from typing_extensions import Annotated, TypedDict
@@ -102,3 +103,19 @@ class TransactionEvent(BaseModel):
102
103
  pydantic.Field(alias="type"),
103
104
  ] = "transaction-event"
104
105
  r"""Always `transaction-event`."""
106
+
107
+ @model_serializer(mode="wrap")
108
+ def serialize_model(self, handler):
109
+ optional_fields = set(["type"])
110
+ serialized = handler(self)
111
+ m = {}
112
+
113
+ for n, f in type(self).model_fields.items():
114
+ k = f.alias or n
115
+ val = serialized.get(k)
116
+
117
+ if val != UNSET_SENTINEL:
118
+ if val is not None or k not in optional_fields:
119
+ m[k] = val
120
+
121
+ return m
@@ -34,30 +34,25 @@ class TransactionEvents(BaseModel):
34
34
 
35
35
  @model_serializer(mode="wrap")
36
36
  def serialize_model(self, handler):
37
- optional_fields = ["limit", "next_cursor", "previous_cursor"]
38
- nullable_fields = ["next_cursor", "previous_cursor"]
39
- null_default_fields = []
40
-
37
+ optional_fields = set(["limit", "next_cursor", "previous_cursor"])
38
+ nullable_fields = set(["next_cursor", "previous_cursor"])
41
39
  serialized = handler(self)
42
-
43
40
  m = {}
44
41
 
45
42
  for n, f in type(self).model_fields.items():
46
43
  k = f.alias or n
47
44
  val = serialized.get(k)
48
- serialized.pop(k, None)
49
-
50
- optional_nullable = k in optional_fields and k in nullable_fields
51
- is_set = (
52
- self.__pydantic_fields_set__.intersection({n})
53
- or k in null_default_fields
54
- ) # pylint: disable=no-member
55
-
56
- if val is not None and val != UNSET_SENTINEL:
57
- m[k] = val
58
- elif val != UNSET_SENTINEL and (
59
- not k in optional_fields or (optional_nullable and is_set)
60
- ):
61
- m[k] = val
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
62
57
 
63
58
  return m
@@ -46,30 +46,25 @@ class TransactionGiftCard(BaseModel):
46
46
 
47
47
  @model_serializer(mode="wrap")
48
48
  def serialize_model(self, handler):
49
- optional_fields = ["type", "id"]
50
- nullable_fields = ["id"]
51
- null_default_fields = []
52
-
49
+ optional_fields = set(["type", "id"])
50
+ nullable_fields = set(["id"])
53
51
  serialized = handler(self)
54
-
55
52
  m = {}
56
53
 
57
54
  for n, f in type(self).model_fields.items():
58
55
  k = f.alias or n
59
56
  val = serialized.get(k)
60
- serialized.pop(k, None)
61
-
62
- optional_nullable = k in optional_fields and k in nullable_fields
63
- is_set = (
64
- self.__pydantic_fields_set__.intersection({n})
65
- or k in null_default_fields
66
- ) # pylint: disable=no-member
67
-
68
- if val is not None and val != UNSET_SENTINEL:
69
- m[k] = val
70
- elif val != UNSET_SENTINEL and (
71
- not k in optional_fields or (optional_nullable and is_set)
72
- ):
73
- m[k] = val
57
+ is_nullable_and_explicitly_set = (
58
+ k in nullable_fields
59
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
60
+ )
61
+
62
+ if val != UNSET_SENTINEL:
63
+ if (
64
+ val is not None
65
+ or k not in optional_fields
66
+ or is_nullable_and_explicitly_set
67
+ ):
68
+ m[k] = val
74
69
 
75
70
  return m