moov_ruby 26.4.8 → 26.7.0.pre.dev.0

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/account_terminal_applications.rb +16 -16
  3. data/lib/moov/accounts.rb +54 -52
  4. data/lib/moov/adjustments.rb +8 -8
  5. data/lib/moov/apple_pay.rb +20 -20
  6. data/lib/moov/authentication.rb +8 -8
  7. data/lib/moov/avatars.rb +4 -4
  8. data/lib/moov/bank_accounts.rb +36 -36
  9. data/lib/moov/branding.rb +12 -12
  10. data/lib/moov/capabilities.rb +20 -20
  11. data/lib/moov/card_issuing.rb +25 -25
  12. data/lib/moov/cards.rb +178 -20
  13. data/lib/moov/disputes.rb +44 -44
  14. data/lib/moov/end_to_end_encryption.rb +8 -8
  15. data/lib/moov/enriched_address.rb +4 -4
  16. data/lib/moov/enriched_profile.rb +4 -4
  17. data/lib/moov/fee_plans.rb +40 -40
  18. data/lib/moov/files.rb +12 -12
  19. data/lib/moov/google_pay.rb +4 -4
  20. data/lib/moov/images.rb +28 -28
  21. data/lib/moov/industries.rb +4 -4
  22. data/lib/moov/institutions.rb +8 -8
  23. data/lib/moov/invoices.rb +28 -28
  24. data/lib/moov/issuing_transactions.rb +20 -20
  25. data/lib/moov/models/components/addcapabilities.rb +1 -5
  26. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  27. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  28. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  29. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  30. data/lib/moov/models/components/authorizeduser.rb +36 -0
  31. data/lib/moov/models/components/authorizeduser.rbi +15 -0
  32. data/lib/moov/models/components/capability.rb +1 -7
  33. data/lib/moov/models/components/capabilityid.rb +1 -7
  34. data/lib/moov/models/components/cardmetadata.rb +79 -0
  35. data/lib/moov/models/components/cardmetadata.rbi +35 -0
  36. data/lib/moov/models/components/cardmetadatarequest.rb +38 -0
  37. data/lib/moov/models/components/cardmetadatarequest.rbi +15 -0
  38. data/lib/moov/models/components/createaccount.rb +1 -5
  39. data/lib/moov/models/components/createauthorizeduser.rb +40 -0
  40. data/lib/moov/models/components/createauthorizeduser.rbi +17 -0
  41. data/lib/moov/models/components/createauthorizedusererror.rb +40 -0
  42. data/lib/moov/models/components/createauthorizedusererror.rbi +17 -0
  43. data/lib/moov/models/components/createauthorizeduserupdate.rb +40 -0
  44. data/lib/moov/models/components/createauthorizeduserupdate.rbi +17 -0
  45. data/lib/moov/models/components/createdtransfer.rb +2 -6
  46. data/lib/moov/models/components/createdtransfer.rbi +0 -2
  47. data/lib/moov/models/components/createpaymentlink.rb +15 -15
  48. data/lib/moov/models/components/createpaymentlink.rbi +4 -4
  49. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  50. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  51. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
  52. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  53. data/lib/moov/models/components/createtransfer.rb +2 -6
  54. data/lib/moov/models/components/createtransfer.rbi +0 -2
  55. data/lib/moov/models/components/createtransferamountdetails.rb +6 -2
  56. data/lib/moov/models/components/createtransferamountdetails.rbi +2 -0
  57. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +6 -2
  58. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +2 -0
  59. data/lib/moov/models/components/fullissuedcard.rb +10 -22
  60. data/lib/moov/models/components/fullissuedcard.rbi +4 -10
  61. data/lib/moov/models/components/invoice.rb +1 -1
  62. data/lib/moov/models/components/issuedcard.rb +10 -22
  63. data/lib/moov/models/components/issuedcard.rbi +4 -10
  64. data/lib/moov/models/components/onboardinginvite.rb +1 -1
  65. data/lib/moov/models/components/onboardinginviterequest.rb +1 -1
  66. data/lib/moov/models/components/paymentlink.rb +15 -15
  67. data/lib/moov/models/components/paymentlink.rbi +4 -4
  68. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  69. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  70. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  71. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  72. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  73. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  74. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  75. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  76. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  77. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  78. data/lib/moov/models/components/requestcard.rb +17 -17
  79. data/lib/moov/models/components/requestcard.rbi +8 -8
  80. data/lib/moov/models/components/transfer.rb +2 -6
  81. data/lib/moov/models/components/transfer.rbi +0 -2
  82. data/lib/moov/models/components/transferamountdetails.rb +6 -2
  83. data/lib/moov/models/components/transferamountdetails.rbi +2 -0
  84. data/lib/moov/models/components/transferconfig.rb +2 -6
  85. data/lib/moov/models/components/transferconfig.rbi +0 -2
  86. data/lib/moov/models/components/transferdestination.rb +2 -8
  87. data/lib/moov/models/components/transferdestination.rbi +0 -2
  88. data/lib/moov/models/components/updateinvoice.rb +6 -6
  89. data/lib/moov/models/components/updateissuedcard.rb +9 -13
  90. data/lib/moov/models/components/updateissuedcard.rbi +4 -6
  91. data/lib/moov/models/components/updatepaymentlink.rb +6 -6
  92. data/lib/moov/models/components/updatepaymentlink.rbi +2 -2
  93. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  94. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  95. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  96. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  97. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +2 -6
  98. data/lib/moov/models/components/webhookdatabankaccountdeleted.rbi +0 -2
  99. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -7
  100. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +1 -7
  101. data/lib/moov/models/components/webhookdatasweepcreated.rb +2 -6
  102. data/lib/moov/models/components/webhookdatasweepcreated.rbi +0 -2
  103. data/lib/moov/models/components/webhookdatasweepupdated.rb +2 -6
  104. data/lib/moov/models/components/webhookdatasweepupdated.rbi +0 -2
  105. data/lib/moov/models/components/webhookevent.rb +2 -2
  106. data/lib/moov/models/components/webhookeventtype.rb +0 -1
  107. data/lib/moov/models/components.rb +15 -6
  108. data/lib/moov/models/errors/cardmetadatarequesterror.rb +44 -0
  109. data/lib/moov/models/errors/cardmetadatarequesterror.rbi +19 -0
  110. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -6
  111. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -2
  112. data/lib/moov/models/errors/requestcarderror.rb +14 -14
  113. data/lib/moov/models/errors/requestcarderror.rbi +8 -8
  114. data/lib/moov/models/errors/transfer_error.rb +2 -6
  115. data/lib/moov/models/errors/transfer_error.rbi +0 -2
  116. data/lib/moov/models/errors/transfervalidationerror.rb +2 -6
  117. data/lib/moov/models/errors/transfervalidationerror.rbi +0 -2
  118. data/lib/moov/models/errors/updateissuedcarderror.rb +8 -12
  119. data/lib/moov/models/errors/updateissuedcarderror.rbi +4 -6
  120. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -6
  121. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -2
  122. data/lib/moov/models/errors.rb +1 -0
  123. data/lib/moov/models/operations/disablecapability_request.rb +1 -7
  124. data/lib/moov/models/operations/getcapability_request.rb +1 -7
  125. data/lib/moov/models/operations/{listcancellations_response.rb → getcardmetadata_response.rb} +6 -6
  126. data/lib/moov/models/operations/{listcancellations_response.rbi → getcardmetadata_response.rbi} +4 -4
  127. data/lib/moov/models/operations.rb +1 -2
  128. data/lib/moov/onboarding.rb +16 -16
  129. data/lib/moov/payment_links.rb +24 -24
  130. data/lib/moov/payment_methods.rb +8 -8
  131. data/lib/moov/ping.rb +4 -4
  132. data/lib/moov/products.rb +20 -20
  133. data/lib/moov/receipts.rb +8 -8
  134. data/lib/moov/representatives.rb +20 -20
  135. data/lib/moov/resolution_links.rb +16 -16
  136. data/lib/moov/scheduling.rb +24 -24
  137. data/lib/moov/sdkconfiguration.rb +4 -4
  138. data/lib/moov/statements.rb +8 -8
  139. data/lib/moov/support.rb +20 -20
  140. data/lib/moov/sweeps.rb +24 -24
  141. data/lib/moov/terminal_applications.rb +20 -20
  142. data/lib/moov/transfer_config.rb +12 -12
  143. data/lib/moov/transfers.rb +48 -171
  144. data/lib/moov/underwriting.rb +12 -12
  145. data/lib/moov/utils/retries.rb +1 -4
  146. data/lib/moov/wallet_transactions.rb +8 -8
  147. data/lib/moov/wallets.rb +16 -16
  148. data/lib/moov/webhooks.rb +32 -32
  149. metadata +38 -20
  150. data/lib/moov/models/components/billingaddress.rb +0 -52
  151. data/lib/moov/models/components/billingaddress.rbi +0 -23
  152. data/lib/moov/models/components/rtpfailurecode.rb +0 -27
  153. data/lib/moov/models/components/rtpfailurecode.rbi +0 -11
  154. data/lib/moov/models/components/rtptransactiondetails.rb +0 -58
  155. data/lib/moov/models/components/rtptransactiondetails.rbi +0 -25
  156. data/lib/moov/models/components/rtptransactionstatus.rb +0 -21
  157. data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
  158. data/lib/moov/models/components/transfercontrols.rb +0 -48
  159. data/lib/moov/models/components/transfercontrols.rbi +0 -21
  160. data/lib/moov/models/components/webhookdataauthorizationexpiring.rb +0 -44
  161. data/lib/moov/models/components/webhookdataauthorizationexpiring.rbi +0 -19
  162. data/lib/moov/models/operations/listcancellations_request.rb +0 -36
  163. data/lib/moov/models/operations/listcancellations_request.rbi +0 -15
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateAuthorizedUserError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateAuthorizedUserError
11
+ def first_name(); end
12
+ def first_name=(str_); end
13
+ def last_name(); end
14
+ def last_name=(str_); end
15
+ def birth_date(); end
16
+ def birth_date=(str_); end
17
+ end
@@ -0,0 +1,40 @@
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
+ # Fields for identifying an authorized individual.
11
+ class CreateAuthorizedUserUpdate
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName') } }
17
+
18
+ field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName') } }
19
+
20
+ field :birth_date, Crystalline::Nilable.new(Models::Components::BirthDateUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('birthDate') } }
21
+
22
+ sig { params(first_name: T.nilable(::String), last_name: T.nilable(::String), birth_date: T.nilable(Models::Components::BirthDateUpdate)).void }
23
+ def initialize(first_name: nil, last_name: nil, birth_date: nil)
24
+ @first_name = first_name
25
+ @last_name = last_name
26
+ @birth_date = birth_date
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @first_name == other.first_name
33
+ return false unless @last_name == other.last_name
34
+ return false unless @birth_date == other.birth_date
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateAuthorizedUserUpdate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateAuthorizedUserUpdate
11
+ def first_name(); end
12
+ def first_name=(str_); end
13
+ def last_name(); end
14
+ def last_name=(str_); end
15
+ def birth_date(); end
16
+ def birth_date=(str_); end
17
+ end
@@ -60,8 +60,6 @@ module Moov
60
60
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
61
61
 
62
62
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
63
- # Optional sales tax amount.
64
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
65
63
  # Optional alias from a foreign/external system which can be used to reference this resource.
66
64
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
67
65
  # An optional collection of line items for a transfer.
@@ -70,8 +68,8 @@ module Moov
70
68
 
71
69
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
72
70
 
73
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), 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), 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), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
74
- def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: 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, amount_details: nil)
71
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), 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), 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), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
72
+ def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: 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, foreign_id: nil, line_items: nil, amount_details: nil)
75
73
  @transfer_id = transfer_id
76
74
  @created_on = created_on
77
75
  @source = source
@@ -96,7 +94,6 @@ module Moov
96
94
  @schedule_id = schedule_id
97
95
  @occurrence_id = occurrence_id
98
96
  @payment_link_code = payment_link_code
99
- @sales_tax_amount = sales_tax_amount
100
97
  @foreign_id = foreign_id
101
98
  @line_items = line_items
102
99
  @amount_details = amount_details
@@ -129,7 +126,6 @@ module Moov
129
126
  return false unless @schedule_id == other.schedule_id
130
127
  return false unless @occurrence_id == other.occurrence_id
131
128
  return false unless @payment_link_code == other.payment_link_code
132
- return false unless @sales_tax_amount == other.sales_tax_amount
133
129
  return false unless @foreign_id == other.foreign_id
134
130
  return false unless @line_items == other.line_items
135
131
  return false unless @amount_details == other.amount_details
@@ -56,8 +56,6 @@ class Moov::Models::Components::CreatedTransfer
56
56
  def occurrence_id=(str_); end
57
57
  def payment_link_code(); end
58
58
  def payment_link_code=(str_); end
59
- def sales_tax_amount(); end
60
- def sales_tax_amount=(str_); end
61
59
  def foreign_id(); end
62
60
  def foreign_id=(str_); end
63
61
  def line_items(); end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
  # Request to create a new payment link.
11
11
  #
12
- # A payment link must include exactly one of `payment`, `payout`, or `customAmountPayment` details. For payout payment links,
12
+ # A payment link must include either `payment` or `payout` details, but not both. For payout payment links,
13
13
  # `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
14
14
  # to a specific recipient.
15
15
  #
@@ -21,17 +21,15 @@ module Moov
21
21
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
22
22
  # The merchant's preferred payment method ID. Must be a wallet payment method.
23
23
  field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
24
- # The fixed amount of the payment link.
24
+ # Customizable display options for a payment link.
25
+ field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
26
+ # The fixed amount of the payment link.
25
27
  #
26
28
  # In API versions before `2026.07.00`, this was a required field.
27
29
  #
28
- # In API version `2026.07.00` and beyond, this field is required for `payment` and `payout` links and must be
29
- # omitted for `customAmountPayment` links, where the payor chooses the amount.
30
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
31
- # Customizable display options for a payment link.
32
- field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
33
- # Optional sales tax amount.
34
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
30
+ # In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
31
+ # for `open` payment amount types.
32
+ field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
35
33
  # An optional limit on the number of times this payment link can be used.
36
34
  #
37
35
  # **For payouts, `maxUses` is always 1.**
@@ -48,19 +46,21 @@ module Moov
48
46
  # When line items are provided, their total plus tax must equal the payment link amount.
49
47
  field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
50
48
 
51
- sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems)).void }
52
- def initialize(partner_account_id:, merchant_payment_method_id:, amount:, display:, sales_tax_amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil)
49
+ field :amount_details, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
50
+
51
+ sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
52
+ def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil)
53
53
  @partner_account_id = partner_account_id
54
54
  @merchant_payment_method_id = merchant_payment_method_id
55
- @amount = amount
56
55
  @display = display
57
- @sales_tax_amount = sales_tax_amount
56
+ @amount = amount
58
57
  @max_uses = max_uses
59
58
  @expires_on = expires_on
60
59
  @customer = customer
61
60
  @payment = payment
62
61
  @payout = payout
63
62
  @line_items = line_items
63
+ @amount_details = amount_details
64
64
  end
65
65
 
66
66
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -68,15 +68,15 @@ module Moov
68
68
  return false unless other.is_a? self.class
69
69
  return false unless @partner_account_id == other.partner_account_id
70
70
  return false unless @merchant_payment_method_id == other.merchant_payment_method_id
71
- return false unless @amount == other.amount
72
71
  return false unless @display == other.display
73
- return false unless @sales_tax_amount == other.sales_tax_amount
72
+ return false unless @amount == other.amount
74
73
  return false unless @max_uses == other.max_uses
75
74
  return false unless @expires_on == other.expires_on
76
75
  return false unless @customer == other.customer
77
76
  return false unless @payment == other.payment
78
77
  return false unless @payout == other.payout
79
78
  return false unless @line_items == other.line_items
79
+ return false unless @amount_details == other.amount_details
80
80
  true
81
81
  end
82
82
  end
@@ -12,12 +12,10 @@ class Moov::Models::Components::CreatePaymentLink
12
12
  def partner_account_id=(str_); end
13
13
  def merchant_payment_method_id(); end
14
14
  def merchant_payment_method_id=(str_); end
15
- def amount(); end
16
- def amount=(str_); end
17
15
  def display(); end
18
16
  def display=(str_); end
19
- def sales_tax_amount(); end
20
- def sales_tax_amount=(str_); end
17
+ def amount(); end
18
+ def amount=(str_); end
21
19
  def max_uses(); end
22
20
  def max_uses=(str_); end
23
21
  def expires_on(); end
@@ -30,4 +28,6 @@ class Moov::Models::Components::CreatePaymentLink
30
28
  def payout=(str_); end
31
29
  def line_items(); end
32
30
  def line_items=(str_); end
31
+ def amount_details(); end
32
+ def amount_details=(str_); end
33
33
  end
@@ -0,0 +1,32 @@
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
+ class CreatePaymentLinkAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of tax applied to the payment link.
16
+ field :tax, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
+
18
+ sig { params(tax: T.nilable(Models::Components::AmountDecimal)).void }
19
+ def initialize(tax: nil)
20
+ @tax = tax
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @tax == other.tax
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetails
11
+ def tax(); end
12
+ def tax=(str_); end
13
+ end
@@ -0,0 +1,32 @@
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
+ class CreatePaymentLinkAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :tax, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
+
18
+ sig { params(tax: T.nilable(::String)).void }
19
+ def initialize(tax: nil)
20
+ @tax = tax
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @tax == other.tax
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetailsValidationError
11
+ def tax(); end
12
+ def tax=(str_); end
13
+ end
@@ -24,8 +24,6 @@ module Moov
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
25
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
26
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
-
28
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
29
27
  # Optional alias from a foreign/external system which can be used to reference this resource.
30
28
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
31
29
  # An optional collection of line items for a transfer.
@@ -34,15 +32,14 @@ module Moov
34
32
 
35
33
  field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
36
34
 
37
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
38
- def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil)
35
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
36
+ def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil)
39
37
  @source = source
40
38
  @destination = destination
41
39
  @amount = amount
42
40
  @facilitator_fee = facilitator_fee
43
41
  @description = description
44
42
  @metadata = metadata
45
- @sales_tax_amount = sales_tax_amount
46
43
  @foreign_id = foreign_id
47
44
  @line_items = line_items
48
45
  @amount_details = amount_details
@@ -57,7 +54,6 @@ module Moov
57
54
  return false unless @facilitator_fee == other.facilitator_fee
58
55
  return false unless @description == other.description
59
56
  return false unless @metadata == other.metadata
60
- return false unless @sales_tax_amount == other.sales_tax_amount
61
57
  return false unless @foreign_id == other.foreign_id
62
58
  return false unless @line_items == other.line_items
63
59
  return false unless @amount_details == other.amount_details
@@ -20,8 +20,6 @@ class Moov::Models::Components::CreateTransfer
20
20
  def description=(str_); end
21
21
  def metadata(); end
22
22
  def metadata=(str_); end
23
- def sales_tax_amount(); end
24
- def sales_tax_amount=(str_); end
25
23
  def foreign_id(); end
26
24
  def foreign_id=(str_); end
27
25
  def line_items(); end
@@ -14,16 +14,20 @@ module Moov
14
14
 
15
15
  # The amount of tip applied to the transfer.
16
16
  field :tip, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
+ # The amount of tax applied to the transfer.
18
+ field :tax, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
19
 
18
- sig { params(tip: T.nilable(Models::Components::AmountDecimal)).void }
19
- def initialize(tip: nil)
20
+ sig { params(tip: T.nilable(Models::Components::AmountDecimal), tax: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(tip: nil, tax: nil)
20
22
  @tip = tip
23
+ @tax = tax
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
26
29
  return false unless @tip == other.tip
30
+ return false unless @tax == other.tax
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::CreateTransferAmountDetails
11
11
  def tip(); end
12
12
  def tip=(str_); end
13
+ def tax(); end
14
+ def tax=(str_); end
13
15
  end
@@ -15,15 +15,19 @@ module Moov
15
15
 
16
16
  field :tip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
17
 
18
- sig { params(tip: T.nilable(::String)).void }
19
- def initialize(tip: nil)
18
+ field :tax, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
19
+
20
+ sig { params(tip: T.nilable(::String), tax: T.nilable(::String)).void }
21
+ def initialize(tip: nil, tax: nil)
20
22
  @tip = tip
23
+ @tax = tax
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
26
29
  return false unless @tip == other.tip
30
+ return false unless @tax == other.tax
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::CreateTransferAmountDetailsValidationError
11
11
  def tip(); end
12
12
  def tip=(str_); end
13
+ def tax(); end
14
+ def tax=(str_); end
13
15
  end
@@ -20,6 +20,8 @@ module Moov
20
20
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
21
21
  # The expiration date of the card or token.
22
22
  field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
23
+ # Fields for identifying an authorized individual.
24
+ field :authorized_user, Models::Components::AuthorizedUser, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUser'), required: true } }
23
25
  # Unique identifier for the wallet funding the card.
24
26
  field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
25
27
  # The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
@@ -33,40 +35,29 @@ module Moov
33
35
  field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
34
36
 
35
37
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
36
-
37
- field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
38
38
  # The issued card's Primary Account Number (PAN)
39
39
  field :pan, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pan'), required: true } }
40
40
  # The issued card's 3- or 4-digit Card Verification Value (CVV).
41
41
  field :cvv, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true } }
42
- # Identifier for the account of the card's authorized user.
43
- field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
44
- # An optional descriptive name for the card.
45
- field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
46
- # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
47
- field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
48
- # Billing address associated with the card.
49
- field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
42
+ # Optional descriptor for the card.
43
+ field :memo, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('memo') } }
50
44
 
51
45
  field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
52
46
 
53
- sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, pan: ::String, cvv: ::String, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuingControls)).void }
54
- def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, funding_wallet_id:, state:, form_factor:, created_on:, updated_on:, pan:, cvv:, authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, controls: nil)
47
+ sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, authorized_user: Models::Components::AuthorizedUser, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, pan: ::String, cvv: ::String, memo: T.nilable(::String), controls: T.nilable(Models::Components::IssuingControls)).void }
48
+ def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, authorized_user:, funding_wallet_id:, state:, form_factor:, created_on:, pan:, cvv:, memo: nil, controls: nil)
55
49
  @issued_card_id = issued_card_id
56
50
  @brand = brand
57
51
  @last_four_card_number = last_four_card_number
58
52
  @expiration = expiration
53
+ @authorized_user = authorized_user
59
54
  @funding_wallet_id = funding_wallet_id
60
55
  @state = state
61
56
  @form_factor = form_factor
62
57
  @created_on = created_on
63
- @updated_on = updated_on
64
58
  @pan = pan
65
59
  @cvv = cvv
66
- @authorized_user_account_id = authorized_user_account_id
67
- @nickname = nickname
68
- @metadata = metadata
69
- @billing_address = billing_address
60
+ @memo = memo
70
61
  @controls = controls
71
62
  end
72
63
 
@@ -77,17 +68,14 @@ module Moov
77
68
  return false unless @brand == other.brand
78
69
  return false unless @last_four_card_number == other.last_four_card_number
79
70
  return false unless @expiration == other.expiration
71
+ return false unless @authorized_user == other.authorized_user
80
72
  return false unless @funding_wallet_id == other.funding_wallet_id
81
73
  return false unless @state == other.state
82
74
  return false unless @form_factor == other.form_factor
83
75
  return false unless @created_on == other.created_on
84
- return false unless @updated_on == other.updated_on
85
76
  return false unless @pan == other.pan
86
77
  return false unless @cvv == other.cvv
87
- return false unless @authorized_user_account_id == other.authorized_user_account_id
88
- return false unless @nickname == other.nickname
89
- return false unless @metadata == other.metadata
90
- return false unless @billing_address == other.billing_address
78
+ return false unless @memo == other.memo
91
79
  return false unless @controls == other.controls
92
80
  true
93
81
  end
@@ -16,6 +16,8 @@ class Moov::Models::Components::FullIssuedCard
16
16
  def last_four_card_number=(str_); end
17
17
  def expiration(); end
18
18
  def expiration=(str_); end
19
+ def authorized_user(); end
20
+ def authorized_user=(str_); end
19
21
  def funding_wallet_id(); end
20
22
  def funding_wallet_id=(str_); end
21
23
  def state(); end
@@ -24,20 +26,12 @@ class Moov::Models::Components::FullIssuedCard
24
26
  def form_factor=(str_); end
25
27
  def created_on(); end
26
28
  def created_on=(str_); end
27
- def updated_on(); end
28
- def updated_on=(str_); end
29
29
  def pan(); end
30
30
  def pan=(str_); end
31
31
  def cvv(); end
32
32
  def cvv=(str_); end
33
- def authorized_user_account_id(); end
34
- def authorized_user_account_id=(str_); end
35
- def nickname(); end
36
- def nickname=(str_); end
37
- def metadata(); end
38
- def metadata=(str_); end
39
- def billing_address(); end
40
- def billing_address=(str_); end
33
+ def memo(); end
34
+ def memo=(str_); end
41
35
  def controls(); end
42
36
  def controls=(str_); end
43
37
  end
@@ -32,7 +32,7 @@ module Moov
32
32
  field :subtotal_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('subtotalAmount'), required: true } }
33
33
 
34
34
  field :tax_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('taxAmount'), required: true } }
35
- # Total amount of the invoice, including subtotal, tax, and surcharge amounts.
35
+ # Total amount of the invoice, sum of subTotalAmount and taxAmount
36
36
  field :total_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalAmount'), required: true } }
37
37
  # Total amount of pending transfers paid towards the invoice
38
38
  field :pending_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pendingAmount'), required: true } }
@@ -20,6 +20,8 @@ module Moov
20
20
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
21
21
  # The expiration date of the card or token.
22
22
  field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
23
+ # Fields for identifying an authorized individual.
24
+ field :authorized_user, Models::Components::AuthorizedUser, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUser'), required: true } }
23
25
  # Unique identifier for the wallet funding the card.
24
26
  field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
25
27
  # The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
@@ -33,34 +35,23 @@ module Moov
33
35
  field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
34
36
 
35
37
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
36
-
37
- field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
38
- # Identifier for the account of the card's authorized user.
39
- field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
40
- # An optional descriptive name for the card.
41
- field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
42
- # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
43
- field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
44
- # Billing address associated with the card.
45
- field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
38
+ # Optional descriptor for the card.
39
+ field :memo, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('memo') } }
46
40
 
47
41
  field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
48
42
 
49
- sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuingControls)).void }
50
- def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, funding_wallet_id:, state:, form_factor:, created_on:, updated_on:, authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, controls: nil)
43
+ sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, authorized_user: Models::Components::AuthorizedUser, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, memo: T.nilable(::String), controls: T.nilable(Models::Components::IssuingControls)).void }
44
+ def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, authorized_user:, funding_wallet_id:, state:, form_factor:, created_on:, memo: nil, controls: nil)
51
45
  @issued_card_id = issued_card_id
52
46
  @brand = brand
53
47
  @last_four_card_number = last_four_card_number
54
48
  @expiration = expiration
49
+ @authorized_user = authorized_user
55
50
  @funding_wallet_id = funding_wallet_id
56
51
  @state = state
57
52
  @form_factor = form_factor
58
53
  @created_on = created_on
59
- @updated_on = updated_on
60
- @authorized_user_account_id = authorized_user_account_id
61
- @nickname = nickname
62
- @metadata = metadata
63
- @billing_address = billing_address
54
+ @memo = memo
64
55
  @controls = controls
65
56
  end
66
57
 
@@ -71,15 +62,12 @@ module Moov
71
62
  return false unless @brand == other.brand
72
63
  return false unless @last_four_card_number == other.last_four_card_number
73
64
  return false unless @expiration == other.expiration
65
+ return false unless @authorized_user == other.authorized_user
74
66
  return false unless @funding_wallet_id == other.funding_wallet_id
75
67
  return false unless @state == other.state
76
68
  return false unless @form_factor == other.form_factor
77
69
  return false unless @created_on == other.created_on
78
- return false unless @updated_on == other.updated_on
79
- return false unless @authorized_user_account_id == other.authorized_user_account_id
80
- return false unless @nickname == other.nickname
81
- return false unless @metadata == other.metadata
82
- return false unless @billing_address == other.billing_address
70
+ return false unless @memo == other.memo
83
71
  return false unless @controls == other.controls
84
72
  true
85
73
  end