Finxera

Back to documentation index

collectFunds

The collectFunds method allows you to bring funds into your client's Finxera account from an external source, another Finxera acount, or credit card . Possible methods include funding using ACH, Credit Card and internal Book transfers. You can schedule funds movement in the future by specifying a date, give multiple dates for recurring payments, or have Finxera execute immediately by not specifying a date.

Request Parameters

  Parameter Required Type Description
subscriberId Y long Specify subscriber ID issued when Finxera account is created.
sessionId N long sessionId is sent to ThreatMetrix along with the collectFunds request so that ThreatMetrix will verify that the transaction should be completed or rejected
merchantId N long MerchantId routes the funds through a particular merchant under the subscriber to the client's SVA.
+ method Y Object The method must include only one of {book, ach, creditcard} as an empty parameter.
+ source Y Object Must choose from linkedExternalAccountId, newExternalAccount, or account parameters. Do not include more than one.
+ destinationAccount Y Object The funds will move from the source to the destination account specified in this parameter.
+ items Y Object items

Response Parameters

  Parameter   Type Description
requestId   long 13 digit ID for the API request being made.
status   int Status of completed request, either 1 for pass, or 0 for fail.
+ itemStatuses   Object Item Statuses

WSDL URL (Production) :  https://api.bancbox.com/v3/BBXPort?wsdl
WSDL URL (SandBox) :  https://sandbox-api.bancbox.com/v3/BBXPort?wsdl

Sample Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="schema.bancbox.com">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:collectFunds>
         <collectFundsRequest>
            <subscriberId>?</subscriberId>
            <!--Optional:-->
            <sessionId>?</sessionId>
            <!--Optional:-->
            <merchantId>?</merchantId>
            <method>
               <!--You have a CHOICE of the next 3 items at this level-->
               <book/>
               <ach/>
               <creditcard/>
            </method>
            <source>
               <!--You have a CHOICE of the next 3 items at this level-->
               <account>
                  <!--Optional:-->
                  <bancBoxId>?</bancBoxId>
                  <!--Optional:-->
                  <subscriberReferenceId>?</subscriberReferenceId>
               </account>
               <linkedExternalAccountId>
                  <!--Optional:-->
                  <bancBoxId>?</bancBoxId>
                  <!--Optional:-->
                  <subscriberReferenceId>?</subscriberReferenceId>
               </linkedExternalAccountId>
               <newExternalAccount>
                  <account>
                     <!--You have a CHOICE of the next 2 items at this level-->
                     <bankAccount>
                        <routingNumber>?</routingNumber>
                        <accountNumber>?</accountNumber>
                        <holderName>?</holderName>
                        <bankAccountType>?</bankAccountType>
                     </bankAccount>
                     <creditCardAccount>
                        <!--You have a CHOICE of the next 2 items at this level-->
                        <cardPresent>
                           <trackdata>?</trackdata>
                           <!--Optional:-->
                           <pos>
                              <!--Optional:-->
                              <capability>?</capability>
                              <!--Optional:-->
                              <entryMode>?</entryMode>
                              <!--Optional:-->
                              <cardholderId>?</cardholderId>
                              <!--Optional:-->
                              <terminalId>?</terminalId>
                           </pos>
                           <!--Optional:-->
                           <orderSource>?</orderSource>
                        </cardPresent>
                        <cardNotPresent>
                           <!--You have a CHOICE of the next 2 items at this level-->
                           <tokenizedId>?</tokenizedId>
                           <creditCardDetails>
                              <number>?</number>
                              <expiryDate>?</expiryDate>
                              <type>?</type>
                              <name>?</name>
                              <cvv>?</cvv>
                              <address>
                                 <line1>?</line1>
                                 <!--Optional:-->
                                 <line2>?</line2>
                                 <city>?</city>
                                 <state>?</state>
                                 <zipcode>?</zipcode>
                                 <!--Optional:-->
                                 <country>?</country>
                              </address>
                              <!--Optional:-->
                              <orderSource>?</orderSource>
                           </creditCardDetails>
                        </cardNotPresent>
                     </creditCardAccount>
                  </account>
               </newExternalAccount>
            </source>
            <destinationAccount>
               <!--You have a CHOICE of the next 2 items at this level-->
               <account>
                  <!--Optional:-->
                  <bancBoxId>?</bancBoxId>
                  <!--Optional:-->
                  <subscriberReferenceId>?</subscriberReferenceId>
               </account>
               <subscriberNamedAccount>?</subscriberNamedAccount>
            </destinationAccount>
            <!--1 or more repetitions:-->
            <items>
               <!--Optional:-->
               <referenceId>?</referenceId>
               <amount>?</amount>
               <!--Optional:-->
               <memo>?</memo>
               <!--Optional:-->
               <scheduled>
                  <scheduleDate>?</scheduleDate>
               </scheduled>
            </items>
         </collectFundsRequest>
      </sch:collectFunds>
   </soapenv:Body>
</soapenv:Envelope>

Sample Response

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="schema.bancbox.com">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:collectFundsResponse>
         <return>
            <!--Optional:-->
            <requestId>?</requestId>
            <status>?</status>
            <!--Zero or more repetitions:-->
            <warnings>
               <!--Optional:-->
               <code>?</code>
               <!--Optional:-->
               <message>?</message>
            </warnings>
            <!--Zero or more repetitions:-->
            <errors>
               <!--Optional:-->
               <code>?</code>
               <!--Optional:-->
               <message>?</message>
            </errors>
            <!--Zero or more repetitions:-->
            <itemStatuses>
               <!--Optional:-->
               <id>
                  <!--Optional:-->
                  <bancBoxId>?</bancBoxId>
                  <!--Optional:-->
                  <subscriberReferenceId>?</subscriberReferenceId>
               </id>
               <!--Optional:-->
               <status>?</status>
               <!--Optional:-->
               <messageCode>?</messageCode>
               <!--Optional:-->
               <messageDesc>?</messageDesc>
               <!--Optional:-->
               <code>?</code>
               <!--Optional:-->
               <message>?</message>
               <!--Optional:-->
               <itemStatus>?</itemStatus>
               <!--Optional:-->
               <externalReferenceId>?</externalReferenceId>
            </itemStatuses>
         </return>
      </sch:collectFundsResponse>
   </soapenv:Body>
</soapenv:Envelope>

Note:For REST, Content-type should be set to application/json
URL (Production) :  https://api.bancbox.com/v3/BBXPortRest/collectFunds
URL (SandBox) :  https://sandbox-api.bancbox.com/v3/BBXPortRest/collectFunds

Sample Request

{
    "authentication": {
        "apiKey": "YOUR_API_KEY_HERE",
        "secret": "SECRET_PASSPHRASE"
    },
    "subscriberId": ,
   "merchantId":,
    "method": "creditcard",
    "source": {
        "newExternalAccount": {
            "creditCardAccount": {
   "cardNotPresent":{
                "creditCardDetails": {
                    "number": "",
                    "expiryDate": "",
                    "type": "",
                    "name": "",
                    "cvv": "",
                    "address": {
                        "line1": "",
                        "line2": "",
                        "city": "",
                        "state": "",
                        "zipcode": "",
                        "country": ""
                    }
                    }
                }
            }
        }
    },
    "destinationAccount": {
        "account": {
            "bancBoxId": ""
        }
    },
    "items": [
        {
            
            "amount": ,
           "memo":""
            
        }
        
    ]
}

Sample Response

{
   "itemStatuses":    [
            {
         "code": "",
         "message": ""
      },
            {
         "id": {"bancBoxId": },
         "status": "",
         "itemStatus": 1,
         "externalReferenceId": ""
      }
   ],
   "requestId": ,
   "status": ,
   "warnings": null
}

Note: This is a beta version. The api listed here are likely to change.