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
@@ -71,40 +71,39 @@ class ClickToPayPaymentMethodCreate(BaseModel):
71
71
 
72
72
  @model_serializer(mode="wrap")
73
73
  def serialize_model(self, handler):
74
- optional_fields = [
75
- "buyer_id",
76
- "buyer_external_identifier",
77
- "external_identifier",
78
- "redirect_url",
79
- ]
80
- nullable_fields = [
81
- "buyer_id",
82
- "buyer_external_identifier",
83
- "external_identifier",
84
- "redirect_url",
85
- ]
86
- null_default_fields = []
87
-
74
+ optional_fields = set(
75
+ [
76
+ "buyer_id",
77
+ "buyer_external_identifier",
78
+ "external_identifier",
79
+ "redirect_url",
80
+ ]
81
+ )
82
+ nullable_fields = set(
83
+ [
84
+ "buyer_id",
85
+ "buyer_external_identifier",
86
+ "external_identifier",
87
+ "redirect_url",
88
+ ]
89
+ )
88
90
  serialized = handler(self)
89
-
90
91
  m = {}
91
92
 
92
93
  for n, f in type(self).model_fields.items():
93
94
  k = f.alias or n
94
95
  val = serialized.get(k)
95
- serialized.pop(k, None)
96
-
97
- optional_nullable = k in optional_fields and k in nullable_fields
98
- is_set = (
99
- self.__pydantic_fields_set__.intersection({n})
100
- or k in null_default_fields
101
- ) # pylint: disable=no-member
102
-
103
- if val is not None and val != UNSET_SENTINEL:
104
- m[k] = val
105
- elif val != UNSET_SENTINEL and (
106
- not k in optional_fields or (optional_nullable and is_set)
107
- ):
108
- m[k] = val
96
+ is_nullable_and_explicitly_set = (
97
+ k in nullable_fields
98
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
99
+ )
100
+
101
+ if val != UNSET_SENTINEL:
102
+ if (
103
+ val is not None
104
+ or k not in optional_fields
105
+ or is_nullable_and_explicitly_set
106
+ ):
107
+ m[k] = val
109
108
 
110
109
  return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .digitalwalletcreate import DigitalWalletCreate, DigitalWalletCreateTypedDict
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 ConfigureDigitalWalletGlobals(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 ConfigureDigitalWalletRequestTypedDict(TypedDict):
27
44
  digital_wallet_create: DigitalWalletCreateTypedDict
@@ -41,3 +58,19 @@ class ConfigureDigitalWalletRequest(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
@@ -5,9 +5,10 @@ from .accountupdaterjobcreate import (
5
5
  AccountUpdaterJobCreate,
6
6
  AccountUpdaterJobCreateTypedDict,
7
7
  )
8
- from gr4vy.types import BaseModel
8
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
9
9
  from gr4vy.utils import FieldMetadata, HeaderMetadata, RequestMetadata
10
10
  import pydantic
11
+ from pydantic import model_serializer
11
12
  from typing import Optional
12
13
  from typing_extensions import Annotated, NotRequired, TypedDict
13
14
 
@@ -25,6 +26,22 @@ class CreateAccountUpdaterJobGlobals(BaseModel):
25
26
  ] = None
26
27
  r"""The ID of the merchant account to use for this request."""
27
28
 
29
+ @model_serializer(mode="wrap")
30
+ def serialize_model(self, handler):
31
+ optional_fields = set(["merchant_account_id"])
32
+ serialized = handler(self)
33
+ m = {}
34
+
35
+ for n, f in type(self).model_fields.items():
36
+ k = f.alias or n
37
+ val = serialized.get(k)
38
+
39
+ if val != UNSET_SENTINEL:
40
+ if val is not None or k not in optional_fields:
41
+ m[k] = val
42
+
43
+ return m
44
+
28
45
 
29
46
  class CreateAccountUpdaterJobRequestTypedDict(TypedDict):
30
47
  account_updater_job_create: AccountUpdaterJobCreateTypedDict
@@ -44,3 +61,19 @@ class CreateAccountUpdaterJobRequest(BaseModel):
44
61
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
45
62
  ] = None
46
63
  r"""The ID of the merchant account to use for this request."""
64
+
65
+ @model_serializer(mode="wrap")
66
+ def serialize_model(self, handler):
67
+ optional_fields = set(["merchant_account_id"])
68
+ serialized = handler(self)
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k)
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if val is not None or k not in optional_fields:
77
+ m[k] = val
78
+
79
+ return m
@@ -5,9 +5,10 @@ from .applepaysessionrequest import (
5
5
  ApplePaySessionRequest,
6
6
  ApplePaySessionRequestTypedDict,
7
7
  )
8
- from gr4vy.types import BaseModel
8
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
9
9
  from gr4vy.utils import FieldMetadata, HeaderMetadata, RequestMetadata
10
10
  import pydantic
11
+ from pydantic import model_serializer
11
12
  from typing import Optional
12
13
  from typing_extensions import Annotated, NotRequired, TypedDict
13
14
 
@@ -25,6 +26,22 @@ class CreateApplePayDigitalWalletSessionGlobals(BaseModel):
25
26
  ] = None
26
27
  r"""The ID of the merchant account to use for this request."""
27
28
 
29
+ @model_serializer(mode="wrap")
30
+ def serialize_model(self, handler):
31
+ optional_fields = set(["merchant_account_id"])
32
+ serialized = handler(self)
33
+ m = {}
34
+
35
+ for n, f in type(self).model_fields.items():
36
+ k = f.alias or n
37
+ val = serialized.get(k)
38
+
39
+ if val != UNSET_SENTINEL:
40
+ if val is not None or k not in optional_fields:
41
+ m[k] = val
42
+
43
+ return m
44
+
28
45
 
29
46
  class CreateApplePayDigitalWalletSessionRequestTypedDict(TypedDict):
30
47
  apple_pay_session_request: ApplePaySessionRequestTypedDict
@@ -44,3 +61,19 @@ class CreateApplePayDigitalWalletSessionRequest(BaseModel):
44
61
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
45
62
  ] = None
46
63
  r"""The ID of the merchant account to use for this request."""
64
+
65
+ @model_serializer(mode="wrap")
66
+ def serialize_model(self, handler):
67
+ optional_fields = set(["merchant_account_id"])
68
+ serialized = handler(self)
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k)
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if val is not None or k not in optional_fields:
77
+ m[k] = val
78
+
79
+ return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .checkoutsessioncreate import CheckoutSessionCreate, CheckoutSessionCreateTypedDict
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 CreateCheckoutSessionGlobals(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 CreateCheckoutSessionRequestTypedDict(TypedDict):
27
44
  merchant_account_id: NotRequired[str]
@@ -41,3 +58,19 @@ class CreateCheckoutSessionRequest(BaseModel):
41
58
  Optional[CheckoutSessionCreate],
42
59
  FieldMetadata(request=RequestMetadata(media_type="application/json")),
43
60
  ] = None
61
+
62
+ @model_serializer(mode="wrap")
63
+ def serialize_model(self, handler):
64
+ optional_fields = set(["merchant_account_id", "CheckoutSessionCreate"])
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
@@ -31,6 +31,22 @@ class CreateFullTransactionRefundGlobals(BaseModel):
31
31
  ] = None
32
32
  r"""The ID of the merchant account to use for this request."""
33
33
 
34
+ @model_serializer(mode="wrap")
35
+ def serialize_model(self, handler):
36
+ optional_fields = set(["merchant_account_id"])
37
+ serialized = handler(self)
38
+ m = {}
39
+
40
+ for n, f in type(self).model_fields.items():
41
+ k = f.alias or n
42
+ val = serialized.get(k)
43
+
44
+ if val != UNSET_SENTINEL:
45
+ if val is not None or k not in optional_fields:
46
+ m[k] = val
47
+
48
+ return m
49
+
34
50
 
35
51
  class CreateFullTransactionRefundRequestTypedDict(TypedDict):
36
52
  transaction_id: str
@@ -62,30 +78,25 @@ class CreateFullTransactionRefundRequest(BaseModel):
62
78
 
63
79
  @model_serializer(mode="wrap")
64
80
  def serialize_model(self, handler):
65
- optional_fields = ["merchant_account_id", "TransactionRefundAllCreate"]
66
- nullable_fields = ["TransactionRefundAllCreate"]
67
- null_default_fields = []
68
-
81
+ optional_fields = set(["merchant_account_id", "TransactionRefundAllCreate"])
82
+ nullable_fields = set(["TransactionRefundAllCreate"])
69
83
  serialized = handler(self)
70
-
71
84
  m = {}
72
85
 
73
86
  for n, f in type(self).model_fields.items():
74
87
  k = f.alias or n
75
88
  val = serialized.get(k)
76
- serialized.pop(k, None)
77
-
78
- optional_nullable = k in optional_fields and k in nullable_fields
79
- is_set = (
80
- self.__pydantic_fields_set__.intersection({n})
81
- or k in null_default_fields
82
- ) # pylint: disable=no-member
83
-
84
- if val is not None and val != UNSET_SENTINEL:
85
- m[k] = val
86
- elif val != UNSET_SENTINEL and (
87
- not k in optional_fields or (optional_nullable and is_set)
88
- ):
89
- m[k] = val
89
+ is_nullable_and_explicitly_set = (
90
+ k in nullable_fields
91
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
92
+ )
93
+
94
+ if val != UNSET_SENTINEL:
95
+ if (
96
+ val is not None
97
+ or k not in optional_fields
98
+ or is_nullable_and_explicitly_set
99
+ ):
100
+ m[k] = val
90
101
 
91
102
  return m
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .giftcardcreate import GiftCardCreate, GiftCardCreateTypedDict
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 CreateGiftCardGlobals(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 CreateGiftCardRequestTypedDict(TypedDict):
27
44
  gift_card_create: GiftCardCreateTypedDict
@@ -41,3 +58,19 @@ class CreateGiftCardRequest(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
@@ -5,9 +5,10 @@ from .googlepaysessionrequest import (
5
5
  GooglePaySessionRequest,
6
6
  GooglePaySessionRequestTypedDict,
7
7
  )
8
- from gr4vy.types import BaseModel
8
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
9
9
  from gr4vy.utils import FieldMetadata, HeaderMetadata, RequestMetadata
10
10
  import pydantic
11
+ from pydantic import model_serializer
11
12
  from typing import Optional
12
13
  from typing_extensions import Annotated, NotRequired, TypedDict
13
14
 
@@ -25,6 +26,22 @@ class CreateGooglePayDigitalWalletSessionGlobals(BaseModel):
25
26
  ] = None
26
27
  r"""The ID of the merchant account to use for this request."""
27
28
 
29
+ @model_serializer(mode="wrap")
30
+ def serialize_model(self, handler):
31
+ optional_fields = set(["merchant_account_id"])
32
+ serialized = handler(self)
33
+ m = {}
34
+
35
+ for n, f in type(self).model_fields.items():
36
+ k = f.alias or n
37
+ val = serialized.get(k)
38
+
39
+ if val != UNSET_SENTINEL:
40
+ if val is not None or k not in optional_fields:
41
+ m[k] = val
42
+
43
+ return m
44
+
28
45
 
29
46
  class CreateGooglePayDigitalWalletSessionRequestTypedDict(TypedDict):
30
47
  google_pay_session_request: GooglePaySessionRequestTypedDict
@@ -44,3 +61,19 @@ class CreateGooglePayDigitalWalletSessionRequest(BaseModel):
44
61
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
45
62
  ] = None
46
63
  r"""The ID of the merchant account to use for this request."""
64
+
65
+ @model_serializer(mode="wrap")
66
+ def serialize_model(self, handler):
67
+ optional_fields = set(["merchant_account_id"])
68
+ serialized = handler(self)
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k)
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if val is not None or k not in optional_fields:
77
+ m[k] = val
78
+
79
+ return m
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .cryptogramcreate import CryptogramCreate, CryptogramCreateTypedDict
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 CreatePaymentMethodNetworkTokenCryptogramGlobals(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 CreatePaymentMethodNetworkTokenCryptogramRequestTypedDict(TypedDict):
32
49
  payment_method_id: str
@@ -60,3 +77,19 @@ class CreatePaymentMethodNetworkTokenCryptogramRequest(BaseModel):
60
77
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
61
78
  ] = None
62
79
  r"""The ID of the merchant account to use for this request."""
80
+
81
+ @model_serializer(mode="wrap")
82
+ def serialize_model(self, handler):
83
+ optional_fields = set(["merchant_account_id"])
84
+ serialized = handler(self)
85
+ m = {}
86
+
87
+ for n, f in type(self).model_fields.items():
88
+ k = f.alias or n
89
+ val = serialized.get(k)
90
+
91
+ if val != UNSET_SENTINEL:
92
+ if val is not None or k not in optional_fields:
93
+ m[k] = val
94
+
95
+ return m
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .networktokencreate import NetworkTokenCreate, NetworkTokenCreateTypedDict
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 CreatePaymentMethodNetworkTokenGlobals(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 CreatePaymentMethodNetworkTokenRequestTypedDict(TypedDict):
32
49
  payment_method_id: str
@@ -53,3 +70,19 @@ class CreatePaymentMethodNetworkTokenRequest(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
@@ -5,7 +5,7 @@ from .paymentservicetokencreate import (
5
5
  PaymentServiceTokenCreate,
6
6
  PaymentServiceTokenCreateTypedDict,
7
7
  )
8
- from gr4vy.types import BaseModel
8
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
9
9
  from gr4vy.utils import (
10
10
  FieldMetadata,
11
11
  HeaderMetadata,
@@ -13,6 +13,7 @@ from gr4vy.utils import (
13
13
  RequestMetadata,
14
14
  )
15
15
  import pydantic
16
+ from pydantic import model_serializer
16
17
  from typing import Optional
17
18
  from typing_extensions import Annotated, NotRequired, TypedDict
18
19
 
@@ -30,6 +31,22 @@ class CreatePaymentMethodPaymentServiceTokenGlobals(BaseModel):
30
31
  ] = None
31
32
  r"""The ID of the merchant account to use for this request."""
32
33
 
34
+ @model_serializer(mode="wrap")
35
+ def serialize_model(self, handler):
36
+ optional_fields = set(["merchant_account_id"])
37
+ serialized = handler(self)
38
+ m = {}
39
+
40
+ for n, f in type(self).model_fields.items():
41
+ k = f.alias or n
42
+ val = serialized.get(k)
43
+
44
+ if val != UNSET_SENTINEL:
45
+ if val is not None or k not in optional_fields:
46
+ m[k] = val
47
+
48
+ return m
49
+
33
50
 
34
51
  class CreatePaymentMethodPaymentServiceTokenRequestTypedDict(TypedDict):
35
52
  payment_method_id: str
@@ -56,3 +73,19 @@ class CreatePaymentMethodPaymentServiceTokenRequest(BaseModel):
56
73
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
57
74
  ] = None
58
75
  r"""The ID of the merchant account to use for this request."""
76
+
77
+ @model_serializer(mode="wrap")
78
+ def serialize_model(self, handler):
79
+ optional_fields = set(["merchant_account_id"])
80
+ serialized = handler(self)
81
+ m = {}
82
+
83
+ for n, f in type(self).model_fields.items():
84
+ k = f.alias or n
85
+ val = serialized.get(k)
86
+
87
+ if val != UNSET_SENTINEL:
88
+ if val is not None or k not in optional_fields:
89
+ m[k] = val
90
+
91
+ return m