moov_ruby 0.3.2 → 0.3.3

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 (277) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/models/components/createaccount.rb +2 -2
  3. data/lib/moov/models/components/createdtransfer.rb +7 -2
  4. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  5. data/lib/moov/models/components/createpaymentlink.rb +7 -2
  6. data/lib/moov/models/components/createpaymentlink.rbi +2 -0
  7. data/lib/moov/models/components/createtransfer.rb +7 -2
  8. data/lib/moov/models/components/createtransfer.rbi +2 -0
  9. data/lib/moov/models/components/instantpaymentfees.rb +6 -2
  10. data/lib/moov/models/components/instantpaymentfees.rbi +2 -0
  11. data/lib/moov/models/components/patchaccount.rb +2 -2
  12. data/lib/moov/models/components/paymentdetailserror.rb +6 -2
  13. data/lib/moov/models/components/paymentdetailserror.rbi +2 -0
  14. data/lib/moov/models/components/paymentlink.rb +11 -2
  15. data/lib/moov/models/components/paymentlink.rbi +4 -0
  16. data/lib/moov/models/components/paymentlinklineitem.rb +49 -0
  17. data/lib/moov/models/components/paymentlinklineitem.rbi +21 -0
  18. data/lib/moov/models/components/paymentlinklineitemoption.rb +45 -0
  19. data/lib/moov/models/components/paymentlinklineitemoption.rbi +19 -0
  20. data/lib/moov/models/components/paymentlinklineitemoptionvalidationerror.rb +45 -0
  21. data/lib/moov/models/components/paymentlinklineitemoptionvalidationerror.rbi +19 -0
  22. data/lib/moov/models/components/paymentlinklineitems.rb +34 -0
  23. data/lib/moov/models/components/paymentlinklineitems.rbi +13 -0
  24. data/lib/moov/models/components/paymentlinklineitemsupdate.rb +34 -0
  25. data/lib/moov/models/components/paymentlinklineitemsupdate.rbi +13 -0
  26. data/lib/moov/models/components/paymentlinklineitemsvalidationerror.rb +33 -0
  27. data/lib/moov/models/components/paymentlinklineitemsvalidationerror.rbi +13 -0
  28. data/lib/moov/models/components/paymentlinklineitemvalidationerror.rb +49 -0
  29. data/lib/moov/models/components/paymentlinklineitemvalidationerror.rbi +21 -0
  30. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +6 -2
  31. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +2 -0
  32. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +6 -2
  33. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +2 -0
  34. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +6 -2
  35. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +2 -0
  36. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +6 -2
  37. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +2 -0
  38. data/lib/moov/models/components/paymentlinktype.rb +22 -0
  39. data/lib/moov/models/components/paymentlinktype.rbi +11 -0
  40. data/lib/moov/models/components/payoutdetailserror.rb +6 -2
  41. data/lib/moov/models/components/payoutdetailserror.rbi +2 -0
  42. data/lib/moov/models/components/{termsofservicetokenupdate.rb → termsofservicepayload.rb} +8 -4
  43. data/lib/moov/models/components/termsofservicepayload.rbi +15 -0
  44. data/lib/moov/models/components/termsofservicepayloadupdate.rb +37 -0
  45. data/lib/moov/models/components/termsofservicepayloadupdate.rbi +15 -0
  46. data/lib/moov/models/components/transfer.rb +7 -2
  47. data/lib/moov/models/components/transfer.rbi +2 -0
  48. data/lib/moov/models/components/transferlineitem.rb +49 -0
  49. data/lib/moov/models/components/transferlineitem.rbi +21 -0
  50. data/lib/moov/models/components/transferlineitemoption.rb +45 -0
  51. data/lib/moov/models/components/transferlineitemoption.rbi +19 -0
  52. data/lib/moov/models/components/transferlineitemoptionvalidationerror.rb +45 -0
  53. data/lib/moov/models/components/transferlineitemoptionvalidationerror.rbi +19 -0
  54. data/lib/moov/models/components/transferlineitems.rb +34 -0
  55. data/lib/moov/models/components/transferlineitems.rbi +13 -0
  56. data/lib/moov/models/components/transferlineitemsvalidationerror.rb +33 -0
  57. data/lib/moov/models/components/transferlineitemsvalidationerror.rbi +13 -0
  58. data/lib/moov/models/components/transferlineitemvalidationerror.rb +49 -0
  59. data/lib/moov/models/components/transferlineitemvalidationerror.rbi +21 -0
  60. data/lib/moov/models/components/updatepaymentlink.rb +7 -2
  61. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  62. data/lib/moov/models/components.rb +16 -3
  63. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  64. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  65. data/lib/moov/models/errors/transfer_error.rb +7 -2
  66. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  67. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  68. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  69. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  70. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  71. data/lib/moov/models/operations/acceptdispute_request.rb +2 -1
  72. data/lib/moov/models/operations/assignaccountcountries_request.rb +2 -1
  73. data/lib/moov/models/operations/cancelschedule_request.rb +2 -1
  74. data/lib/moov/models/operations/completebankaccountverification_request.rb +2 -1
  75. data/lib/moov/models/operations/completemicrodeposits_request.rb +2 -1
  76. data/lib/moov/models/operations/createaccesstoken_request.rb +2 -1
  77. data/lib/moov/models/operations/createaccount_request.rb +2 -1
  78. data/lib/moov/models/operations/createapplepaysession_request.rb +2 -1
  79. data/lib/moov/models/operations/createbrand_request.rb +2 -1
  80. data/lib/moov/models/operations/createcancellation_request.rb +2 -1
  81. data/lib/moov/models/operations/createfeeplanagreements_request.rb +2 -1
  82. data/lib/moov/models/operations/createonboardinginvite_request.rb +2 -1
  83. data/lib/moov/models/operations/createpaymentlink_request.rb +2 -1
  84. data/lib/moov/models/operations/createproduct_request.rb +2 -1
  85. data/lib/moov/models/operations/createreceipts_request.rb +2 -1
  86. data/lib/moov/models/operations/createrepresentative_request.rb +2 -1
  87. data/lib/moov/models/operations/createreversal_request.rb +7 -6
  88. data/lib/moov/models/operations/createreversal_request.rbi +2 -2
  89. data/lib/moov/models/operations/createschedule_request.rb +2 -1
  90. data/lib/moov/models/operations/createsweepconfig_request.rb +2 -1
  91. data/lib/moov/models/operations/createterminalapplication_request.rb +2 -1
  92. data/lib/moov/models/operations/createterminalapplicationversion_request.rb +2 -1
  93. data/lib/moov/models/operations/createticket_request.rb +2 -1
  94. data/lib/moov/models/operations/createtransfer_request.rb +8 -7
  95. data/lib/moov/models/operations/createtransfer_request.rbi +2 -2
  96. data/lib/moov/models/operations/createtransferoptions_request.rb +2 -1
  97. data/lib/moov/models/operations/createwallet_request.rb +2 -1
  98. data/lib/moov/models/operations/deletedisputeevidencefile_request.rb +2 -1
  99. data/lib/moov/models/operations/deleteimage_request.rb +2 -1
  100. data/lib/moov/models/operations/deleterepresentative_request.rb +2 -1
  101. data/lib/moov/models/operations/deleteterminalapplication_request.rb +2 -1
  102. data/lib/moov/models/operations/disablebankaccount_request.rb +2 -1
  103. data/lib/moov/models/operations/disablecapability_request.rb +2 -1
  104. data/lib/moov/models/operations/disablecard_request.rb +2 -1
  105. data/lib/moov/models/operations/disablepaymentlink_request.rb +2 -1
  106. data/lib/moov/models/operations/disableproduct_request.rb +2 -1
  107. data/lib/moov/models/operations/disconnectaccount_request.rb +2 -1
  108. data/lib/moov/models/operations/generateendtoendkey_request.rb +2 -1
  109. data/lib/moov/models/operations/getaccount_request.rb +2 -1
  110. data/lib/moov/models/operations/getaccountcountries_request.rb +2 -1
  111. data/lib/moov/models/operations/getaccountterminalapplication_request.rb +2 -1
  112. data/lib/moov/models/operations/getadjustment_request.rb +2 -1
  113. data/lib/moov/models/operations/getapplepaymerchantdomains_request.rb +2 -1
  114. data/lib/moov/models/operations/getavatar_request.rb +2 -1
  115. data/lib/moov/models/operations/getbankaccount_request.rb +2 -1
  116. data/lib/moov/models/operations/getbankaccountverification_request.rb +2 -1
  117. data/lib/moov/models/operations/getbrand_request.rb +2 -1
  118. data/lib/moov/models/operations/getcancellation_request.rb +2 -1
  119. data/lib/moov/models/operations/getcapability_request.rb +2 -1
  120. data/lib/moov/models/operations/getcard_request.rb +2 -1
  121. data/lib/moov/models/operations/getdispute_request.rb +2 -1
  122. data/lib/moov/models/operations/getdisputeevidence_request.rb +2 -1
  123. data/lib/moov/models/operations/getdisputeevidencedata_request.rb +2 -1
  124. data/lib/moov/models/operations/getenrichmentaddress_request.rb +15 -14
  125. data/lib/moov/models/operations/getenrichmentaddress_request.rbi +2 -2
  126. data/lib/moov/models/operations/getenrichmentprofile_request.rb +2 -1
  127. data/lib/moov/models/operations/getfiledetails_request.rb +2 -1
  128. data/lib/moov/models/operations/getfullissuedcard_request.rb +2 -1
  129. data/lib/moov/models/operations/getimagemetadata_request.rb +2 -1
  130. data/lib/moov/models/operations/getissuedcard_request.rb +2 -1
  131. data/lib/moov/models/operations/getissuedcardauthorization_request.rb +2 -1
  132. data/lib/moov/models/operations/getissuedcardtransaction_request.rb +2 -1
  133. data/lib/moov/models/operations/getmerchantprocessingagreement_request.rb +2 -1
  134. data/lib/moov/models/operations/getonboardinginvite_request.rb +2 -1
  135. data/lib/moov/models/operations/getpaymentlink_request.rb +2 -1
  136. data/lib/moov/models/operations/getpaymentlinkqrcode_request.rb +2 -1
  137. data/lib/moov/models/operations/getpaymentmethod_request.rb +2 -1
  138. data/lib/moov/models/operations/getproduct_request.rb +2 -1
  139. data/lib/moov/models/operations/getrefund_request.rb +2 -1
  140. data/lib/moov/models/operations/getrepresentative_request.rb +2 -1
  141. data/lib/moov/models/operations/getresidual_request.rb +2 -1
  142. data/lib/moov/models/operations/getscheduledoccurrence_request.rb +2 -1
  143. data/lib/moov/models/operations/getschedules_request.rb +2 -1
  144. data/lib/moov/models/operations/getstatement_request.rb +2 -1
  145. data/lib/moov/models/operations/getsweep_request.rb +2 -1
  146. data/lib/moov/models/operations/getsweepconfig_request.rb +2 -1
  147. data/lib/moov/models/operations/getterminalapplication_request.rb +2 -1
  148. data/lib/moov/models/operations/getterminalconfiguration_request.rb +2 -1
  149. data/lib/moov/models/operations/gettermsofservicetoken_request.rb +9 -8
  150. data/lib/moov/models/operations/gettermsofservicetoken_request.rbi +2 -2
  151. data/lib/moov/models/operations/getticket_request.rb +2 -1
  152. data/lib/moov/models/operations/gettransfer_request.rb +2 -1
  153. data/lib/moov/models/operations/getunderwriting_request.rb +2 -1
  154. data/lib/moov/models/operations/getwallet_request.rb +2 -1
  155. data/lib/moov/models/operations/getwallettransaction_request.rb +2 -1
  156. data/lib/moov/models/operations/initiatebankaccountverification_request.rb +9 -8
  157. data/lib/moov/models/operations/initiatebankaccountverification_request.rbi +2 -2
  158. data/lib/moov/models/operations/initiatemicrodeposits_request.rb +2 -1
  159. data/lib/moov/models/operations/initiaterefund_request.rb +10 -9
  160. data/lib/moov/models/operations/initiaterefund_request.rbi +2 -2
  161. data/lib/moov/models/operations/linkaccountterminalapplication_request.rb +2 -1
  162. data/lib/moov/models/operations/linkapplepaytoken_request.rb +2 -1
  163. data/lib/moov/models/operations/linkbankaccount_request.rb +10 -9
  164. data/lib/moov/models/operations/linkbankaccount_request.rbi +2 -2
  165. data/lib/moov/models/operations/linkcard_request.rb +10 -9
  166. data/lib/moov/models/operations/linkcard_request.rbi +2 -2
  167. data/lib/moov/models/operations/listaccounts_request.rb +15 -14
  168. data/lib/moov/models/operations/listaccounts_request.rbi +2 -2
  169. data/lib/moov/models/operations/listaccountterminalapplications_request.rb +2 -1
  170. data/lib/moov/models/operations/listadjustments_request.rb +7 -6
  171. data/lib/moov/models/operations/listadjustments_request.rbi +2 -2
  172. data/lib/moov/models/operations/listbankaccounts_request.rb +2 -1
  173. data/lib/moov/models/operations/listcapabilities_request.rb +2 -1
  174. data/lib/moov/models/operations/listcards_request.rb +2 -1
  175. data/lib/moov/models/operations/listdisputeevidence_request.rb +2 -1
  176. data/lib/moov/models/operations/listdisputes_request.rb +15 -14
  177. data/lib/moov/models/operations/listdisputes_request.rbi +2 -2
  178. data/lib/moov/models/operations/listfeeplanagreements_request.rb +13 -12
  179. data/lib/moov/models/operations/listfeeplanagreements_request.rbi +2 -2
  180. data/lib/moov/models/operations/listfeeplans_request.rb +7 -6
  181. data/lib/moov/models/operations/listfeeplans_request.rbi +2 -2
  182. data/lib/moov/models/operations/listfeesfetch_request.rb +7 -6
  183. data/lib/moov/models/operations/listfeesfetch_request.rbi +2 -2
  184. data/lib/moov/models/operations/listfiles_request.rb +2 -1
  185. data/lib/moov/models/operations/listimagemetadata_request.rb +9 -8
  186. data/lib/moov/models/operations/listimagemetadata_request.rbi +2 -2
  187. data/lib/moov/models/operations/listindustries_request.rb +2 -1
  188. data/lib/moov/models/operations/listinstitutions_request.rb +13 -12
  189. data/lib/moov/models/operations/listinstitutions_request.rbi +2 -2
  190. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +9 -8
  191. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rbi +2 -2
  192. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +15 -14
  193. data/lib/moov/models/operations/listissuedcardauthorizations_request.rbi +2 -2
  194. data/lib/moov/models/operations/listissuedcards_request.rb +11 -10
  195. data/lib/moov/models/operations/listissuedcards_request.rbi +2 -2
  196. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +15 -14
  197. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -2
  198. data/lib/moov/models/operations/listonboardinginvites_request.rb +2 -1
  199. data/lib/moov/models/operations/listpartnerpricing_request.rb +7 -6
  200. data/lib/moov/models/operations/listpartnerpricing_request.rbi +2 -2
  201. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +13 -12
  202. data/lib/moov/models/operations/listpartnerpricingagreements_request.rbi +2 -2
  203. data/lib/moov/models/operations/listpaymentlinks_request.rb +19 -2
  204. data/lib/moov/models/operations/listpaymentlinks_request.rbi +8 -0
  205. data/lib/moov/models/operations/listpaymentmethods_request.rb +12 -11
  206. data/lib/moov/models/operations/listpaymentmethods_request.rbi +2 -2
  207. data/lib/moov/models/operations/listproducts_request.rb +9 -8
  208. data/lib/moov/models/operations/listproducts_request.rbi +2 -2
  209. data/lib/moov/models/operations/listreceipts_request.rb +2 -1
  210. data/lib/moov/models/operations/listrefunds_request.rb +2 -1
  211. data/lib/moov/models/operations/listrepresentatives_request.rb +2 -1
  212. data/lib/moov/models/operations/listresidualfees_request.rb +13 -12
  213. data/lib/moov/models/operations/listresidualfees_request.rbi +2 -2
  214. data/lib/moov/models/operations/listresiduals_request.rb +13 -12
  215. data/lib/moov/models/operations/listresiduals_request.rbi +2 -2
  216. data/lib/moov/models/operations/listschedules_request.rb +11 -10
  217. data/lib/moov/models/operations/listschedules_request.rbi +2 -2
  218. data/lib/moov/models/operations/liststatements_request.rb +13 -12
  219. data/lib/moov/models/operations/liststatements_request.rbi +2 -2
  220. data/lib/moov/models/operations/listsweepconfigs_request.rb +2 -1
  221. data/lib/moov/models/operations/listsweeps_request.rb +13 -12
  222. data/lib/moov/models/operations/listsweeps_request.rbi +2 -2
  223. data/lib/moov/models/operations/listterminalapplications_request.rb +2 -1
  224. data/lib/moov/models/operations/listticketmessages_request.rb +2 -1
  225. data/lib/moov/models/operations/listtickets_request.rb +13 -12
  226. data/lib/moov/models/operations/listtickets_request.rbi +2 -2
  227. data/lib/moov/models/operations/listtransfers_request.rb +15 -14
  228. data/lib/moov/models/operations/listtransfers_request.rbi +2 -2
  229. data/lib/moov/models/operations/listwallets_request.rb +13 -12
  230. data/lib/moov/models/operations/listwallets_request.rbi +2 -2
  231. data/lib/moov/models/operations/listwallettransactions_request.rb +15 -14
  232. data/lib/moov/models/operations/listwallettransactions_request.rbi +2 -2
  233. data/lib/moov/models/operations/ping_request.rb +2 -1
  234. data/lib/moov/models/operations/registerapplepaymerchantdomains_request.rb +2 -1
  235. data/lib/moov/models/operations/requestcapabilities_request.rb +2 -1
  236. data/lib/moov/models/operations/requestcard_request.rb +2 -1
  237. data/lib/moov/models/operations/retrievefees_request.rb +15 -14
  238. data/lib/moov/models/operations/retrievefees_request.rbi +2 -2
  239. data/lib/moov/models/operations/revokeaccesstoken_request.rb +2 -1
  240. data/lib/moov/models/operations/revokeonboardinginvite_request.rb +2 -1
  241. data/lib/moov/models/operations/saveunderwriting_request.rb +2 -1
  242. data/lib/moov/models/operations/searchinstitutions_request.rb +11 -10
  243. data/lib/moov/models/operations/searchinstitutions_request.rbi +2 -2
  244. data/lib/moov/models/operations/submitdisputeevidence_request.rb +2 -1
  245. data/lib/moov/models/operations/testendtoendtoken_request.rb +2 -1
  246. data/lib/moov/models/operations/updateaccount_request.rb +2 -1
  247. data/lib/moov/models/operations/updateapplepaymerchantdomains_request.rb +2 -1
  248. data/lib/moov/models/operations/updatebrand_request.rb +2 -1
  249. data/lib/moov/models/operations/updatecard_request.rb +2 -1
  250. data/lib/moov/models/operations/updatedisputeevidence_request.rb +2 -1
  251. data/lib/moov/models/operations/updateimage_request.rb +2 -1
  252. data/lib/moov/models/operations/updateimagemetadata_request.rb +2 -1
  253. data/lib/moov/models/operations/updateissuedcard_request.rb +2 -1
  254. data/lib/moov/models/operations/updatepaymentlink_request.rb +2 -1
  255. data/lib/moov/models/operations/updateproduct_request.rb +2 -1
  256. data/lib/moov/models/operations/updaterepresentative_request.rb +2 -1
  257. data/lib/moov/models/operations/updateschedule_request.rb +2 -1
  258. data/lib/moov/models/operations/updatesweepconfig_request.rb +2 -1
  259. data/lib/moov/models/operations/updateticket_request.rb +2 -1
  260. data/lib/moov/models/operations/updatetransfer_request.rb +2 -1
  261. data/lib/moov/models/operations/updatewallet_request.rb +2 -1
  262. data/lib/moov/models/operations/uploaddisputeevidencefile_request.rb +2 -1
  263. data/lib/moov/models/operations/uploaddisputeevidencetext_request.rb +2 -1
  264. data/lib/moov/models/operations/uploadfile_request.rb +2 -1
  265. data/lib/moov/models/operations/uploadimage_request.rb +2 -1
  266. data/lib/moov/models/operations/upsertbrand_request.rb +2 -1
  267. data/lib/moov/models/operations/upsertunderwriting_request.rb +2 -1
  268. data/lib/moov/payment_links.rb +4 -6
  269. data/lib/moov/sdk_hooks/moov_version.rb +26 -0
  270. data/lib/moov/sdk_hooks/registration.rb +3 -6
  271. data/lib/moov/sdkconfiguration.rb +3 -3
  272. metadata +35 -8
  273. data/lib/moov/models/components/createaccount_termsofservice.rb +0 -28
  274. data/lib/moov/models/components/createaccount_termsofservice.rbi +0 -11
  275. data/lib/moov/models/components/patchaccount_termsofservice.rb +0 -28
  276. data/lib/moov/models/components/patchaccount_termsofservice.rbi +0 -11
  277. data/lib/moov/models/components/termsofservicetokenupdate.rbi +0 -13
@@ -0,0 +1,33 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class PaymentLinkLineItemsValidationError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
+
19
+ sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemValidationError])).void }
20
+ def initialize(items: nil)
21
+ @items = items
22
+ end
23
+
24
+ sig { params(other: T.untyped).returns(T::Boolean) }
25
+ def ==(other)
26
+ return false unless other.is_a? self.class
27
+ return false unless @items == other.items
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkLineItemsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkLineItemsValidationError
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class PaymentLinkLineItemValidationError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
18
+
19
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
20
+
21
+ field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
22
+
23
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+
25
+ field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
26
+
27
+ sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
28
+ def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
29
+ @product_id = product_id
30
+ @name = name
31
+ @base_price = base_price
32
+ @options = options
33
+ @quantity = quantity
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @product_id == other.product_id
40
+ return false unless @name == other.name
41
+ return false unless @base_price == other.base_price
42
+ return false unless @options == other.options
43
+ return false unless @quantity == other.quantity
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkLineItemValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkLineItemValidationError
11
+ def product_id(); end
12
+ def product_id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def base_price(); end
16
+ def base_price=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def quantity(); end
20
+ def quantity=(str_); end
21
+ end
@@ -19,12 +19,15 @@ module Moov
19
19
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
20
20
  # Options for payment links used to collect an ACH payment.
21
21
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
22
+ # Optional free-form metadata for the transfer.
23
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
22
24
 
23
- sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails)).void }
24
- def initialize(allowed_methods:, card_details: nil, ach_details: nil)
25
+ sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
26
+ def initialize(allowed_methods:, card_details: nil, ach_details: nil, metadata: nil)
25
27
  @allowed_methods = allowed_methods
26
28
  @card_details = card_details
27
29
  @ach_details = ach_details
30
+ @metadata = metadata
28
31
  end
29
32
 
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -33,6 +36,7 @@ module Moov
33
36
  return false unless @allowed_methods == other.allowed_methods
34
37
  return false unless @card_details == other.card_details
35
38
  return false unless @ach_details == other.ach_details
39
+ return false unless @metadata == other.metadata
36
40
  true
37
41
  end
38
42
  end
@@ -14,4 +14,6 @@ class Moov::Models::Components::PaymentLinkPaymentDetails
14
14
  def card_details=(str_); end
15
15
  def ach_details(); end
16
16
  def ach_details=(str_); end
17
+ def metadata(); end
18
+ def metadata=(str_); end
17
19
  end
@@ -19,12 +19,15 @@ module Moov
19
19
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
20
20
  # Options for payment links used to collect an ACH payment.
21
21
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
22
+ # Optional free-form metadata for the transfer.
23
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
22
24
 
23
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails)).void }
24
- def initialize(allowed_methods: nil, card_details: nil, ach_details: nil)
25
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
26
+ def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil)
25
27
  @allowed_methods = allowed_methods
26
28
  @card_details = card_details
27
29
  @ach_details = ach_details
30
+ @metadata = metadata
28
31
  end
29
32
 
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -33,6 +36,7 @@ module Moov
33
36
  return false unless @allowed_methods == other.allowed_methods
34
37
  return false unless @card_details == other.card_details
35
38
  return false unless @ach_details == other.ach_details
39
+ return false unless @metadata == other.metadata
36
40
  true
37
41
  end
38
42
  end
@@ -14,4 +14,6 @@ class Moov::Models::Components::PaymentLinkPaymentDetailsUpdate
14
14
  def card_details=(str_); end
15
15
  def ach_details(); end
16
16
  def ach_details=(str_); end
17
+ def metadata(); end
18
+ def metadata=(str_); end
17
19
  end
@@ -20,11 +20,14 @@ module Moov
20
20
  #
21
21
  # This information will be used to authenticate the end user when they follow the payment link.
22
22
  field :recipient, Models::Components::PayoutRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
23
+ # Optional free-form metadata for the transfer.
24
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
23
25
 
24
- sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient).void }
25
- def initialize(allowed_methods:, recipient:)
26
+ sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String])).void }
27
+ def initialize(allowed_methods:, recipient:, metadata: nil)
26
28
  @allowed_methods = allowed_methods
27
29
  @recipient = recipient
30
+ @metadata = metadata
28
31
  end
29
32
 
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -32,6 +35,7 @@ module Moov
32
35
  return false unless other.is_a? self.class
33
36
  return false unless @allowed_methods == other.allowed_methods
34
37
  return false unless @recipient == other.recipient
38
+ return false unless @metadata == other.metadata
35
39
  true
36
40
  end
37
41
  end
@@ -12,4 +12,6 @@ class Moov::Models::Components::PaymentLinkPayoutDetails
12
12
  def allowed_methods=(str_); end
13
13
  def recipient(); end
14
14
  def recipient=(str_); end
15
+ def metadata(); end
16
+ def metadata=(str_); end
15
17
  end
@@ -20,11 +20,14 @@ module Moov
20
20
  #
21
21
  # This information will be used to authenticate the end user when they follow the payment link.
22
22
  field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipient), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
23
+ # Optional free-form metadata for the transfer.
24
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
23
25
 
24
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient)).void }
25
- def initialize(allowed_methods: nil, recipient: nil)
26
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
27
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil)
26
28
  @allowed_methods = allowed_methods
27
29
  @recipient = recipient
30
+ @metadata = metadata
28
31
  end
29
32
 
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -32,6 +35,7 @@ module Moov
32
35
  return false unless other.is_a? self.class
33
36
  return false unless @allowed_methods == other.allowed_methods
34
37
  return false unless @recipient == other.recipient
38
+ return false unless @metadata == other.metadata
35
39
  true
36
40
  end
37
41
  end
@@ -12,4 +12,6 @@ class Moov::Models::Components::PaymentLinkPayoutDetailsUpdate
12
12
  def allowed_methods=(str_); end
13
13
  def recipient(); end
14
14
  def recipient=(str_); end
15
+ def metadata(); end
16
+ def metadata=(str_); end
15
17
  end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class PaymentLinkType < T::Enum
13
+
14
+
15
+ enums do
16
+ PAYMENT = new('payment')
17
+ PAYOUT = new('payout')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkType
11
+ end
@@ -18,10 +18,13 @@ module Moov
18
18
 
19
19
  field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipientError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
20
20
 
21
- sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError)).void }
22
- def initialize(allowed_methods: nil, recipient: nil)
21
+ field :metadata, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
22
+
23
+ sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String)).void }
24
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil)
23
25
  @allowed_methods = allowed_methods
24
26
  @recipient = recipient
27
+ @metadata = metadata
25
28
  end
26
29
 
27
30
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -29,6 +32,7 @@ module Moov
29
32
  return false unless other.is_a? self.class
30
33
  return false unless @allowed_methods == other.allowed_methods
31
34
  return false unless @recipient == other.recipient
35
+ return false unless @metadata == other.metadata
32
36
  true
33
37
  end
34
38
  end
@@ -12,4 +12,6 @@ class Moov::Models::Components::PayoutDetailsError
12
12
  def allowed_methods=(str_); end
13
13
  def recipient(); end
14
14
  def recipient=(str_); end
15
+ def metadata(); end
16
+ def metadata=(str_); end
15
17
  end
@@ -8,23 +8,27 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # An encrypted value used to record acceptance of Moov's Terms of Service.
12
- class TermsOfServiceTokenUpdate
11
+
12
+ class TermsOfServicePayload
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
17
  field :token, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('token') } }
18
+ # Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
19
+ field :manual, Crystalline::Nilable.new(Models::Components::ManualTermsOfService), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('manual') } }
18
20
 
19
- sig { params(token: T.nilable(::String)).void }
20
- def initialize(token: nil)
21
+ sig { params(token: T.nilable(::String), manual: T.nilable(Models::Components::ManualTermsOfService)).void }
22
+ def initialize(token: nil, manual: nil)
21
23
  @token = token
24
+ @manual = manual
22
25
  end
23
26
 
24
27
  sig { params(other: T.untyped).returns(T::Boolean) }
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
27
30
  return false unless @token == other.token
31
+ return false unless @manual == other.manual
28
32
  true
29
33
  end
30
34
  end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TermsOfServicePayload
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TermsOfServicePayload
11
+ def token(); end
12
+ def token=(str_); end
13
+ def manual(); end
14
+ def manual=(str_); end
15
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class TermsOfServicePayloadUpdate
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :token, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('token') } }
18
+ # Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
19
+ field :manual, Crystalline::Nilable.new(Models::Components::ManualTermsOfServiceUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('manual') } }
20
+
21
+ sig { params(token: T.nilable(::String), manual: T.nilable(Models::Components::ManualTermsOfServiceUpdate)).void }
22
+ def initialize(token: nil, manual: nil)
23
+ @token = token
24
+ @manual = manual
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @token == other.token
31
+ return false unless @manual == other.manual
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TermsOfServicePayloadUpdate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TermsOfServicePayloadUpdate
11
+ def token(); end
12
+ def token=(str_); end
13
+ def manual(); end
14
+ def manual=(str_); end
15
+ end
@@ -67,9 +67,12 @@ module Moov
67
67
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
68
68
  # Optional alias from a foreign/external system which can be used to reference this resource.
69
69
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
70
+ # An optional collection of line items for a transfer.
71
+ # When line items are provided, their total plus sales tax must equal the transfer amount.
72
+ field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
70
73
 
71
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String)).void }
72
- def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil)
74
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems)).void }
75
+ def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil)
73
76
  @transfer_id = transfer_id
74
77
  @created_on = created_on
75
78
  @source = source
@@ -97,6 +100,7 @@ module Moov
97
100
  @payment_link_code = payment_link_code
98
101
  @sales_tax_amount = sales_tax_amount
99
102
  @foreign_id = foreign_id
103
+ @line_items = line_items
100
104
  end
101
105
 
102
106
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -129,6 +133,7 @@ module Moov
129
133
  return false unless @payment_link_code == other.payment_link_code
130
134
  return false unless @sales_tax_amount == other.sales_tax_amount
131
135
  return false unless @foreign_id == other.foreign_id
136
+ return false unless @line_items == other.line_items
132
137
  true
133
138
  end
134
139
  end
@@ -62,4 +62,6 @@ class Moov::Models::Components::Transfer
62
62
  def sales_tax_amount=(str_); end
63
63
  def foreign_id(); end
64
64
  def foreign_id=(str_); end
65
+ def line_items(); end
66
+ def line_items=(str_); end
65
67
  end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Represents a single item in a transfer, including optional modifiers and quantity.
12
+ class TransferLineItem
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the item.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The base price of the item before applying option modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # The quantity of this item.
21
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TransferLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional unique identifier associating the line item with a product.
25
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
+
27
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::TransferLineItemOption]), product_id: T.nilable(::String)).void }
28
+ def initialize(name:, base_price:, quantity:, options: nil, product_id: nil)
29
+ @name = name
30
+ @base_price = base_price
31
+ @quantity = quantity
32
+ @options = options
33
+ @product_id = product_id
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @base_price == other.base_price
41
+ return false unless @quantity == other.quantity
42
+ return false unless @options == other.options
43
+ return false unless @product_id == other.product_id
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def product_id(); end
20
+ def product_id=(str_); end
21
+ end
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Represents a modifier or option applied to a line item.
12
+ class TransferLineItemOption
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the option or modifier.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The quantity of this option.
19
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
21
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional group identifier to categorize related options (e.g., 'toppings').
23
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
24
+
25
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String)).void }
26
+ def initialize(name:, quantity:, price_modifier: nil, group: nil)
27
+ @name = name
28
+ @quantity = quantity
29
+ @price_modifier = price_modifier
30
+ @group = group
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @name == other.name
37
+ return false unless @quantity == other.quantity
38
+ return false unless @price_modifier == other.price_modifier
39
+ return false unless @group == other.group
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def group(); end
18
+ def group=(str_); end
19
+ end