moov_ruby 25.5.12 → 25.5.14
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.
- checksums.yaml +4 -4
- data/lib/crystalline/module.rb +1 -1
- data/lib/moov/avatars.rb +1 -1
- data/lib/moov/card_issuing.rb +1 -1
- data/lib/moov/enriched_address.rb +1 -1
- data/lib/moov/enriched_profile.rb +1 -1
- data/lib/moov/images.rb +1 -1
- data/lib/moov/institutions.rb +2 -2
- data/lib/moov/models/components/account.rb +2 -2
- data/lib/moov/models/components/accountnameverification.rb +4 -4
- data/lib/moov/models/components/accounttype.rb +3 -1
- data/lib/moov/models/components/accountverificationstatus.rb +3 -1
- data/lib/moov/models/components/achreturncode.rb +3 -1
- data/lib/moov/models/components/achtransactiondetails.rb +3 -3
- data/lib/moov/models/components/achtransactionstatus.rb +3 -1
- data/lib/moov/models/components/adjustmentfees.rb +11 -15
- data/lib/moov/models/components/adjustmentfees.rbi +4 -4
- data/lib/moov/models/components/applepayresponse.rb +2 -2
- data/lib/moov/models/components/applicationscope.rb +4 -2
- data/lib/moov/models/components/bankaccount.rb +4 -4
- data/lib/moov/models/components/bankaccountexception.rb +2 -2
- data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
- data/lib/moov/models/components/bankaccountintegration.rb +2 -2
- data/lib/moov/models/components/bankaccountstatus.rb +3 -1
- data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
- data/lib/moov/models/components/bankaccounttype.rb +3 -1
- data/lib/moov/models/components/bankaccountverification.rb +2 -2
- data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
- data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
- data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
- data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
- data/lib/moov/models/components/billablefee.rb +2 -2
- data/lib/moov/models/components/billingadjustment.rb +40 -0
- data/lib/moov/models/components/billingadjustment.rbi +17 -0
- data/lib/moov/models/components/billingsummary.rb +8 -4
- data/lib/moov/models/components/billingsummary.rbi +2 -0
- data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
- data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
- data/lib/moov/models/components/businessprofile.rb +2 -2
- data/lib/moov/models/components/businesstype.rb +3 -1
- data/lib/moov/models/components/calltoaction.rb +3 -1
- data/lib/moov/models/components/cancellation.rb +2 -2
- data/lib/moov/models/components/cancellationstatus.rb +3 -1
- data/lib/moov/models/components/capability.rb +2 -2
- data/lib/moov/models/components/capabilityid.rb +3 -1
- data/lib/moov/models/components/capabilitystatus.rb +3 -1
- data/lib/moov/models/components/card.rb +4 -4
- data/lib/moov/models/components/cardaccountupdater.rb +1 -1
- data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
- data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
- data/lib/moov/models/components/cardbrand.rb +3 -1
- data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
- data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
- data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
- data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
- data/lib/moov/models/components/cardtype.rb +3 -1
- data/lib/moov/models/components/cardupdatereason.rb +3 -1
- data/lib/moov/models/components/cardverification.rb +3 -3
- data/lib/moov/models/components/cardverificationresult.rb +3 -1
- data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/createaccount.rb +2 -2
- data/lib/moov/models/components/createbusinessprofile.rb +2 -2
- data/lib/moov/models/components/createdtransfer.rb +12 -5
- data/lib/moov/models/components/createdtransfer.rbi +2 -0
- data/lib/moov/models/components/createevidencetext.rb +1 -1
- data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
- data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
- data/lib/moov/models/components/createpaymentlink.rb +1 -1
- data/lib/moov/models/components/createrefund.rb +2 -2
- data/lib/moov/models/components/createreversal.rb +4 -1
- data/lib/moov/models/components/createsweepconfig.rb +1 -1
- data/lib/moov/models/components/createterminalapplication.rb +1 -1
- data/lib/moov/models/components/createtransfersourceach.rb +2 -2
- data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
- data/lib/moov/models/components/createwebhook.rb +1 -1
- data/lib/moov/models/components/debitholdperiod.rb +3 -1
- data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/dispute.rb +2 -2
- data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
- data/lib/moov/models/components/disputephase.rb +3 -1
- data/lib/moov/models/components/disputestatus.rb +3 -1
- data/lib/moov/models/components/document.rb +1 -1
- data/lib/moov/models/components/documenttype.rb +3 -1
- data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
- data/lib/moov/models/components/domesticpushtocard.rb +3 -1
- data/lib/moov/models/components/evidencetextresponse.rb +1 -1
- data/lib/moov/models/components/evidencetype.rb +3 -1
- data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
- data/lib/moov/models/components/facilitatorfee.rb +2 -2
- data/lib/moov/models/components/feecategory.rb +3 -1
- data/lib/moov/models/components/feemodel.rb +3 -1
- data/lib/moov/models/components/feeplan.rb +1 -1
- data/lib/moov/models/components/feeplanagreement.rb +12 -4
- data/lib/moov/models/components/feeplanagreement.rbi +4 -0
- data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
- data/lib/moov/models/components/filedetails.rb +2 -2
- data/lib/moov/models/components/filepurpose.rb +3 -1
- data/lib/moov/models/components/filestatus.rb +3 -1
- data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
- data/lib/moov/models/components/fullissuedcard.rb +4 -3
- data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
- data/lib/moov/models/components/instantbanknetwork.rb +3 -1
- data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
- data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
- data/lib/moov/models/components/issuedcard.rb +4 -3
- data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
- data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
- data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
- data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
- data/lib/moov/models/components/issuedcardstate.rb +5 -1
- data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
- data/lib/moov/models/components/issuingcontrols.rb +1 -1
- data/lib/moov/models/components/jsonwebkey.rb +1 -1
- data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
- data/lib/moov/models/components/mode.rb +3 -1
- data/lib/moov/models/components/moovfee.rb +1 -1
- data/lib/moov/models/components/occurrencesresponse.rb +2 -2
- data/lib/moov/models/components/occurrencestatus.rb +3 -1
- data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
- data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
- data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
- data/lib/moov/models/components/patchbusiness.rb +2 -2
- data/lib/moov/models/components/patchwallet.rb +1 -1
- data/lib/moov/models/components/paymentlink.rb +4 -4
- data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
- data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
- data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -1
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +1 -1
- data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
- data/lib/moov/models/components/paymentlinktype.rb +3 -1
- data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
- data/lib/moov/models/components/paymentmethodscard.rb +4 -4
- data/lib/moov/models/components/paymentmethodswallet.rb +2 -1
- data/lib/moov/models/components/paymentmethodtype.rb +3 -1
- data/lib/moov/models/components/primaryregulator.rb +3 -1
- data/lib/moov/models/components/refundcarddetails.rb +2 -2
- data/lib/moov/models/components/refundcardstatus.rb +3 -1
- data/lib/moov/models/components/refundstatus.rb +3 -1
- data/lib/moov/models/components/requestcard.rb +1 -1
- data/lib/moov/models/components/requirementerror.rb +2 -2
- data/lib/moov/models/components/requirementerrorcode.rb +3 -1
- data/lib/moov/models/components/requirementid.rb +3 -1
- data/lib/moov/models/components/returnpolicytype.rb +3 -1
- data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
- data/lib/moov/models/components/rtpfailurecode.rb +3 -1
- data/lib/moov/models/components/rtprejectioncode.rb +3 -1
- data/lib/moov/models/components/rtptransactiondetails.rb +2 -2
- data/lib/moov/models/components/rtptransactionstatus.rb +3 -1
- data/lib/moov/models/components/schedulelistresponse.rb +1 -1
- data/lib/moov/models/components/scheduleresponse.rb +1 -1
- data/lib/moov/models/components/seccode.rb +3 -1
- data/lib/moov/models/components/statement.rb +6 -2
- data/lib/moov/models/components/statement.rbi +2 -0
- data/lib/moov/models/components/sweep.rb +1 -1
- data/lib/moov/models/components/sweepconfig.rb +3 -3
- data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
- data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
- data/lib/moov/models/components/sweepstatus.rb +3 -1
- data/lib/moov/models/components/sweepsubtotal.rb +1 -1
- data/lib/moov/models/components/terminalapplication.rb +2 -2
- data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
- data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
- data/lib/moov/models/components/terminalcard.rb +2 -2
- data/lib/moov/models/components/transactionsource.rb +3 -1
- data/lib/moov/models/components/transfer.rb +12 -5
- data/lib/moov/models/components/transfer.rbi +2 -0
- data/lib/moov/models/components/transfercapture.rb +36 -0
- data/lib/moov/models/components/transfercapture.rbi +15 -0
- data/lib/moov/models/components/transferdestination.rb +1 -1
- data/lib/moov/models/components/transferfailurereason.rb +3 -1
- data/lib/moov/models/components/transferparty.rb +3 -1
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
- data/lib/moov/models/components/transferpaymentmethodswallet.rb +2 -1
- data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/transfersource.rb +1 -1
- data/lib/moov/models/components/transferstatus.rb +3 -1
- data/lib/moov/models/components/transferterminalcard.rb +2 -2
- data/lib/moov/models/components/underwriting.rb +1 -1
- data/lib/moov/models/components/underwritingstatus.rb +3 -1
- data/lib/moov/models/components/updateevidence.rb +1 -1
- data/lib/moov/models/components/updateissuedcard.rb +2 -0
- data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
- data/lib/moov/models/components/updatepaymentlink.rb +1 -1
- data/lib/moov/models/components/updatewebhook.rb +1 -1
- data/lib/moov/models/components/use.rb +3 -1
- data/lib/moov/models/components/verification.rb +3 -3
- data/lib/moov/models/components/verificationstatus.rb +3 -1
- data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
- data/lib/moov/models/components/wallet.rb +3 -2
- data/lib/moov/models/components/walletstatus.rb +3 -1
- data/lib/moov/models/components/wallettransaction.rb +3 -3
- data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
- data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
- data/lib/moov/models/components/wallettransactiontype.rb +3 -1
- data/lib/moov/models/components/wallettype.rb +5 -1
- data/lib/moov/models/components/webhook.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
- data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
- data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
- data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
- data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
- data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatatransferstatus.rb +3 -0
- data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
- data/lib/moov/models/components/webhookevent.rb +1 -1
- data/lib/moov/models/components/webhookeventtype.rb +3 -1
- data/lib/moov/models/components/webhookstatus.rb +3 -1
- data/lib/moov/models/components.rb +4 -1
- data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
- data/lib/moov/models/errors/transfer_error.rb +12 -5
- data/lib/moov/models/errors/transfer_error.rbi +2 -0
- data/lib/moov/models/operations/listaccounts_request.rb +1 -1
- data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
- data/lib/moov/models/operations/listdisputes_request.rb +1 -1
- data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
- data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
- data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
- data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
- data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
- data/lib/moov/models/operations/listproducts_request.rb +1 -1
- data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
- data/lib/moov/models/operations/listresiduals_request.rb +1 -1
- data/lib/moov/models/operations/listschedules_request.rb +1 -1
- data/lib/moov/models/operations/liststatements_request.rb +1 -1
- data/lib/moov/models/operations/listsweeps_request.rb +1 -1
- data/lib/moov/models/operations/listtransfers_request.rb +11 -3
- data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
- data/lib/moov/models/operations/listwallets_request.rb +1 -1
- data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
- data/lib/moov/models/operations/retrievefees_request.rb +1 -1
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +11 -5
- data/lib/moov/utils/retries.rb +41 -2
- data/lib/moov/utils/utils.rb +6 -2
- metadata +8 -2
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class RefundCardStatus
|
|
11
|
+
class RefundCardStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
INITIATED = new('initiated')
|
|
14
15
|
CONFIRMED = new('confirmed')
|
|
@@ -16,6 +17,7 @@ module Moov
|
|
|
16
17
|
FAILED = new('failed')
|
|
17
18
|
COMPLETED = new('completed')
|
|
18
19
|
end
|
|
20
|
+
open!
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
end
|
|
@@ -8,13 +8,15 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class RefundStatus
|
|
11
|
+
class RefundStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
CREATED = new('created')
|
|
14
15
|
PENDING = new('pending')
|
|
15
16
|
COMPLETED = new('completed')
|
|
16
17
|
FAILED = new('failed')
|
|
17
18
|
end
|
|
19
|
+
open!
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -22,7 +22,7 @@ module Moov
|
|
|
22
22
|
field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
23
23
|
# The expiration date of the card or token.
|
|
24
24
|
field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
|
|
25
|
-
|
|
25
|
+
# Mutable spend controls for the card.
|
|
26
26
|
field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
|
|
27
27
|
|
|
28
28
|
sig { params(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), expiration: T.nilable(Models::Components::CardExpiration), controls: T.nilable(Models::Components::IssuingControls)).void }
|
|
@@ -13,9 +13,9 @@ module Moov
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
# The unique ID of what the requirement is asking to be filled out.
|
|
16
|
-
field :requirement, Models::Components::RequirementID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirement'), required: true, 'decoder': ::Moov::Utils.
|
|
16
|
+
field :requirement, Models::Components::RequirementID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirement'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RequirementID, false) } }
|
|
17
17
|
|
|
18
|
-
field :error_code, Crystalline::Nilable.new(Models::Components::RequirementErrorCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('errorCode'), 'decoder': ::Moov::Utils.
|
|
18
|
+
field :error_code, Crystalline::Nilable.new(Models::Components::RequirementErrorCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('errorCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RequirementErrorCode, true) } }
|
|
19
19
|
|
|
20
20
|
sig { params(requirement: Models::Components::RequirementID, error_code: T.nilable(Models::Components::RequirementErrorCode)).void }
|
|
21
21
|
def initialize(requirement:, error_code: nil)
|
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class RequirementErrorCode
|
|
11
|
+
class RequirementErrorCode
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
INVALID_VALUE = new('invalid-value')
|
|
14
15
|
FAILED_AUTOMATIC_VERIFICATION = new('failed-automatic-verification')
|
|
@@ -29,6 +30,7 @@ module Moov
|
|
|
29
30
|
DOCUMENT_CORRUPT = new('document-corrupt')
|
|
30
31
|
DOCUMENT_EXPIRED = new('document-expired')
|
|
31
32
|
end
|
|
33
|
+
open!
|
|
32
34
|
end
|
|
33
35
|
end
|
|
34
36
|
end
|
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# RequirementID - The unique ID of what the requirement is asking to be filled out.
|
|
11
|
-
class RequirementID
|
|
11
|
+
class RequirementID
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
ACCOUNT_TOS_ACCEPTANCE = new('account.tos-acceptance')
|
|
14
15
|
INDIVIDUAL_MOBILE = new('individual.mobile')
|
|
@@ -66,6 +67,7 @@ module Moov
|
|
|
66
67
|
REPRESENTATIVE_REP_UUID_OWNERSHIP = new('representative.{rep-uuid}.ownership')
|
|
67
68
|
DOCUMENT_DOC_UUID_ = new('document.{doc-uuid}')
|
|
68
69
|
end
|
|
70
|
+
open!
|
|
69
71
|
end
|
|
70
72
|
end
|
|
71
73
|
end
|
|
@@ -8,13 +8,15 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class ReturnPolicyType
|
|
11
|
+
class ReturnPolicyType
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
NONE = new('none')
|
|
14
15
|
EXCHANGE_ONLY = new('exchangeOnly')
|
|
15
16
|
WITHIN_THIRTY_DAYS = new('withinThirtyDays')
|
|
16
17
|
OTHER = new('other')
|
|
17
18
|
end
|
|
19
|
+
open!
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -12,7 +12,7 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Cancellation of a transfer.
|
|
16
16
|
field :cancellation, Models::Components::Cancellation, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellation'), required: true } }
|
|
17
17
|
|
|
18
18
|
sig { params(cancellation: Models::Components::Cancellation).void }
|
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# RTPFailureCode - Status codes for RTP failures.
|
|
11
|
-
class RTPFailureCode
|
|
11
|
+
class RTPFailureCode
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
PROCESSING_ERROR = new('processing-error')
|
|
14
15
|
INVALID_ACCOUNT = new('invalid-account')
|
|
@@ -21,6 +22,7 @@ module Moov
|
|
|
21
22
|
CUSTOMER_DECEASED = new('customer-deceased')
|
|
22
23
|
OTHER = new('other')
|
|
23
24
|
end
|
|
25
|
+
open!
|
|
24
26
|
end
|
|
25
27
|
end
|
|
26
28
|
end
|
|
@@ -16,7 +16,8 @@ module Moov
|
|
|
16
16
|
# - AG01: Transactions Forbidden On Account
|
|
17
17
|
# - AG03: Transaction Type Not Supported
|
|
18
18
|
# - MD07: Customer Deceased
|
|
19
|
-
class RTPRejectionCode
|
|
19
|
+
class RTPRejectionCode
|
|
20
|
+
include ::Crystalline::Enum
|
|
20
21
|
enums do
|
|
21
22
|
AC03 = new('AC03')
|
|
22
23
|
AC04 = new('AC04')
|
|
@@ -26,6 +27,7 @@ module Moov
|
|
|
26
27
|
AG03 = new('AG03')
|
|
27
28
|
MD07 = new('MD07')
|
|
28
29
|
end
|
|
30
|
+
open!
|
|
29
31
|
end
|
|
30
32
|
end
|
|
31
33
|
end
|
|
@@ -15,11 +15,11 @@ module Moov
|
|
|
15
15
|
include Crystalline::MetadataFields
|
|
16
16
|
|
|
17
17
|
# Status of a transaction within the RTP lifecycle.
|
|
18
|
-
field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.
|
|
18
|
+
field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RTPTransactionStatus, true) } }
|
|
19
19
|
# Response code returned by network on failure.
|
|
20
20
|
field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
|
|
21
21
|
# Status codes for RTP failures.
|
|
22
|
-
field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.
|
|
22
|
+
field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RTPFailureCode, true) } }
|
|
23
23
|
|
|
24
24
|
field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
25
25
|
|
|
@@ -8,13 +8,15 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# RTPTransactionStatus - Status of a transaction within the RTP lifecycle.
|
|
11
|
-
class RTPTransactionStatus
|
|
11
|
+
class RTPTransactionStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
INITIATED = new('initiated')
|
|
14
15
|
COMPLETED = new('completed')
|
|
15
16
|
FAILED = new('failed')
|
|
16
17
|
ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
|
|
17
18
|
end
|
|
19
|
+
open!
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -15,7 +15,7 @@ module Moov
|
|
|
15
15
|
|
|
16
16
|
field :destination_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationAccountID'), required: true } }
|
|
17
17
|
# The operating mode for an account.
|
|
18
|
-
field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.
|
|
18
|
+
field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
|
|
19
19
|
|
|
20
20
|
field :owner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ownerAccountID'), required: true } }
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@ module Moov
|
|
|
15
15
|
|
|
16
16
|
field :destination_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationAccountID'), required: true } }
|
|
17
17
|
# The operating mode for an account.
|
|
18
|
-
field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.
|
|
18
|
+
field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
|
|
19
19
|
|
|
20
20
|
field :owner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ownerAccountID'), required: true } }
|
|
21
21
|
|
|
@@ -8,13 +8,15 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# SECCode - Code used to identify the ACH authorization method.
|
|
11
|
-
class SECCode
|
|
11
|
+
class SECCode
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
WEB = new('WEB')
|
|
14
15
|
PPD = new('PPD')
|
|
15
16
|
CCD = new('CCD')
|
|
16
17
|
TEL = new('TEL')
|
|
17
18
|
end
|
|
19
|
+
open!
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -48,9 +48,11 @@ module Moov
|
|
|
48
48
|
field :other_card_fees, Crystalline::Nilable.new(Models::Components::OtherCardFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherCardFees') } }
|
|
49
49
|
# Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums).
|
|
50
50
|
field :partner_fees, Crystalline::Nilable.new(Models::Components::PartnerFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerFees') } }
|
|
51
|
+
# A detailed breakdown of adjustment (correction) fees by fee name.
|
|
52
|
+
field :adjustments, Crystalline::Nilable.new(Models::Components::AdjustmentFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('adjustments') } }
|
|
51
53
|
|
|
52
|
-
sig { params(statement_id: ::String, statement_name: ::String, file_name: ::String, file_size: ::Integer, billing_period_start_date_time: ::DateTime, billing_period_end_date_time: ::DateTime, subscription_i_ds: T::Array[::String], summary: Models::Components::BillingSummary, created_on: ::DateTime, updated_on: ::DateTime, card_acquiring_fees: T.nilable(Models::Components::CardAcquiringFees), ach_fees: T.nilable(Models::Components::ACHFees), instant_payment_fees: T.nilable(Models::Components::InstantPaymentFees), platform_fees: T.nilable(Models::Components::PlatformFees), account_fees: T.nilable(Models::Components::AccountFees), other_card_fees: T.nilable(Models::Components::OtherCardFees), partner_fees: T.nilable(Models::Components::PartnerFees)).void }
|
|
53
|
-
def initialize(statement_id:, statement_name:, file_name:, file_size:, billing_period_start_date_time:, billing_period_end_date_time:, subscription_i_ds:, summary:, created_on:, updated_on:, card_acquiring_fees: nil, ach_fees: nil, instant_payment_fees: nil, platform_fees: nil, account_fees: nil, other_card_fees: nil, partner_fees: nil)
|
|
54
|
+
sig { params(statement_id: ::String, statement_name: ::String, file_name: ::String, file_size: ::Integer, billing_period_start_date_time: ::DateTime, billing_period_end_date_time: ::DateTime, subscription_i_ds: T::Array[::String], summary: Models::Components::BillingSummary, created_on: ::DateTime, updated_on: ::DateTime, card_acquiring_fees: T.nilable(Models::Components::CardAcquiringFees), ach_fees: T.nilable(Models::Components::ACHFees), instant_payment_fees: T.nilable(Models::Components::InstantPaymentFees), platform_fees: T.nilable(Models::Components::PlatformFees), account_fees: T.nilable(Models::Components::AccountFees), other_card_fees: T.nilable(Models::Components::OtherCardFees), partner_fees: T.nilable(Models::Components::PartnerFees), adjustments: T.nilable(Models::Components::AdjustmentFees)).void }
|
|
55
|
+
def initialize(statement_id:, statement_name:, file_name:, file_size:, billing_period_start_date_time:, billing_period_end_date_time:, subscription_i_ds:, summary:, created_on:, updated_on:, card_acquiring_fees: nil, ach_fees: nil, instant_payment_fees: nil, platform_fees: nil, account_fees: nil, other_card_fees: nil, partner_fees: nil, adjustments: nil)
|
|
54
56
|
@statement_id = statement_id
|
|
55
57
|
@statement_name = statement_name
|
|
56
58
|
@file_name = file_name
|
|
@@ -68,6 +70,7 @@ module Moov
|
|
|
68
70
|
@account_fees = account_fees
|
|
69
71
|
@other_card_fees = other_card_fees
|
|
70
72
|
@partner_fees = partner_fees
|
|
73
|
+
@adjustments = adjustments
|
|
71
74
|
end
|
|
72
75
|
|
|
73
76
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -90,6 +93,7 @@ module Moov
|
|
|
90
93
|
return false unless @account_fees == other.account_fees
|
|
91
94
|
return false unless @other_card_fees == other.other_card_fees
|
|
92
95
|
return false unless @partner_fees == other.partner_fees
|
|
96
|
+
return false unless @adjustments == other.adjustments
|
|
93
97
|
true
|
|
94
98
|
end
|
|
95
99
|
end
|
|
@@ -15,7 +15,7 @@ module Moov
|
|
|
15
15
|
|
|
16
16
|
field :sweep_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sweepID'), required: true } }
|
|
17
17
|
|
|
18
|
-
field :status, Models::Components::SweepStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.
|
|
18
|
+
field :status, Models::Components::SweepStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SweepStatus, false) } }
|
|
19
19
|
# The total net amount of wallet transactions accrued in the sweep.
|
|
20
20
|
field :accrued_amount, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accruedAmount'), required: true } }
|
|
21
21
|
# A 3-letter ISO 4217 currency code.
|
|
@@ -17,12 +17,12 @@ module Moov
|
|
|
17
17
|
|
|
18
18
|
field :wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletID'), required: true } }
|
|
19
19
|
|
|
20
|
-
field :status, Models::Components::SweepConfigStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.
|
|
20
|
+
field :status, Models::Components::SweepConfigStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SweepConfigStatus, false) } }
|
|
21
21
|
# The payment method used to push or pull funds to a bank account.
|
|
22
|
-
# The push payment method can only be ach-credit-standard, ach-credit-same-day, or
|
|
22
|
+
# The push payment method can only be ach-credit-standard, ach-credit-same-day, rtp-credit, or instant-bank-credit (API v2026.01.00 and later). The pull payment method can only be ach-debit-fund.
|
|
23
23
|
field :push_payment_method, Models::Components::SweepConfigPaymentMethod, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushPaymentMethod'), required: true } }
|
|
24
24
|
# The payment method used to push or pull funds to a bank account.
|
|
25
|
-
# The push payment method can only be ach-credit-standard, ach-credit-same-day, or
|
|
25
|
+
# The push payment method can only be ach-credit-standard, ach-credit-same-day, rtp-credit, or instant-bank-credit (API v2026.01.00 and later). The pull payment method can only be ach-debit-fund.
|
|
26
26
|
field :pull_payment_method, Models::Components::SweepConfigPaymentMethod, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullPaymentMethod'), required: true } }
|
|
27
27
|
|
|
28
28
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
@@ -8,7 +8,7 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# The payment method used to push or pull funds to a bank account.
|
|
11
|
-
# The push payment method can only be ach-credit-standard, ach-credit-same-day, or
|
|
11
|
+
# The push payment method can only be ach-credit-standard, ach-credit-same-day, rtp-credit, or instant-bank-credit (API v2026.01.00 and later). The pull payment method can only be ach-debit-fund.
|
|
12
12
|
class SweepConfigPaymentMethod
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
@@ -8,11 +8,13 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class SweepConfigStatus
|
|
11
|
+
class SweepConfigStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
ENABLED = new('enabled')
|
|
14
15
|
DISABLED = new('disabled')
|
|
15
16
|
end
|
|
17
|
+
open!
|
|
16
18
|
end
|
|
17
19
|
end
|
|
18
20
|
end
|
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class SweepStatus
|
|
11
|
+
class SweepStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
ACCRUING = new('accruing')
|
|
14
15
|
ACTION_REQUIRED = new('action-required')
|
|
@@ -17,6 +18,7 @@ module Moov
|
|
|
17
18
|
FAILED = new('failed')
|
|
18
19
|
PAID = new('paid')
|
|
19
20
|
end
|
|
21
|
+
open!
|
|
20
22
|
end
|
|
21
23
|
end
|
|
22
24
|
end
|
|
@@ -13,7 +13,7 @@ module Moov
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
# The type of wallet transaction the subtotal is for.
|
|
16
|
-
field :type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.
|
|
16
|
+
field :type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionType, false) } }
|
|
17
17
|
# The number of transactions of this type accrued in the sweep.
|
|
18
18
|
field :count, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('count'), required: true } }
|
|
19
19
|
# The value of transactions of this type accrued in the sweep.
|
|
@@ -15,9 +15,9 @@ module Moov
|
|
|
15
15
|
# ID of the terminal application.
|
|
16
16
|
field :terminal_application_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalApplicationID'), required: true } }
|
|
17
17
|
# Status of the terminal application.
|
|
18
|
-
field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.
|
|
18
|
+
field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TerminalApplicationStatus, false) } }
|
|
19
19
|
# Platform of the terminal application.
|
|
20
|
-
field :platform, Models::Components::TerminalApplicationPlatform, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platform'), required: true, 'decoder': ::Moov::Utils.
|
|
20
|
+
field :platform, Models::Components::TerminalApplicationPlatform, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platform'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TerminalApplicationPlatform, false) } }
|
|
21
21
|
# The app bundle identifier of the terminal application. Will be returned if platform is `ios`.
|
|
22
22
|
field :app_bundle_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('appBundleID') } }
|
|
23
23
|
# The app package name of the terminal application. Will be returned if platform is `android`.
|
|
@@ -8,12 +8,14 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# TerminalApplicationPlatform - Platform of the terminal application.
|
|
11
|
-
class TerminalApplicationPlatform
|
|
11
|
+
class TerminalApplicationPlatform
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
UNDEFINED = new('undefined')
|
|
14
15
|
IOS = new('ios')
|
|
15
16
|
ANDROID = new('android')
|
|
16
17
|
end
|
|
18
|
+
open!
|
|
17
19
|
end
|
|
18
20
|
end
|
|
19
21
|
end
|
|
@@ -8,13 +8,15 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# TerminalApplicationStatus - Status of the terminal application.
|
|
11
|
-
class TerminalApplicationStatus
|
|
11
|
+
class TerminalApplicationStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
UNDEFINED = new('undefined')
|
|
14
15
|
PENDING = new('pending')
|
|
15
16
|
ENABLED = new('enabled')
|
|
16
17
|
DISABLED = new('disabled')
|
|
17
18
|
end
|
|
19
|
+
open!
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -15,11 +15,11 @@ module Moov
|
|
|
15
15
|
# How the card information was entered into the point of sale terminal.
|
|
16
16
|
field :entry_mode, Crystalline::Nilable.new(Models::Components::EntryMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('entryMode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EntryMode, true) } }
|
|
17
17
|
# The card brand.
|
|
18
|
-
field :brand, Crystalline::Nilable.new(Models::Components::CardBrand), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), 'decoder': ::Moov::Utils.
|
|
18
|
+
field :brand, Crystalline::Nilable.new(Models::Components::CardBrand), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, true) } }
|
|
19
19
|
|
|
20
20
|
field :bin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin') } }
|
|
21
21
|
# The type of the card.
|
|
22
|
-
field :card_type, Crystalline::Nilable.new(Models::Components::CardType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), 'decoder': ::Moov::Utils.
|
|
22
|
+
field :card_type, Crystalline::Nilable.new(Models::Components::CardType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, true) } }
|
|
23
23
|
# The expiration date of the card or token.
|
|
24
24
|
field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
|
|
25
25
|
# Uniquely identifies a linked payment card or token.
|
|
@@ -11,12 +11,14 @@ module Moov
|
|
|
11
11
|
#
|
|
12
12
|
# Crucial for recurring and merchant-initiated transactions as per card scheme rules.
|
|
13
13
|
# Omit for customer-initiated e-commerce transactions.
|
|
14
|
-
class TransactionSource
|
|
14
|
+
class TransactionSource
|
|
15
|
+
include ::Crystalline::Enum
|
|
15
16
|
enums do
|
|
16
17
|
FIRST_RECURRING = new('first-recurring')
|
|
17
18
|
RECURRING = new('recurring')
|
|
18
19
|
UNSCHEDULED = new('unscheduled')
|
|
19
20
|
end
|
|
21
|
+
open!
|
|
20
22
|
end
|
|
21
23
|
end
|
|
22
24
|
end
|
|
@@ -21,13 +21,16 @@ module Moov
|
|
|
21
21
|
|
|
22
22
|
field :destination, Models::Components::TransferDestination, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destination'), required: true } }
|
|
23
23
|
# Status of a transfer.
|
|
24
|
-
field :status, Models::Components::TransferStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.
|
|
25
|
-
|
|
24
|
+
field :status, Models::Components::TransferStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferStatus, false) } }
|
|
25
|
+
# Amount associated with this transfer.
|
|
26
|
+
# In v2026.10 and later, an auth-capture `card-payment` transfer reports the approved authorization amount until a final capture is created.
|
|
27
|
+
# For these transfers, when a final capture is created, this is updated to the cumulative captured amount.
|
|
28
|
+
# For other transfer types, this is the transfer amount.
|
|
26
29
|
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
27
30
|
|
|
28
31
|
field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
29
32
|
# Reason for a transfer's failure.
|
|
30
|
-
field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.
|
|
33
|
+
field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferFailureReason, true) } }
|
|
31
34
|
# An optional description of the transfer that is used on receipts and for your own internal use.
|
|
32
35
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
33
36
|
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
@@ -69,9 +72,11 @@ module Moov
|
|
|
69
72
|
# An optional collection of line items for a transfer.
|
|
70
73
|
# When line items are provided, their total plus tax must equal the transfer amount.
|
|
71
74
|
field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
75
|
+
# The card authorization and capture IDs associated with a transfer.
|
|
76
|
+
field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
|
|
72
77
|
|
|
73
|
-
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 }
|
|
74
|
-
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)
|
|
78
|
+
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), capture: T.nilable(Models::Components::TransferCapture)).void }
|
|
79
|
+
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, capture: nil)
|
|
75
80
|
@transfer_id = transfer_id
|
|
76
81
|
@created_on = created_on
|
|
77
82
|
@source = source
|
|
@@ -100,6 +105,7 @@ module Moov
|
|
|
100
105
|
@sales_tax_amount = sales_tax_amount
|
|
101
106
|
@foreign_id = foreign_id
|
|
102
107
|
@line_items = line_items
|
|
108
|
+
@capture = capture
|
|
103
109
|
end
|
|
104
110
|
|
|
105
111
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -133,6 +139,7 @@ module Moov
|
|
|
133
139
|
return false unless @sales_tax_amount == other.sales_tax_amount
|
|
134
140
|
return false unless @foreign_id == other.foreign_id
|
|
135
141
|
return false unless @line_items == other.line_items
|
|
142
|
+
return false unless @capture == other.capture
|
|
136
143
|
true
|
|
137
144
|
end
|
|
138
145
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
# The card authorization and capture IDs associated with a transfer.
|
|
11
|
+
class TransferCapture
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# ID of the card authorization associated with this transfer.
|
|
16
|
+
field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
|
|
17
|
+
# ID of the card capture associated with this transfer.
|
|
18
|
+
field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(authorization_id: ::String, capture_id: ::String).void }
|
|
21
|
+
def initialize(authorization_id:, capture_id:)
|
|
22
|
+
@authorization_id = authorization_id
|
|
23
|
+
@capture_id = capture_id
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @authorization_id == other.authorization_id
|
|
30
|
+
return false unless @capture_id == other.capture_id
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::TransferCapture
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TransferCapture
|
|
11
|
+
def authorization_id(); end
|
|
12
|
+
def authorization_id=(str_); end
|
|
13
|
+
def capture_id(); end
|
|
14
|
+
def capture_id=(str_); end
|
|
15
|
+
end
|
|
@@ -15,7 +15,7 @@ module Moov
|
|
|
15
15
|
|
|
16
16
|
field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
|
|
17
17
|
# The payment method type that represents a payment rail and directionality
|
|
18
|
-
field :payment_method_type, Models::Components::TransferPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.
|
|
18
|
+
field :payment_method_type, Models::Components::TransferPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferPaymentMethodType, false) } }
|
|
19
19
|
|
|
20
20
|
field :account, Models::Components::TransferAccount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account'), required: true } }
|
|
21
21
|
# A bank account as contained within a payment method.
|
|
@@ -8,7 +8,8 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# TransferFailureReason - Reason for a transfer's failure.
|
|
11
|
-
class TransferFailureReason
|
|
11
|
+
class TransferFailureReason
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
SOURCE_PAYMENT_ERROR = new('source-payment-error')
|
|
14
15
|
DESTINATION_PAYMENT_ERROR = new('destination-payment-error')
|
|
@@ -16,6 +17,7 @@ module Moov
|
|
|
16
17
|
REJECTED_HIGH_RISK = new('rejected-high-risk')
|
|
17
18
|
PROCESSING_ERROR = new('processing-error')
|
|
18
19
|
end
|
|
20
|
+
open!
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
end
|
|
@@ -8,12 +8,14 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
class TransferParty
|
|
11
|
+
class TransferParty
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
SOURCE = new('source')
|
|
14
15
|
DESTINATION = new('destination')
|
|
15
16
|
PARTNER = new('partner')
|
|
16
17
|
end
|
|
18
|
+
open!
|
|
17
19
|
end
|
|
18
20
|
end
|
|
19
21
|
end
|