moov_ruby 26.10.0.pre.dev.2 → 26.10.0.pre.dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/crystalline/module.rb +1 -1
- data/lib/moov/bank_accounts.rb +439 -0
- data/lib/moov/card_issuing.rb +1 -1
- data/lib/moov/images.rb +17 -2
- data/lib/moov/institutions.rb +1 -1
- 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/achcredittransferprocessingdetails.rb +6 -2
- data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/achdebitoptions.rb +2 -2
- data/lib/moov/models/components/achdebittransferprocessingdetails.rb +6 -2
- data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/achreturncode.rb +3 -1
- data/lib/moov/models/components/achtransactionstatus.rb +26 -0
- data/lib/moov/models/components/achtransactionstatus.rbi +11 -0
- data/lib/moov/models/components/adjustmentfees.rb +11 -15
- data/lib/moov/models/components/adjustmentfees.rbi +4 -4
- data/lib/moov/models/components/amountdecimalrange.rb +0 -2
- data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
- data/lib/moov/models/components/applepayresponse.rb +2 -2
- data/lib/moov/models/components/applicationscope.rb +4 -2
- data/lib/moov/models/components/asynccreatedrefund.rb +1 -1
- data/lib/moov/models/components/authmethod.rb +3 -1
- data/lib/moov/models/components/bankaccount.rb +4 -4
- data/lib/moov/models/components/bankaccountattestation.rb +52 -0
- data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
- data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
- data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
- data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
- data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
- 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/businesspresence.rb +3 -1
- 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/capture.rb +11 -6
- data/lib/moov/models/components/capture.rbi +2 -0
- data/lib/moov/models/components/capturestatus.rb +3 -3
- 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 +2 -2
- data/lib/moov/models/components/cardbrand.rb +3 -1
- data/lib/moov/models/components/cardissuing.rb +34 -0
- data/lib/moov/models/components/cardissuing.rbi +13 -0
- data/lib/moov/models/components/cardissuingerror.rb +32 -0
- data/lib/moov/models/components/cardissuingerror.rbi +13 -0
- data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
- data/lib/moov/models/components/cardmetadata.rb +4 -4
- data/lib/moov/models/components/cardpaymentoptions.rb +1 -1
- data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +1 -1
- data/lib/moov/models/components/cardpaymenttransactionstatus.rb +25 -0
- data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
- data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +11 -7
- data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +4 -2
- data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -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/collectfundscardpayments.rb +1 -1
- data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/createaccount.rb +2 -2
- data/lib/moov/models/components/createaccounttype.rb +3 -1
- data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
- data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
- data/lib/moov/models/components/createbusinessprofile.rb +2 -2
- data/lib/moov/models/components/createcancellation.rb +4 -2
- data/lib/moov/models/components/createcapture.rb +7 -4
- data/lib/moov/models/components/createdtransfer.rb +9 -5
- 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/createtippresets.rb +1 -1
- data/lib/moov/models/components/createtransfer.rb +1 -1
- data/lib/moov/models/components/createtransferdestination.rb +6 -2
- data/lib/moov/models/components/createtransferdestination.rbi +2 -0
- data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
- data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
- 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/depositaccountingestedresponse.rb +1 -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/estimatedactivity.rb +1 -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 +6 -17
- data/lib/moov/models/components/facilitatorfee.rbi +0 -4
- data/lib/moov/models/components/feecategory.rb +3 -1
- data/lib/moov/models/components/feemodel.rb +3 -1
- data/lib/moov/models/components/feepaidby.rb +4 -2
- 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/fulfillment.rb +2 -2
- data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
- data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
- data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
- data/lib/moov/models/components/fullissuedcard.rb +3 -2
- data/lib/moov/models/components/geographicreach.rb +3 -1
- data/lib/moov/models/components/googlepayresponse.rb +3 -3
- data/lib/moov/models/components/incurredfee.rb +1 -1
- data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +8 -4
- data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
- data/lib/moov/models/components/instantbanknetwork.rb +3 -1
- data/lib/moov/models/components/instantbanktransactionstatus.rb +23 -0
- data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
- data/lib/moov/models/components/invoice.rb +1 -1
- data/lib/moov/models/components/invoicepayment.rb +1 -1
- data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
- data/lib/moov/models/components/invoicestatus.rb +3 -1
- data/lib/moov/models/components/issuedcard.rb +3 -2
- 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/issuedcontrols.rb +2 -2
- data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
- data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
- data/lib/moov/models/components/issuingcontrols.rb +3 -3
- data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
- data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
- data/lib/moov/models/components/issuingintervallimit.rb +3 -1
- data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
- data/lib/moov/models/components/issuingvelocitylimit.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/linkedgooglepaypaymentmethod.rb +1 -1
- data/lib/moov/models/components/merchantcategory.rb +1 -1
- data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
- data/lib/moov/models/components/merchantentry.rb +6 -6
- data/lib/moov/models/components/merchantentry.rbi +2 -2
- data/lib/moov/models/components/merchantentryerror.rb +5 -5
- data/lib/moov/models/components/merchantentryerror.rbi +2 -2
- data/lib/moov/models/components/merchantrestrictions.rb +2 -2
- data/lib/moov/models/components/mode.rb +3 -1
- data/lib/moov/models/components/monthlyvolumerange.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 -6
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
- 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 +5 -7
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
- 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 +1 -1
- data/lib/moov/models/components/paymentmethodtype.rb +4 -1
- data/lib/moov/models/components/pendinglitigation.rb +3 -1
- data/lib/moov/models/components/primaryregulator.rb +3 -1
- data/lib/moov/models/components/pullfromcardoptions.rb +1 -1
- data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
- data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
- data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +7 -3
- data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
- data/lib/moov/models/components/pushoptions.rb +5 -4
- data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
- data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
- data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
- data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +7 -3
- data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/puttippresets.rb +1 -1
- data/lib/moov/models/components/refundpolicy.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 +18 -1
- data/lib/moov/models/components/resolutionlink.rb +1 -1
- data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
- data/lib/moov/models/components/returnpolicytype.rb +3 -1
- data/lib/moov/models/components/reversalamountdetails.rb +3 -1
- data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
- data/lib/moov/models/components/rtprejectioncode.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/sourcesystem.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/ticket.rb +1 -1
- data/lib/moov/models/components/ticketstatus.rb +3 -1
- data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
- data/lib/moov/models/components/tippresets.rb +1 -1
- data/lib/moov/models/components/transactionsource.rb +3 -1
- data/lib/moov/models/components/transfer.rb +9 -5
- data/lib/moov/models/components/transferauthorization.rb +7 -7
- data/lib/moov/models/components/transferdestination.rb +1 -1
- data/lib/moov/models/components/transferfailurereason.rb +3 -1
- data/lib/moov/models/components/transferfeepaidby.rb +2 -2
- data/lib/moov/models/components/transferoptions.rb +3 -3
- 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 +1 -1
- data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
- data/lib/moov/models/components/transferprocessingdetails.rb +6 -2
- data/lib/moov/models/components/transferprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/transferrailoptions.rb +6 -2
- data/lib/moov/models/components/transferrailoptions.rbi +2 -0
- 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/transfertype.rb +4 -1
- data/lib/moov/models/components/underwriting.rb +12 -6
- data/lib/moov/models/components/underwriting.rbi +2 -0
- data/lib/moov/models/components/underwritingstatus.rb +3 -1
- data/lib/moov/models/components/updateevidence.rb +1 -1
- data/lib/moov/models/components/updateinvoice.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/updateissuingcontrols.rb +5 -5
- data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
- data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
- data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
- data/lib/moov/models/components/updatepaymentlink.rb +1 -1
- data/lib/moov/models/components/updatewebhook.rb +1 -1
- data/lib/moov/models/components/upsertunderwriting.rb +11 -5
- data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
- 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 +2 -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 +4 -1
- data/lib/moov/models/components/wallettype.rb +3 -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/webhookdatacaptureupdated.rb +44 -0
- data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
- 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/webhookdatainvoiceupdated.rb +1 -1
- 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/webhookdataticketupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -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 +3 -3
- data/lib/moov/models/components/webhookeventtype.rb +4 -1
- data/lib/moov/models/components/webhookstatus.rb +3 -1
- data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
- data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/wirefailurecode.rb +28 -0
- data/lib/moov/models/components/wirefailurecode.rbi +11 -0
- data/lib/moov/models/components/wireoptions.rb +32 -0
- data/lib/moov/models/components/wireoptions.rbi +13 -0
- data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
- data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
- data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
- data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
- data/lib/moov/models/components.rb +24 -1
- data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
- data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
- data/lib/moov/models/errors/cardacquiringrefund_error.rb +2 -2
- data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
- data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
- data/lib/moov/models/errors/transfer_error.rb +9 -5
- data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
- data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
- data/lib/moov/models/errors.rb +2 -0
- data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
- data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
- data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
- data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
- data/lib/moov/models/operations/createcapture_request.rb +2 -2
- data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
- data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
- data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
- data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
- data/lib/moov/models/operations/getcapture_request.rb +2 -2
- data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
- data/lib/moov/models/operations/listaccounts_request.rb +1 -1
- data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
- data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
- data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
- data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
- data/lib/moov/models/operations/listcaptures_request.rb +2 -2
- 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/listinvoices_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/listpaymentmethods_response.rb +2 -2
- 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/listtickets_request.rb +1 -1
- data/lib/moov/models/operations/listtransfers_request.rb +4 -8
- data/lib/moov/models/operations/listtransfers_request.rbi +0 -2
- 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/models/operations.rb +6 -0
- data/lib/moov/payment_methods.rb +2 -2
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +16 -9
- data/lib/moov/utils/retries.rb +41 -2
- data/lib/moov/utils/utils.rb +6 -2
- metadata +64 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7169f4edf56d294239aa603754fc8254ca57c24e14ced2aba905e2edd417b2b5
|
|
4
|
+
data.tar.gz: 4339c9ab9a0a9fd41510fc17e3db0e5303429f885516eea1760f82befd4af1e0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98a2685dfe4ad6c1e7ccec33e61c30020674bd758f8ee0261129060332ad4df7b6336d48a10a29fd1be4833d81c2123b2b2e27262896cdbfa05b98a3c5862f24
|
|
7
|
+
data.tar.gz: 88a7387b7da6e4e518cc1596be39fd443a33e651639c9c0f646222988802b7f468d968fa70c222329b30d53e4a01ba41474e1ed0c3ed6ab7f0e3fa5709427004
|
data/lib/crystalline/module.rb
CHANGED
data/lib/moov/bank_accounts.rb
CHANGED
|
@@ -590,6 +590,445 @@ module Moov
|
|
|
590
590
|
end
|
|
591
591
|
|
|
592
592
|
|
|
593
|
+
sig { params(create_bank_account_attestation: Models::Components::CreateBankAccountAttestation, account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateBankAccountAttestationResponse) }
|
|
594
|
+
def create_attestation(create_bank_account_attestation:, account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
|
|
595
|
+
# create_attestation - Submit a new authorization attestation for a bank account in an `errored` status due to an R29 ACH return (`Corporate Customer Advises Not Authorized`).
|
|
596
|
+
#
|
|
597
|
+
# After obtaining new authorization from the receiver, submit an attestation with the date the authorization was obtained and a brief description of how the authorization was obtained. If the attestation is accepted, the bank account transitions from `errored` to `verified`.
|
|
598
|
+
#
|
|
599
|
+
# Constraints
|
|
600
|
+
#
|
|
601
|
+
# - The bank account's current errored status must be the result of an R29 return.
|
|
602
|
+
# - `attestedAt` must be on or after the date of the bank account's most recent R29 return and cannot be a future date.
|
|
603
|
+
# - Only one attestation may be submitted for a bank account. Use the [Get attestation eligibility](https://docs.moov.io/api/sources/bank-accounts/attestation-eligibility/) endpoint to confirm eligibility before submitting an attestation.
|
|
604
|
+
#
|
|
605
|
+
# This endpoint is available only to allowlisted partners. Contact Moov Support for more information.
|
|
606
|
+
request = Models::Operations::CreateBankAccountAttestationRequest.new(
|
|
607
|
+
account_id: account_id,
|
|
608
|
+
bank_account_id: bank_account_id,
|
|
609
|
+
create_bank_account_attestation: create_bank_account_attestation
|
|
610
|
+
)
|
|
611
|
+
url, params = @sdk_configuration.get_server_details
|
|
612
|
+
base_url = Utils.template_url(url, params)
|
|
613
|
+
url = Utils.generate_url(
|
|
614
|
+
Models::Operations::CreateBankAccountAttestationRequest,
|
|
615
|
+
base_url,
|
|
616
|
+
'/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations',
|
|
617
|
+
request
|
|
618
|
+
)
|
|
619
|
+
headers = {}
|
|
620
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
621
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_bank_account_attestation, :json)
|
|
622
|
+
headers['content-type'] = req_content_type
|
|
623
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
624
|
+
|
|
625
|
+
if form && !form.empty?
|
|
626
|
+
body = Utils.encode_form(form)
|
|
627
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
628
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
629
|
+
else
|
|
630
|
+
body = data
|
|
631
|
+
end
|
|
632
|
+
headers['Accept'] = 'application/json'
|
|
633
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
634
|
+
|
|
635
|
+
security = @sdk_configuration.security_source&.call
|
|
636
|
+
|
|
637
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
638
|
+
timeout ||= @sdk_configuration.timeout
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
connection = @sdk_configuration.client
|
|
642
|
+
|
|
643
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
644
|
+
config: @sdk_configuration,
|
|
645
|
+
base_url: base_url,
|
|
646
|
+
oauth2_scopes: nil,
|
|
647
|
+
operation_id: 'createBankAccountAttestation',
|
|
648
|
+
security_source: @sdk_configuration.security_source
|
|
649
|
+
)
|
|
650
|
+
|
|
651
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
652
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
begin
|
|
656
|
+
http_response = T.must(connection).post(url) do |req|
|
|
657
|
+
req.body = body
|
|
658
|
+
req.headers.merge!(headers)
|
|
659
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
660
|
+
Utils.configure_request_security(req, security)
|
|
661
|
+
http_headers&.each do |key, value|
|
|
662
|
+
req.headers[key.to_s] = value
|
|
663
|
+
end
|
|
664
|
+
|
|
665
|
+
@sdk_configuration.hooks.before_request(
|
|
666
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
667
|
+
hook_ctx: hook_ctx
|
|
668
|
+
),
|
|
669
|
+
request: req
|
|
670
|
+
)
|
|
671
|
+
end
|
|
672
|
+
rescue StandardError => e
|
|
673
|
+
error = e
|
|
674
|
+
ensure
|
|
675
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
676
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
677
|
+
error: error,
|
|
678
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
679
|
+
hook_ctx: hook_ctx
|
|
680
|
+
),
|
|
681
|
+
response: http_response
|
|
682
|
+
)
|
|
683
|
+
else
|
|
684
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
685
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
686
|
+
hook_ctx: hook_ctx
|
|
687
|
+
),
|
|
688
|
+
response: http_response
|
|
689
|
+
)
|
|
690
|
+
end
|
|
691
|
+
|
|
692
|
+
if http_response.nil?
|
|
693
|
+
raise error if !error.nil?
|
|
694
|
+
raise 'no response'
|
|
695
|
+
end
|
|
696
|
+
end
|
|
697
|
+
|
|
698
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
699
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
700
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
701
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
702
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
703
|
+
hook_ctx: hook_ctx
|
|
704
|
+
),
|
|
705
|
+
response: http_response
|
|
706
|
+
)
|
|
707
|
+
response_data = http_response.env.response_body
|
|
708
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::BankAccountAttestation)
|
|
709
|
+
response = Models::Operations::CreateBankAccountAttestationResponse.new(
|
|
710
|
+
status_code: http_response.status,
|
|
711
|
+
content_type: content_type,
|
|
712
|
+
raw_response: http_response,
|
|
713
|
+
headers: http_response.headers,
|
|
714
|
+
bank_account_attestation: T.unsafe(obj)
|
|
715
|
+
)
|
|
716
|
+
|
|
717
|
+
return response
|
|
718
|
+
else
|
|
719
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
720
|
+
end
|
|
721
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
722
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
723
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
724
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
725
|
+
hook_ctx: hook_ctx
|
|
726
|
+
),
|
|
727
|
+
response: http_response
|
|
728
|
+
)
|
|
729
|
+
response_data = http_response.env.response_body
|
|
730
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
731
|
+
obj.raw_response = http_response
|
|
732
|
+
raise obj
|
|
733
|
+
else
|
|
734
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
735
|
+
end
|
|
736
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
737
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
738
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
739
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
740
|
+
hook_ctx: hook_ctx
|
|
741
|
+
),
|
|
742
|
+
response: http_response
|
|
743
|
+
)
|
|
744
|
+
response_data = http_response.env.response_body
|
|
745
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BankAccountAttestationValidationError)
|
|
746
|
+
obj.raw_response = http_response
|
|
747
|
+
raise obj
|
|
748
|
+
else
|
|
749
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
750
|
+
end
|
|
751
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
752
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
753
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
754
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
755
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
756
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
757
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
758
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
759
|
+
else
|
|
760
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
|
761
|
+
|
|
762
|
+
end
|
|
763
|
+
end
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
sig { params(account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListBankAccountAttestationsResponse) }
|
|
767
|
+
def list_attestations(account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
|
|
768
|
+
# list_attestations - List the attestations submitted for a bank account.
|
|
769
|
+
request = Models::Operations::ListBankAccountAttestationsRequest.new(
|
|
770
|
+
account_id: account_id,
|
|
771
|
+
bank_account_id: bank_account_id
|
|
772
|
+
)
|
|
773
|
+
url, params = @sdk_configuration.get_server_details
|
|
774
|
+
base_url = Utils.template_url(url, params)
|
|
775
|
+
url = Utils.generate_url(
|
|
776
|
+
Models::Operations::ListBankAccountAttestationsRequest,
|
|
777
|
+
base_url,
|
|
778
|
+
'/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations',
|
|
779
|
+
request
|
|
780
|
+
)
|
|
781
|
+
headers = {}
|
|
782
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
783
|
+
headers['Accept'] = 'application/json'
|
|
784
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
785
|
+
|
|
786
|
+
security = @sdk_configuration.security_source&.call
|
|
787
|
+
|
|
788
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
789
|
+
timeout ||= @sdk_configuration.timeout
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
connection = @sdk_configuration.client
|
|
793
|
+
|
|
794
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
795
|
+
config: @sdk_configuration,
|
|
796
|
+
base_url: base_url,
|
|
797
|
+
oauth2_scopes: nil,
|
|
798
|
+
operation_id: 'listBankAccountAttestations',
|
|
799
|
+
security_source: @sdk_configuration.security_source
|
|
800
|
+
)
|
|
801
|
+
|
|
802
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
803
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
begin
|
|
807
|
+
http_response = T.must(connection).get(url) do |req|
|
|
808
|
+
req.headers.merge!(headers)
|
|
809
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
810
|
+
Utils.configure_request_security(req, security)
|
|
811
|
+
http_headers&.each do |key, value|
|
|
812
|
+
req.headers[key.to_s] = value
|
|
813
|
+
end
|
|
814
|
+
|
|
815
|
+
@sdk_configuration.hooks.before_request(
|
|
816
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
817
|
+
hook_ctx: hook_ctx
|
|
818
|
+
),
|
|
819
|
+
request: req
|
|
820
|
+
)
|
|
821
|
+
end
|
|
822
|
+
rescue StandardError => e
|
|
823
|
+
error = e
|
|
824
|
+
ensure
|
|
825
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
826
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
827
|
+
error: error,
|
|
828
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
829
|
+
hook_ctx: hook_ctx
|
|
830
|
+
),
|
|
831
|
+
response: http_response
|
|
832
|
+
)
|
|
833
|
+
else
|
|
834
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
835
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
836
|
+
hook_ctx: hook_ctx
|
|
837
|
+
),
|
|
838
|
+
response: http_response
|
|
839
|
+
)
|
|
840
|
+
end
|
|
841
|
+
|
|
842
|
+
if http_response.nil?
|
|
843
|
+
raise error if !error.nil?
|
|
844
|
+
raise 'no response'
|
|
845
|
+
end
|
|
846
|
+
end
|
|
847
|
+
|
|
848
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
849
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
850
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
851
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
852
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
853
|
+
hook_ctx: hook_ctx
|
|
854
|
+
),
|
|
855
|
+
response: http_response
|
|
856
|
+
)
|
|
857
|
+
response_data = http_response.env.response_body
|
|
858
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::BankAccountAttestationSummary))
|
|
859
|
+
response = Models::Operations::ListBankAccountAttestationsResponse.new(
|
|
860
|
+
status_code: http_response.status,
|
|
861
|
+
content_type: content_type,
|
|
862
|
+
raw_response: http_response,
|
|
863
|
+
headers: http_response.headers,
|
|
864
|
+
bank_account_attestation_summaries: T.unsafe(obj)
|
|
865
|
+
)
|
|
866
|
+
|
|
867
|
+
return response
|
|
868
|
+
else
|
|
869
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
870
|
+
end
|
|
871
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
872
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
873
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
874
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
875
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
876
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
877
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
878
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
879
|
+
else
|
|
880
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
|
881
|
+
|
|
882
|
+
end
|
|
883
|
+
end
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
sig { params(account_id: ::String, bank_account_id: ::String, attested_at: T.nilable(::Date), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetBankAccountAttestationEligibilityResponse) }
|
|
887
|
+
def get_attestation_eligibility(account_id:, bank_account_id:, attested_at: nil, timeout_ms: nil, http_headers: nil)
|
|
888
|
+
# get_attestation_eligibility - Check whether a bank account is currently eligible for a new authorization attestation without submitting one.
|
|
889
|
+
#
|
|
890
|
+
# - `enabled` indicates whether the calling account has access to the attestations feature. If `enabled` is `false`, `eligible` is always `false`.
|
|
891
|
+
# - When `enabled` is `true`, `eligible` indicates whether the bank account currently meets the eligibility requirements for a new attestation: the bank account must be `errored` due to an R29 return, with no prior attestations.
|
|
892
|
+
#
|
|
893
|
+
# This endpoint always returns `200`, including when the bank account is not eligible. Check the `eligible` field to determine eligibility.
|
|
894
|
+
#
|
|
895
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
896
|
+
# you'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.
|
|
897
|
+
request = Models::Operations::GetBankAccountAttestationEligibilityRequest.new(
|
|
898
|
+
account_id: account_id,
|
|
899
|
+
bank_account_id: bank_account_id,
|
|
900
|
+
attested_at: attested_at
|
|
901
|
+
)
|
|
902
|
+
url, params = @sdk_configuration.get_server_details
|
|
903
|
+
base_url = Utils.template_url(url, params)
|
|
904
|
+
url = Utils.generate_url(
|
|
905
|
+
Models::Operations::GetBankAccountAttestationEligibilityRequest,
|
|
906
|
+
base_url,
|
|
907
|
+
'/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations-eligibility',
|
|
908
|
+
request
|
|
909
|
+
)
|
|
910
|
+
headers = {}
|
|
911
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
912
|
+
query_params = Utils.get_query_params(Models::Operations::GetBankAccountAttestationEligibilityRequest, request, nil)
|
|
913
|
+
headers['Accept'] = 'application/json'
|
|
914
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
915
|
+
|
|
916
|
+
security = @sdk_configuration.security_source&.call
|
|
917
|
+
|
|
918
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
919
|
+
timeout ||= @sdk_configuration.timeout
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
connection = @sdk_configuration.client
|
|
923
|
+
|
|
924
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
925
|
+
config: @sdk_configuration,
|
|
926
|
+
base_url: base_url,
|
|
927
|
+
oauth2_scopes: nil,
|
|
928
|
+
operation_id: 'getBankAccountAttestationEligibility',
|
|
929
|
+
security_source: @sdk_configuration.security_source
|
|
930
|
+
)
|
|
931
|
+
|
|
932
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
933
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
begin
|
|
937
|
+
http_response = T.must(connection).get(url) do |req|
|
|
938
|
+
req.headers.merge!(headers)
|
|
939
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
940
|
+
req.params = query_params
|
|
941
|
+
Utils.configure_request_security(req, security)
|
|
942
|
+
http_headers&.each do |key, value|
|
|
943
|
+
req.headers[key.to_s] = value
|
|
944
|
+
end
|
|
945
|
+
|
|
946
|
+
@sdk_configuration.hooks.before_request(
|
|
947
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
948
|
+
hook_ctx: hook_ctx
|
|
949
|
+
),
|
|
950
|
+
request: req
|
|
951
|
+
)
|
|
952
|
+
end
|
|
953
|
+
rescue StandardError => e
|
|
954
|
+
error = e
|
|
955
|
+
ensure
|
|
956
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
957
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
958
|
+
error: error,
|
|
959
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
960
|
+
hook_ctx: hook_ctx
|
|
961
|
+
),
|
|
962
|
+
response: http_response
|
|
963
|
+
)
|
|
964
|
+
else
|
|
965
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
966
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
967
|
+
hook_ctx: hook_ctx
|
|
968
|
+
),
|
|
969
|
+
response: http_response
|
|
970
|
+
)
|
|
971
|
+
end
|
|
972
|
+
|
|
973
|
+
if http_response.nil?
|
|
974
|
+
raise error if !error.nil?
|
|
975
|
+
raise 'no response'
|
|
976
|
+
end
|
|
977
|
+
end
|
|
978
|
+
|
|
979
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
980
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
981
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
982
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
983
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
984
|
+
hook_ctx: hook_ctx
|
|
985
|
+
),
|
|
986
|
+
response: http_response
|
|
987
|
+
)
|
|
988
|
+
response_data = http_response.env.response_body
|
|
989
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::BankAccountAttestationEligibility)
|
|
990
|
+
response = Models::Operations::GetBankAccountAttestationEligibilityResponse.new(
|
|
991
|
+
status_code: http_response.status,
|
|
992
|
+
content_type: content_type,
|
|
993
|
+
raw_response: http_response,
|
|
994
|
+
headers: http_response.headers,
|
|
995
|
+
bank_account_attestation_eligibility: T.unsafe(obj)
|
|
996
|
+
)
|
|
997
|
+
|
|
998
|
+
return response
|
|
999
|
+
else
|
|
1000
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
1001
|
+
end
|
|
1002
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
|
1003
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
1004
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
1005
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
1006
|
+
hook_ctx: hook_ctx
|
|
1007
|
+
),
|
|
1008
|
+
response: http_response
|
|
1009
|
+
)
|
|
1010
|
+
response_data = http_response.env.response_body
|
|
1011
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
1012
|
+
obj.raw_response = http_response
|
|
1013
|
+
raise obj
|
|
1014
|
+
else
|
|
1015
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
1016
|
+
end
|
|
1017
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
|
|
1018
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1019
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
1020
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1021
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
1022
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1023
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
1024
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1025
|
+
else
|
|
1026
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
|
1027
|
+
|
|
1028
|
+
end
|
|
1029
|
+
end
|
|
1030
|
+
|
|
1031
|
+
|
|
593
1032
|
sig { params(account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::InitiateMicroDepositsResponse) }
|
|
594
1033
|
def initiate_micro_deposits(account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
|
|
595
1034
|
# initiate_micro_deposits - Micro-deposits help confirm bank account ownership, helping reduce fraud and the risk of unauthorized activity.
|
data/lib/moov/card_issuing.rb
CHANGED
|
@@ -745,7 +745,7 @@ module Moov
|
|
|
745
745
|
# Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
|
|
746
746
|
#
|
|
747
747
|
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
748
|
-
# you'll need to specify the `/accounts/{accountID}/issued-cards.read-
|
|
748
|
+
# you'll need to specify the `/accounts/{accountID}/issued-cards.read-private` scope.
|
|
749
749
|
request = Models::Operations::GetFullIssuedCardRequest.new(
|
|
750
750
|
account_id: account_id,
|
|
751
751
|
issued_card_id: issued_card_id
|
data/lib/moov/images.rb
CHANGED
|
@@ -167,7 +167,7 @@ module Moov
|
|
|
167
167
|
sig { params(image_upload_request_multi_part: Models::Components::ImageUploadRequestMultiPart, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UploadImageResponse) }
|
|
168
168
|
def upload(image_upload_request_multi_part:, account_id:, timeout_ms: nil, http_headers: nil)
|
|
169
169
|
# upload - Upload a new PNG, JPEG, or WebP image with optional metadata.
|
|
170
|
-
# Duplicate images
|
|
170
|
+
# Duplicate images return the existing image's metadata with a 409 status. Requests larger than 16MB will be rejected.
|
|
171
171
|
request = Models::Operations::UploadImageRequest.new(
|
|
172
172
|
account_id: account_id,
|
|
173
173
|
image_upload_request_multi_part: image_upload_request_multi_part
|
|
@@ -282,7 +282,7 @@ module Moov
|
|
|
282
282
|
else
|
|
283
283
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
284
284
|
end
|
|
285
|
-
elsif Utils.match_status_code(http_response.status, ['400'
|
|
285
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
|
286
286
|
if Utils.match_content_type(content_type, 'application/json')
|
|
287
287
|
http_response = @sdk_configuration.hooks.after_success(
|
|
288
288
|
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
@@ -297,6 +297,21 @@ module Moov
|
|
|
297
297
|
else
|
|
298
298
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
299
299
|
end
|
|
300
|
+
elsif Utils.match_status_code(http_response.status, ['409'])
|
|
301
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
302
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
303
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
304
|
+
hook_ctx: hook_ctx
|
|
305
|
+
),
|
|
306
|
+
response: http_response
|
|
307
|
+
)
|
|
308
|
+
response_data = http_response.env.response_body
|
|
309
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ImageMetadataError)
|
|
310
|
+
obj.raw_response = http_response
|
|
311
|
+
raise obj
|
|
312
|
+
else
|
|
313
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
314
|
+
end
|
|
300
315
|
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
301
316
|
if Utils.match_content_type(content_type, 'application/json')
|
|
302
317
|
http_response = @sdk_configuration.hooks.after_success(
|
data/lib/moov/institutions.rb
CHANGED
|
@@ -168,7 +168,7 @@ module Moov
|
|
|
168
168
|
|
|
169
169
|
sig { params(name: T.nilable(::String), routing_number: T.nilable(::String), state: T.nilable(::String), limit: T.nilable(::Integer), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListInstitutionsResponse) }
|
|
170
170
|
def search(name: nil, routing_number: nil, state: nil, limit: nil, timeout_ms: nil, http_headers: nil)
|
|
171
|
-
# search - This endpoint has been deprecated and will be removed in a future release. Use [/institutions](https://docs.moov.io/api/enrichment/
|
|
171
|
+
# search - This endpoint has been deprecated and will be removed in a future release. Use [/institutions](https://docs.moov.io/api/enrichment/institutions/get/).
|
|
172
172
|
#
|
|
173
173
|
# Search for institutions by either their name or routing number.
|
|
174
174
|
#
|
|
@@ -15,9 +15,9 @@ module Moov
|
|
|
15
15
|
# Unique identifier for this account.
|
|
16
16
|
field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), 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
|
# The type of entity represented by this account.
|
|
20
|
-
field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.
|
|
20
|
+
field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AccountType, false) } }
|
|
21
21
|
|
|
22
22
|
field :display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('displayName'), required: true } }
|
|
23
23
|
# Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
|
|
@@ -13,13 +13,13 @@ module Moov
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
# Verification result of the cardholder's first name.
|
|
16
|
-
field :first_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), 'decoder': ::Moov::Utils.
|
|
16
|
+
field :first_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
17
17
|
# Verification result of the cardholder's last name.
|
|
18
|
-
field :last_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), 'decoder': ::Moov::Utils.
|
|
18
|
+
field :last_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
19
19
|
# Verification result of the cardholder's middle name.
|
|
20
|
-
field :middle_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('middleName'), 'decoder': ::Moov::Utils.
|
|
20
|
+
field :middle_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('middleName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
21
21
|
# Verification result of the cardholder's full name.
|
|
22
|
-
field :full_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), 'decoder': ::Moov::Utils.
|
|
22
|
+
field :full_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
23
23
|
|
|
24
24
|
sig { params(first_name: T.nilable(Models::Components::CardVerificationResult), last_name: T.nilable(Models::Components::CardVerificationResult), middle_name: T.nilable(Models::Components::CardVerificationResult), full_name: T.nilable(Models::Components::CardVerificationResult)).void }
|
|
25
25
|
def initialize(first_name: nil, last_name: nil, middle_name: nil, full_name: nil)
|
|
@@ -8,12 +8,14 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
# AccountType - The type of entity represented by this account.
|
|
11
|
-
class AccountType
|
|
11
|
+
class AccountType
|
|
12
|
+
include ::Crystalline::Enum
|
|
12
13
|
enums do
|
|
13
14
|
INDIVIDUAL = new('individual')
|
|
14
15
|
BUSINESS = new('business')
|
|
15
16
|
GUEST = new('guest')
|
|
16
17
|
end
|
|
18
|
+
open!
|
|
17
19
|
end
|
|
18
20
|
end
|
|
19
21
|
end
|
|
@@ -10,7 +10,8 @@ module Moov
|
|
|
10
10
|
# AccountVerificationStatus - Possible states an account verification can be in.
|
|
11
11
|
#
|
|
12
12
|
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
13
|
-
class AccountVerificationStatus
|
|
13
|
+
class AccountVerificationStatus
|
|
14
|
+
include ::Crystalline::Enum
|
|
14
15
|
enums do
|
|
15
16
|
UNVERIFIED = new('unverified')
|
|
16
17
|
PENDING = new('pending')
|
|
@@ -19,6 +20,7 @@ module Moov
|
|
|
19
20
|
VERIFIED = new('verified')
|
|
20
21
|
FAILED = new('failed')
|
|
21
22
|
end
|
|
23
|
+
open!
|
|
22
24
|
end
|
|
23
25
|
end
|
|
24
26
|
end
|
|
@@ -12,6 +12,8 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
+
# Status of a transaction within the ACH lifecycle.
|
|
16
|
+
field :status, Models::Components::ACHTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHTransactionStatus, false) } }
|
|
15
17
|
|
|
16
18
|
field :trace_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('traceNumber'), required: true } }
|
|
17
19
|
|
|
@@ -19,8 +21,9 @@ module Moov
|
|
|
19
21
|
|
|
20
22
|
field :correction, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('correction') } }
|
|
21
23
|
|
|
22
|
-
sig { params(trace_number: ::String, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
|
|
23
|
-
def initialize(trace_number:, return_: nil, correction: nil)
|
|
24
|
+
sig { params(status: Models::Components::ACHTransactionStatus, trace_number: ::String, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
|
|
25
|
+
def initialize(status:, trace_number:, return_: nil, correction: nil)
|
|
26
|
+
@status = status
|
|
24
27
|
@trace_number = trace_number
|
|
25
28
|
@return_ = return_
|
|
26
29
|
@correction = correction
|
|
@@ -29,6 +32,7 @@ module Moov
|
|
|
29
32
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
33
|
def ==(other)
|
|
31
34
|
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @status == other.status
|
|
32
36
|
return false unless @trace_number == other.trace_number
|
|
33
37
|
return false unless @return_ == other.return_
|
|
34
38
|
return false unless @correction == other.correction
|
|
@@ -17,9 +17,9 @@ module Moov
|
|
|
17
17
|
# An optional override of the default NACHA company name for a transfer.
|
|
18
18
|
field :originating_company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('originatingCompanyName') } }
|
|
19
19
|
# Code used to identify the ACH authorization method.
|
|
20
|
-
field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.
|
|
20
|
+
field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SECCode, true) } }
|
|
21
21
|
# An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
|
|
22
|
-
field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.
|
|
22
|
+
field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DebitHoldPeriod, true) } }
|
|
23
23
|
|
|
24
24
|
field :addenda, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TransferACHAddendaRecord)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addenda') } }
|
|
25
25
|
|