gr4vy 1.10.12__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 +111 -112
  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.12.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.12.dist-info/RECORD +0 -451
  292. {gr4vy-1.10.12.dist-info → gr4vy-1.10.14.dist-info}/WHEEL +0 -0
@@ -395,123 +395,122 @@ class Transaction(BaseModel):
395
395
 
396
396
  @model_serializer(mode="wrap")
397
397
  def serialize_model(self, handler):
398
- optional_fields = [
399
- "type",
400
- "settled_currency",
401
- "country",
402
- "external_identifier",
403
- "payment_method",
404
- "method",
405
- "instrument_type",
406
- "error_code",
407
- "payment_service",
408
- "pending_review",
409
- "buyer",
410
- "raw_response_code",
411
- "raw_response_description",
412
- "shipping_details",
413
- "checkout_session_id",
414
- "gift_card_service",
415
- "airline",
416
- "auth_response_code",
417
- "avs_response_code",
418
- "cvv_response_code",
419
- "anti_fraud_decision",
420
- "cart_items",
421
- "statement_descriptor",
422
- "scheme_transaction_id",
423
- "three_d_secure",
424
- "payment_service_transaction_id",
425
- "additional_identifiers",
426
- "metadata",
427
- "authorized_at",
428
- "captured_at",
429
- "voided_at",
430
- "canceled_at",
431
- "approval_expires_at",
432
- "buyer_approval_timedout_at",
433
- "recipient",
434
- "merchant_advice_code",
435
- "installment_count",
436
- "session_token",
437
- "tax_amount",
438
- "merchant_tax_id",
439
- "purchase_order_number",
440
- "customer_reference_number",
441
- "amount_includes_tax",
442
- "supplier_order_number",
443
- "duty_amount",
444
- "shipping_amount",
445
- "iso_response_code",
446
- ]
447
- nullable_fields = [
448
- "settled_currency",
449
- "country",
450
- "external_identifier",
451
- "payment_method",
452
- "method",
453
- "instrument_type",
454
- "error_code",
455
- "payment_service",
456
- "buyer",
457
- "raw_response_code",
458
- "raw_response_description",
459
- "shipping_details",
460
- "checkout_session_id",
461
- "gift_card_service",
462
- "airline",
463
- "auth_response_code",
464
- "avs_response_code",
465
- "cvv_response_code",
466
- "anti_fraud_decision",
467
- "cart_items",
468
- "statement_descriptor",
469
- "scheme_transaction_id",
470
- "three_d_secure",
471
- "payment_service_transaction_id",
472
- "metadata",
473
- "authorized_at",
474
- "captured_at",
475
- "voided_at",
476
- "canceled_at",
477
- "approval_expires_at",
478
- "buyer_approval_timedout_at",
479
- "recipient",
480
- "merchant_advice_code",
481
- "installment_count",
482
- "session_token",
483
- "tax_amount",
484
- "merchant_tax_id",
485
- "purchase_order_number",
486
- "customer_reference_number",
487
- "amount_includes_tax",
488
- "supplier_order_number",
489
- "duty_amount",
490
- "shipping_amount",
491
- "iso_response_code",
492
- ]
493
- null_default_fields = []
494
-
398
+ optional_fields = set(
399
+ [
400
+ "type",
401
+ "settled_currency",
402
+ "country",
403
+ "external_identifier",
404
+ "payment_method",
405
+ "method",
406
+ "instrument_type",
407
+ "error_code",
408
+ "payment_service",
409
+ "pending_review",
410
+ "buyer",
411
+ "raw_response_code",
412
+ "raw_response_description",
413
+ "shipping_details",
414
+ "checkout_session_id",
415
+ "gift_card_service",
416
+ "airline",
417
+ "auth_response_code",
418
+ "avs_response_code",
419
+ "cvv_response_code",
420
+ "anti_fraud_decision",
421
+ "cart_items",
422
+ "statement_descriptor",
423
+ "scheme_transaction_id",
424
+ "three_d_secure",
425
+ "payment_service_transaction_id",
426
+ "additional_identifiers",
427
+ "metadata",
428
+ "authorized_at",
429
+ "captured_at",
430
+ "voided_at",
431
+ "canceled_at",
432
+ "approval_expires_at",
433
+ "buyer_approval_timedout_at",
434
+ "recipient",
435
+ "merchant_advice_code",
436
+ "installment_count",
437
+ "session_token",
438
+ "tax_amount",
439
+ "merchant_tax_id",
440
+ "purchase_order_number",
441
+ "customer_reference_number",
442
+ "amount_includes_tax",
443
+ "supplier_order_number",
444
+ "duty_amount",
445
+ "shipping_amount",
446
+ "iso_response_code",
447
+ ]
448
+ )
449
+ nullable_fields = set(
450
+ [
451
+ "settled_currency",
452
+ "country",
453
+ "external_identifier",
454
+ "payment_method",
455
+ "method",
456
+ "instrument_type",
457
+ "error_code",
458
+ "payment_service",
459
+ "buyer",
460
+ "raw_response_code",
461
+ "raw_response_description",
462
+ "shipping_details",
463
+ "checkout_session_id",
464
+ "gift_card_service",
465
+ "airline",
466
+ "auth_response_code",
467
+ "avs_response_code",
468
+ "cvv_response_code",
469
+ "anti_fraud_decision",
470
+ "cart_items",
471
+ "statement_descriptor",
472
+ "scheme_transaction_id",
473
+ "three_d_secure",
474
+ "payment_service_transaction_id",
475
+ "metadata",
476
+ "authorized_at",
477
+ "captured_at",
478
+ "voided_at",
479
+ "canceled_at",
480
+ "approval_expires_at",
481
+ "buyer_approval_timedout_at",
482
+ "recipient",
483
+ "merchant_advice_code",
484
+ "installment_count",
485
+ "session_token",
486
+ "tax_amount",
487
+ "merchant_tax_id",
488
+ "purchase_order_number",
489
+ "customer_reference_number",
490
+ "amount_includes_tax",
491
+ "supplier_order_number",
492
+ "duty_amount",
493
+ "shipping_amount",
494
+ "iso_response_code",
495
+ ]
496
+ )
495
497
  serialized = handler(self)
496
-
497
498
  m = {}
498
499
 
499
500
  for n, f in type(self).model_fields.items():
500
501
  k = f.alias or n
501
502
  val = serialized.get(k)
502
- serialized.pop(k, None)
503
-
504
- optional_nullable = k in optional_fields and k in nullable_fields
505
- is_set = (
506
- self.__pydantic_fields_set__.intersection({n})
507
- or k in null_default_fields
508
- ) # pylint: disable=no-member
509
-
510
- if val is not None and val != UNSET_SENTINEL:
511
- m[k] = val
512
- elif val != UNSET_SENTINEL and (
513
- not k in optional_fields or (optional_nullable and is_set)
514
- ):
515
- m[k] = val
503
+ is_nullable_and_explicitly_set = (
504
+ k in nullable_fields
505
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
506
+ )
507
+
508
+ if val != UNSET_SENTINEL:
509
+ if (
510
+ val is not None
511
+ or k not in optional_fields
512
+ or is_nullable_and_explicitly_set
513
+ ):
514
+ m[k] = val
516
515
 
517
516
  return m
@@ -4,9 +4,10 @@ from __future__ import annotations
4
4
  from .flow import Flow
5
5
  from .flowaction import FlowAction
6
6
  from datetime import datetime
7
- from gr4vy.types import BaseModel
7
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
8
8
  from gr4vy.utils import validate_const
9
9
  import pydantic
10
+ from pydantic import model_serializer
10
11
  from pydantic.functional_validators import AfterValidator
11
12
  from typing import Any, Dict, Literal, Optional
12
13
  from typing_extensions import Annotated, TypedDict
@@ -46,3 +47,19 @@ class TransactionAction(BaseModel):
46
47
  pydantic.Field(alias="type"),
47
48
  ] = "action"
48
49
  r"""Always `action`."""
50
+
51
+ @model_serializer(mode="wrap")
52
+ def serialize_model(self, handler):
53
+ optional_fields = set(["type"])
54
+ serialized = handler(self)
55
+ m = {}
56
+
57
+ for n, f in type(self).model_fields.items():
58
+ k = f.alias or n
59
+ val = serialized.get(k)
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if val is not None or k not in optional_fields:
63
+ m[k] = val
64
+
65
+ return m
@@ -50,43 +50,42 @@ class TransactionBuyer(BaseModel):
50
50
 
51
51
  @model_serializer(mode="wrap")
52
52
  def serialize_model(self, handler):
53
- optional_fields = [
54
- "type",
55
- "id",
56
- "display_name",
57
- "external_identifier",
58
- "billing_details",
59
- "account_number",
60
- ]
61
- nullable_fields = [
62
- "id",
63
- "display_name",
64
- "external_identifier",
65
- "billing_details",
66
- "account_number",
67
- ]
68
- null_default_fields = []
69
-
53
+ optional_fields = set(
54
+ [
55
+ "type",
56
+ "id",
57
+ "display_name",
58
+ "external_identifier",
59
+ "billing_details",
60
+ "account_number",
61
+ ]
62
+ )
63
+ nullable_fields = set(
64
+ [
65
+ "id",
66
+ "display_name",
67
+ "external_identifier",
68
+ "billing_details",
69
+ "account_number",
70
+ ]
71
+ )
70
72
  serialized = handler(self)
71
-
72
73
  m = {}
73
74
 
74
75
  for n, f in type(self).model_fields.items():
75
76
  k = f.alias or n
76
77
  val = serialized.get(k)
77
- serialized.pop(k, None)
78
-
79
- optional_nullable = k in optional_fields and k in nullable_fields
80
- is_set = (
81
- self.__pydantic_fields_set__.intersection({n})
82
- or k in null_default_fields
83
- ) # pylint: disable=no-member
84
-
85
- if val is not None and val != UNSET_SENTINEL:
86
- m[k] = val
87
- elif val != UNSET_SENTINEL and (
88
- not k in optional_fields or (optional_nullable and is_set)
89
- ):
90
- m[k] = val
78
+ is_nullable_and_explicitly_set = (
79
+ k in nullable_fields
80
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
81
+ )
82
+
83
+ if val != UNSET_SENTINEL:
84
+ if (
85
+ val is not None
86
+ or k not in optional_fields
87
+ or is_nullable_and_explicitly_set
88
+ ):
89
+ m[k] = val
91
90
 
92
91
  return m
@@ -52,30 +52,25 @@ class TransactionCancel(BaseModel):
52
52
 
53
53
  @model_serializer(mode="wrap")
54
54
  def serialize_model(self, handler):
55
- optional_fields = ["type"]
56
- nullable_fields = ["code", "raw_response_code", "raw_response_description"]
57
- null_default_fields = []
58
-
55
+ optional_fields = set(["type"])
56
+ nullable_fields = set(["code", "raw_response_code", "raw_response_description"])
59
57
  serialized = handler(self)
60
-
61
58
  m = {}
62
59
 
63
60
  for n, f in type(self).model_fields.items():
64
61
  k = f.alias or n
65
62
  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
63
+ is_nullable_and_explicitly_set = (
64
+ k in nullable_fields
65
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
66
+ )
67
+
68
+ if val != UNSET_SENTINEL:
69
+ if (
70
+ val is not None
71
+ or k not in optional_fields
72
+ or is_nullable_and_explicitly_set
73
+ ):
74
+ m[k] = val
80
75
 
81
76
  return m
@@ -52,30 +52,25 @@ class TransactionCapture(BaseModel):
52
52
 
53
53
  @model_serializer(mode="wrap")
54
54
  def serialize_model(self, handler):
55
- optional_fields = ["type"]
56
- nullable_fields = ["code", "raw_response_code", "raw_response_description"]
57
- null_default_fields = []
58
-
55
+ optional_fields = set(["type"])
56
+ nullable_fields = set(["code", "raw_response_code", "raw_response_description"])
59
57
  serialized = handler(self)
60
-
61
58
  m = {}
62
59
 
63
60
  for n, f in type(self).model_fields.items():
64
61
  k = f.alias or n
65
62
  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
63
+ is_nullable_and_explicitly_set = (
64
+ k in nullable_fields
65
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
66
+ )
67
+
68
+ if val != UNSET_SENTINEL:
69
+ if (
70
+ val is not None
71
+ or k not in optional_fields
72
+ or is_nullable_and_explicitly_set
73
+ ):
74
+ m[k] = val
80
75
 
81
76
  return m
@@ -27,30 +27,25 @@ class TransactionCaptureCreate(BaseModel):
27
27
 
28
28
  @model_serializer(mode="wrap")
29
29
  def serialize_model(self, handler):
30
- optional_fields = ["amount", "airline"]
31
- nullable_fields = ["amount", "airline"]
32
- null_default_fields = []
33
-
30
+ optional_fields = set(["amount", "airline"])
31
+ nullable_fields = set(["amount", "airline"])
34
32
  serialized = handler(self)
35
-
36
33
  m = {}
37
34
 
38
35
  for n, f in type(self).model_fields.items():
39
36
  k = f.alias or n
40
37
  val = serialized.get(k)
41
- serialized.pop(k, None)
42
-
43
- optional_nullable = k in optional_fields and k in nullable_fields
44
- is_set = (
45
- self.__pydantic_fields_set__.intersection({n})
46
- or k in null_default_fields
47
- ) # pylint: disable=no-member
48
-
49
- if val is not None and val != UNSET_SENTINEL:
50
- m[k] = val
51
- elif val != UNSET_SENTINEL and (
52
- not k in optional_fields or (optional_nullable and is_set)
53
- ):
54
- m[k] = val
38
+ is_nullable_and_explicitly_set = (
39
+ k in nullable_fields
40
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
41
+ )
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if (
45
+ val is not None
46
+ or k not in optional_fields
47
+ or is_nullable_and_explicitly_set
48
+ ):
49
+ m[k] = val
55
50
 
56
51
  return m