Lending
Loan funding - payment rails
Pull funding from merchant
5 min
the pullfunding api provides a method for mpls to retrieve funds from merchant accounts back into the bank, using {{nacha}} debits this is especially useful when a merchant initiates a return or refund, as it reduces the need for manual reconciliation or additional requests, by reusing previously funded loan it is best practice to wait three days before sending out funds after a successful pull according to nacha standards, a pull can be returned to the merchant most returns tend to occur within the first three days to reduce the likelihood of overfunding, it is advisable to wait before sending out the next fundinginfo request flow of funds when this api can be called before calling the pullfunding api, ensure the loan is eligible for using this api according to loan status and amount being requested loan status should be one of the following notfullyfunded funded readytosell sold amount being requested in the api should be greater than 0 and less than the sum of rails that have been successfully sent and haven't been returned 0 < amount <= loan amountfunded flow of pullfunding when this api succeeds, you receive an id in the response track this rail id using the railupdated webhook events the full list of fundresults of the rail is in the railresulttype enums using the pullfunding api, is essentially asking for a return of funds to the loan unlike the success of a standard push rail, a successful pull will be in a returned status and not in a success status these statuses have different meanings than other rail statuses action fundresult ( railresulttype enums ) description put /pullfunding succeeds requested pull funds has been requested the pull succeeds returned the pull funds request has been successfully received by nacha, and the bank has received the funds the pull amount has been returned to the loan pull is returned pullreturned the ach pull, has been returned the amount available in the loan for funding, will be deducted by the rail amount put /{loanid}/ pullfunding name pull funding method put url https arixapisandbox crbnj net loan loanid pullfunding description tab examples examples languages id t dbva86d68la7zvjefrn language curl code curl location request put https arixapisandbox crbnj net loan 215eb077 3a00 4ed3 995b b226010ccc78 pullfunding n header authorization bearer token n header content type application json n data n fundingpull n rail n n achfields n standardentryclasscode ppd n transactiontype pull n toroutingnumber 021214891 n toaccounttype gl n toaccountname ari n toaccountnumber 9999999999 n description pulling from ari n n railtype cosach n priority 1 n amount 100 n n n customlabel selectedlanguageid t dbva86d68la7zvjefrn results languages id qqhilt fhhpgn7vzgszaq language 200 customlabel code n loanid e92081b4 8735 4294 a061 b22400cdeb8b n rail n achfields n standardentryclasscode ppd n transactiontype pull n toroutingnumber 021214891 n toaccounttype gl n toaccountname account name to pull from n toaccountnumber 9999999999 n n id 68e96cb3 a449 460b ad7e b22400ce10fe n railtype cosach n priority 1 n amount 500 n loanid e92081b4 8735 4294 a061 b22400cdeb8b n mplid tst n isfailed false n loantype undefined n n id tyfobrzvvk1n0suyh7d l language 400 code n responsestatus n errorcode badrequest n message pullfunding amount should be less than or equal to current amountfunded 500 n errors n n n customlabel selectedlanguageid tyfobrzvvk1n0suyh7d l request pathparameters name loanid kind required type string description the unique id of the loan returned from the post loan api call children queryparameters headerparameters bodydataparameters name fundingpull kind required type object description children name rail kind required type object description children name achfields kind required type object description children name standardentryclasscode kind required type string description the type of account n nppd consumer accounts n n ccd corporate accounts n n name toroutingnumber kind required type string description routing number of the bank we are attempting to pull funds from nthe value entered for this field is validated up front and it must be 9 digits long name toaccountname kind required type string description name on the merchant account that we are pulling from nlimited to 22 characters name toaccountnumber kind required type string description account number n nlimited to 17 digits n name description kind required type string description mapped to identification field in the nacha file nlimited to 15 characters name transactiontype kind required type string description pull n nthis should be a constant value for pullfunding name toaccounttype kind required type string description checking account or savings account name railtype kind required type string description cosach for standard ach ncosachsd for same day funding ach name amount kind required type number description the amount of money to pull name priority kind optional type integer description if more than one pull is needed then the order in which they are sent can have a priority nthis is the order the rails should be processed starts with number 1 formdataparameters currentnewparameter label body parameter value bodydataparameters response name id kind optional type string description the id of the rail being pulled use this to track updates of the railupdated hook event n