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
@@ -67,30 +67,25 @@ class PaymentServiceToken(BaseModel):
67
67
 
68
68
  @model_serializer(mode="wrap")
69
69
  def serialize_model(self, handler):
70
- optional_fields = ["type", "approval_url", "token"]
71
- nullable_fields = ["approval_url", "token"]
72
- null_default_fields = []
73
-
70
+ optional_fields = set(["type", "approval_url", "token"])
71
+ nullable_fields = set(["approval_url", "token"])
74
72
  serialized = handler(self)
75
-
76
73
  m = {}
77
74
 
78
75
  for n, f in type(self).model_fields.items():
79
76
  k = f.alias or n
80
77
  val = serialized.get(k)
81
- serialized.pop(k, None)
82
-
83
- optional_nullable = k in optional_fields and k in nullable_fields
84
- is_set = (
85
- self.__pydantic_fields_set__.intersection({n})
86
- or k in null_default_fields
87
- ) # pylint: disable=no-member
88
-
89
- if val is not None and val != UNSET_SENTINEL:
90
- m[k] = val
91
- elif val != UNSET_SENTINEL and (
92
- not k in optional_fields or (optional_nullable and is_set)
93
- ):
94
- 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
95
90
 
96
91
  return m
@@ -27,30 +27,25 @@ class PaymentServiceTokenCreate(BaseModel):
27
27
 
28
28
  @model_serializer(mode="wrap")
29
29
  def serialize_model(self, handler):
30
- optional_fields = ["security_code"]
31
- nullable_fields = ["security_code"]
32
- null_default_fields = []
33
-
30
+ optional_fields = set(["security_code"])
31
+ nullable_fields = set(["security_code"])
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
@@ -88,57 +88,56 @@ class PaymentServiceUpdate(BaseModel):
88
88
 
89
89
  @model_serializer(mode="wrap")
90
90
  def serialize_model(self, handler):
91
- optional_fields = [
92
- "display_name",
93
- "fields",
94
- "reporting_fields",
95
- "position",
96
- "accepted_currencies",
97
- "accepted_countries",
98
- "active",
99
- "three_d_secure_enabled",
100
- "merchant_profile",
101
- "payment_method_tokenization_enabled",
102
- "network_tokens_enabled",
103
- "open_loop",
104
- "settlement_reporting_enabled",
105
- ]
106
- nullable_fields = [
107
- "display_name",
108
- "fields",
109
- "reporting_fields",
110
- "position",
111
- "accepted_currencies",
112
- "accepted_countries",
113
- "active",
114
- "three_d_secure_enabled",
115
- "merchant_profile",
116
- "payment_method_tokenization_enabled",
117
- "network_tokens_enabled",
118
- "open_loop",
119
- ]
120
- null_default_fields = []
121
-
91
+ optional_fields = set(
92
+ [
93
+ "display_name",
94
+ "fields",
95
+ "reporting_fields",
96
+ "position",
97
+ "accepted_currencies",
98
+ "accepted_countries",
99
+ "active",
100
+ "three_d_secure_enabled",
101
+ "merchant_profile",
102
+ "payment_method_tokenization_enabled",
103
+ "network_tokens_enabled",
104
+ "open_loop",
105
+ "settlement_reporting_enabled",
106
+ ]
107
+ )
108
+ nullable_fields = set(
109
+ [
110
+ "display_name",
111
+ "fields",
112
+ "reporting_fields",
113
+ "position",
114
+ "accepted_currencies",
115
+ "accepted_countries",
116
+ "active",
117
+ "three_d_secure_enabled",
118
+ "merchant_profile",
119
+ "payment_method_tokenization_enabled",
120
+ "network_tokens_enabled",
121
+ "open_loop",
122
+ ]
123
+ )
122
124
  serialized = handler(self)
123
-
124
125
  m = {}
125
126
 
126
127
  for n, f in type(self).model_fields.items():
127
128
  k = f.alias or n
128
129
  val = serialized.get(k)
129
- serialized.pop(k, None)
130
-
131
- optional_nullable = k in optional_fields and k in nullable_fields
132
- is_set = (
133
- self.__pydantic_fields_set__.intersection({n})
134
- or k in null_default_fields
135
- ) # pylint: disable=no-member
136
-
137
- if val is not None and val != UNSET_SENTINEL:
138
- m[k] = val
139
- elif val != UNSET_SENTINEL and (
140
- not k in optional_fields or (optional_nullable and is_set)
141
- ):
142
- m[k] = val
130
+ is_nullable_and_explicitly_set = (
131
+ k in nullable_fields
132
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
133
+ )
134
+
135
+ if val != UNSET_SENTINEL:
136
+ if (
137
+ val is not None
138
+ or k not in optional_fields
139
+ or is_nullable_and_explicitly_set
140
+ ):
141
+ m[k] = val
143
142
 
144
143
  return m
@@ -21,30 +21,25 @@ class PayoutConnectionOptions(BaseModel):
21
21
 
22
22
  @model_serializer(mode="wrap")
23
23
  def serialize_model(self, handler):
24
- optional_fields = ["checkout-card"]
25
- nullable_fields = ["checkout-card"]
26
- null_default_fields = []
27
-
24
+ optional_fields = set(["checkout-card"])
25
+ nullable_fields = set(["checkout-card"])
28
26
  serialized = handler(self)
29
-
30
27
  m = {}
31
28
 
32
29
  for n, f in type(self).model_fields.items():
33
30
  k = f.alias or n
34
31
  val = serialized.get(k)
35
- serialized.pop(k, None)
36
-
37
- optional_nullable = k in optional_fields and k in nullable_fields
38
- is_set = (
39
- self.__pydantic_fields_set__.intersection({n})
40
- or k in null_default_fields
41
- ) # pylint: disable=no-member
42
-
43
- if val is not None and val != UNSET_SENTINEL:
44
- m[k] = val
45
- elif val != UNSET_SENTINEL and (
46
- not k in optional_fields or (optional_nullable and is_set)
47
- ):
48
- m[k] = val
32
+ is_nullable_and_explicitly_set = (
33
+ k in nullable_fields
34
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
35
+ )
36
+
37
+ if val != UNSET_SENTINEL:
38
+ if (
39
+ val is not None
40
+ or k not in optional_fields
41
+ or is_nullable_and_explicitly_set
42
+ ):
43
+ m[k] = val
49
44
 
50
45
  return m
@@ -103,46 +103,45 @@ class PayoutCreate(BaseModel):
103
103
 
104
104
  @model_serializer(mode="wrap")
105
105
  def serialize_model(self, handler):
106
- optional_fields = [
107
- "category",
108
- "external_identifier",
109
- "buyer_id",
110
- "buyer",
111
- "buyer_external_identifier",
112
- "merchant",
113
- "connection_options",
114
- ]
115
- nullable_fields = [
116
- "category",
117
- "external_identifier",
118
- "buyer_id",
119
- "buyer",
120
- "buyer_external_identifier",
121
- "merchant",
122
- "connection_options",
123
- ]
124
- null_default_fields = []
125
-
106
+ optional_fields = set(
107
+ [
108
+ "category",
109
+ "external_identifier",
110
+ "buyer_id",
111
+ "buyer",
112
+ "buyer_external_identifier",
113
+ "merchant",
114
+ "connection_options",
115
+ ]
116
+ )
117
+ nullable_fields = set(
118
+ [
119
+ "category",
120
+ "external_identifier",
121
+ "buyer_id",
122
+ "buyer",
123
+ "buyer_external_identifier",
124
+ "merchant",
125
+ "connection_options",
126
+ ]
127
+ )
126
128
  serialized = handler(self)
127
-
128
129
  m = {}
129
130
 
130
131
  for n, f in type(self).model_fields.items():
131
132
  k = f.alias or n
132
133
  val = serialized.get(k)
133
- serialized.pop(k, None)
134
-
135
- optional_nullable = k in optional_fields and k in nullable_fields
136
- is_set = (
137
- self.__pydantic_fields_set__.intersection({n})
138
- or k in null_default_fields
139
- ) # pylint: disable=no-member
140
-
141
- if val is not None and val != UNSET_SENTINEL:
142
- m[k] = val
143
- elif val != UNSET_SENTINEL and (
144
- not k in optional_fields or (optional_nullable and is_set)
145
- ):
146
- m[k] = val
134
+ is_nullable_and_explicitly_set = (
135
+ k in nullable_fields
136
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
137
+ )
138
+
139
+ if val != UNSET_SENTINEL:
140
+ if (
141
+ val is not None
142
+ or k not in optional_fields
143
+ or is_nullable_and_explicitly_set
144
+ ):
145
+ m[k] = val
147
146
 
148
147
  return m
@@ -48,30 +48,25 @@ class PayoutMerchant(BaseModel):
48
48
 
49
49
  @model_serializer(mode="wrap")
50
50
  def serialize_model(self, handler):
51
- optional_fields = ["address"]
52
- nullable_fields = ["address"]
53
- null_default_fields = []
54
-
51
+ optional_fields = set(["address"])
52
+ nullable_fields = set(["address"])
55
53
  serialized = handler(self)
56
-
57
54
  m = {}
58
55
 
59
56
  for n, f in type(self).model_fields.items():
60
57
  k = f.alias or n
61
58
  val = serialized.get(k)
62
- serialized.pop(k, None)
63
-
64
- optional_nullable = k in optional_fields and k in nullable_fields
65
- is_set = (
66
- self.__pydantic_fields_set__.intersection({n})
67
- or k in null_default_fields
68
- ) # pylint: disable=no-member
69
-
70
- if val is not None and val != UNSET_SENTINEL:
71
- m[k] = val
72
- elif val != UNSET_SENTINEL and (
73
- not k in optional_fields or (optional_nullable and is_set)
74
- ):
75
- m[k] = val
59
+ is_nullable_and_explicitly_set = (
60
+ k in nullable_fields
61
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
62
+ )
63
+
64
+ if val != UNSET_SENTINEL:
65
+ if (
66
+ val is not None
67
+ or k not in optional_fields
68
+ or is_nullable_and_explicitly_set
69
+ ):
70
+ m[k] = val
76
71
 
77
72
  return m
@@ -72,30 +72,25 @@ class PayoutMerchantSummary(BaseModel):
72
72
 
73
73
  @model_serializer(mode="wrap")
74
74
  def serialize_model(self, handler):
75
- optional_fields = ["type", "statement_descriptor", "address"]
76
- nullable_fields = ["statement_descriptor", "address"]
77
- null_default_fields = []
78
-
75
+ optional_fields = set(["type", "statement_descriptor", "address"])
76
+ nullable_fields = set(["statement_descriptor", "address"])
79
77
  serialized = handler(self)
80
-
81
78
  m = {}
82
79
 
83
80
  for n, f in type(self).model_fields.items():
84
81
  k = f.alias or n
85
82
  val = serialized.get(k)
86
- serialized.pop(k, None)
87
-
88
- optional_nullable = k in optional_fields and k in nullable_fields
89
- is_set = (
90
- self.__pydantic_fields_set__.intersection({n})
91
- or k in null_default_fields
92
- ) # pylint: disable=no-member
93
-
94
- if val is not None and val != UNSET_SENTINEL:
95
- m[k] = val
96
- elif val != UNSET_SENTINEL and (
97
- not k in optional_fields or (optional_nullable and is_set)
98
- ):
99
- m[k] = val
83
+ is_nullable_and_explicitly_set = (
84
+ k in nullable_fields
85
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
86
+ )
87
+
88
+ if val != UNSET_SENTINEL:
89
+ if (
90
+ val is not None
91
+ or k not in optional_fields
92
+ or is_nullable_and_explicitly_set
93
+ ):
94
+ m[k] = val
100
95
 
101
96
  return m
@@ -50,30 +50,25 @@ class PayoutPaymentService(BaseModel):
50
50
 
51
51
  @model_serializer(mode="wrap")
52
52
  def serialize_model(self, handler):
53
- optional_fields = ["type", "id", "method", "display_name"]
54
- nullable_fields = ["id", "display_name"]
55
- null_default_fields = []
56
-
53
+ optional_fields = set(["type", "id", "method", "display_name"])
54
+ nullable_fields = set(["id", "display_name"])
57
55
  serialized = handler(self)
58
-
59
56
  m = {}
60
57
 
61
58
  for n, f in type(self).model_fields.items():
62
59
  k = f.alias or n
63
60
  val = serialized.get(k)
64
- serialized.pop(k, None)
65
-
66
- optional_nullable = k in optional_fields and k in nullable_fields
67
- is_set = (
68
- self.__pydantic_fields_set__.intersection({n})
69
- or k in null_default_fields
70
- ) # pylint: disable=no-member
71
-
72
- if val is not None and val != UNSET_SENTINEL:
73
- m[k] = val
74
- elif val != UNSET_SENTINEL and (
75
- not k in optional_fields or (optional_nullable and is_set)
76
- ):
77
- m[k] = val
61
+ is_nullable_and_explicitly_set = (
62
+ k in nullable_fields
63
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
64
+ )
65
+
66
+ if val != UNSET_SENTINEL:
67
+ if (
68
+ val is not None
69
+ or k not in optional_fields
70
+ or is_nullable_and_explicitly_set
71
+ ):
72
+ m[k] = val
78
73
 
79
74
  return m
@@ -34,30 +34,25 @@ class PayoutSummaries(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
@@ -110,47 +110,46 @@ class PayoutSummary(BaseModel):
110
110
 
111
111
  @model_serializer(mode="wrap")
112
112
  def serialize_model(self, handler):
113
- optional_fields = [
114
- "type",
115
- "id",
116
- "buyer",
117
- "category",
118
- "external_identifier",
119
- "merchant",
120
- "merchant_account_id",
121
- "payment_service_payout_id",
122
- ]
123
- nullable_fields = [
124
- "id",
125
- "buyer",
126
- "category",
127
- "external_identifier",
128
- "merchant",
129
- "merchant_account_id",
130
- "payment_service_payout_id",
131
- ]
132
- null_default_fields = []
133
-
113
+ optional_fields = set(
114
+ [
115
+ "type",
116
+ "id",
117
+ "buyer",
118
+ "category",
119
+ "external_identifier",
120
+ "merchant",
121
+ "merchant_account_id",
122
+ "payment_service_payout_id",
123
+ ]
124
+ )
125
+ nullable_fields = set(
126
+ [
127
+ "id",
128
+ "buyer",
129
+ "category",
130
+ "external_identifier",
131
+ "merchant",
132
+ "merchant_account_id",
133
+ "payment_service_payout_id",
134
+ ]
135
+ )
134
136
  serialized = handler(self)
135
-
136
137
  m = {}
137
138
 
138
139
  for n, f in type(self).model_fields.items():
139
140
  k = f.alias or n
140
141
  val = serialized.get(k)
141
- serialized.pop(k, None)
142
-
143
- optional_nullable = k in optional_fields and k in nullable_fields
144
- is_set = (
145
- self.__pydantic_fields_set__.intersection({n})
146
- or k in null_default_fields
147
- ) # pylint: disable=no-member
148
-
149
- if val is not None and val != UNSET_SENTINEL:
150
- m[k] = val
151
- elif val != UNSET_SENTINEL and (
152
- not k in optional_fields or (optional_nullable and is_set)
153
- ):
154
- m[k] = val
142
+ is_nullable_and_explicitly_set = (
143
+ k in nullable_fields
144
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
145
+ )
146
+
147
+ if val != UNSET_SENTINEL:
148
+ if (
149
+ val is not None
150
+ or k not in optional_fields
151
+ or is_nullable_and_explicitly_set
152
+ ):
153
+ m[k] = val
155
154
 
156
155
  return m
@@ -24,30 +24,25 @@ class PaypalOptions(BaseModel):
24
24
 
25
25
  @model_serializer(mode="wrap")
26
26
  def serialize_model(self, handler):
27
- optional_fields = ["additional_data", "shipping"]
28
- nullable_fields = ["additional_data", "shipping"]
29
- null_default_fields = []
30
-
27
+ optional_fields = set(["additional_data", "shipping"])
28
+ nullable_fields = set(["additional_data", "shipping"])
31
29
  serialized = handler(self)
32
-
33
30
  m = {}
34
31
 
35
32
  for n, f in type(self).model_fields.items():
36
33
  k = f.alias or n
37
34
  val = serialized.get(k)
38
- serialized.pop(k, None)
39
-
40
- optional_nullable = k in optional_fields and k in nullable_fields
41
- is_set = (
42
- self.__pydantic_fields_set__.intersection({n})
43
- or k in null_default_fields
44
- ) # pylint: disable=no-member
45
-
46
- if val is not None and val != UNSET_SENTINEL:
47
- m[k] = val
48
- elif val != UNSET_SENTINEL and (
49
- not k in optional_fields or (optional_nullable and is_set)
50
- ):
51
- m[k] = val
35
+ is_nullable_and_explicitly_set = (
36
+ k in nullable_fields
37
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
38
+ )
39
+
40
+ if val != UNSET_SENTINEL:
41
+ if (
42
+ val is not None
43
+ or k not in optional_fields
44
+ or is_nullable_and_explicitly_set
45
+ ):
46
+ m[k] = val
52
47
 
53
48
  return m