Skip to content

ACH Transfers

All requests require clientID and developerAPIKey parameters for authentication.

Base URL: https://api-sandboxdash.norcapsecurities.com

Endpoints


POST /v3/createExternalAccount

Note: Use the linkExternalAccount endpoint unless you have a specific use case and authorization to use this one. This method is only to be used in conjunction with an independent Plaid integration.

This method is used to add information to an Account (createAccount) for an external bank account which an ACH transfer can be initiated from. Only one external account can be created for an account. External accounts can have funds debited from them (externalFundMove).

Parameters

Parameter Type Required Description
types string Yes External Bank Account Type: Account
accountId string Yes Account ID that is generated by the API when an Account is created (createAccount)
ExtAccountfullname string Yes Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Yes Nickname for the External Account (Special characters are not accepted in this field)
ExtRoutingnumber integer Yes External Bank Account - Routing Number
ExtAccountnumber integer Yes External Bank Account - Account Number
ExtBankname string No External Bank Account - Bank Name
updatedIpAddress string Yes IP Address associated with the createExternalAccount method call
accountType string No Account type Checking / Savings. By default Checking

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createExternalAccount
-d developerAPIKey=somedeveloperkey 
-d clientID=someclientid 
-d types=Account 
-d accountId=A20168 
-d ExtAccountfullname=John Abraham 
-d Extnickname=John Nick 
-d ExtBankname=Union Bank
-d ExtRoutingnumber=34543534 
-d ExtAccountnumber=1234567890 
-d updatedIpAddress=10.0.0.115

Response

Field Type Description
accountId string Account ID
ExtAccountfullname string External account full name
Extnickname string External account nickname
ExtRoutingnumber integer External account bank routing number
ExtAccountnumber integer External account bank account number
types string Type Account/Issuer
accountType string Account type: Checking / Savings. (Default - Checking)

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "External Account Details": [
    true,
    [
      {
        "accountId": "A78129645",
        "ExtAccountfullname": "Lauren Test",
        "Extnickname": "Testing",
        "ExtRoutingnumber": "MDUzMDAwMTk2",
        "ExtAccountnumber": "MTAwMDAwMDA=",
        "types": "Account",
        "accountType": "Checking"
      }
    ]
  ]
}

POST /v3/deleteExternalAccount

This method is used to delete a particular external bank account (createExternalAccount) that was created for an account (createAccount). The Account ID must be specified as a request parameter to delete the external account.

Parameters

Parameter Type Required Description
types string Yes Account
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account is created (createAccount).

Example Request

curl --request POST \
     --url https://api-sandboxdash.norcapsecurities.com/v3/deleteExternalAccount \
     --header 'content-type: application/json' \
     --data '
{
  "accountId": "A123456",
  "types": "Account",
  "clientID": "someClientID",
  "developerAPIKey": "someDeveloperAPIKey"
}
'

Response

Field Type Description
accountId string Account ID
Ext\_Status string External account status deleted or not

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "Account External Account Details": [
    true,
    [
      {
        "accountId": "A123456",
        "Ext_status": "Deleted"
      }
    ]
  ]
}

POST /v3/externalFundMove

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API once an account (createAccount) or Issuer (createIssuer) is created
offeringId integer Yes Offering ID that is generated by the API once an offering is created (createOffering)
tradeId integer Yes Trade ID that is generated by the API once a trade is created (createTrade). A trade must be created before externalFundMove can be performed.
NickName string Yes Nickname given to the external account. This must match the Extnickname value in createExternalAccount. If using linkExternalAccount, Extnickname value can be retrieved via getExternalAccount
amount decimal Yes The amount to be debited from the external account. The amount is limited to $100,000.00
description string Yes Description of the fund move (Investment in [offering])
checkNumber integer Yes Check number should be same as trade ID
createdIpAddress string No IP address associated with the externalFundMove method call

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/externalFundMove
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=985742
-d offeringId=97421
-d tradeId=7766362363632
-d NickName=Tester Jones
-d amount=10000.50
-d checkNumber=7766362363632
-d description=Example Transaction
-d createdIpAddress=10.0.0.9

Response

Field Type Description
externalFundMove Details string Returns the fund move details as an array

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "TradeFinancialDetails": [
    {
      "accountId": "A49501",
      "tradeId": "257528259",
      "offeringId": "81272",
      "totalAmount": "1000.000000",
      "RefNum": "464266069",
      "fundStatus": "Pending"
    }
  ]
}

POST /v3/getAchPendingId

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API once an Account (createAccount) or Issuer (createIssuer) is created

Response

Field Type Description
investorExternalAccountDetails string Returns the tristate trade details with pending status as an array

POST /v3/getExternalAccount

Parameters

Parameter Type Required Description
types string Yes Account
accountId string Yes Account Id that is generated by the API when an Account is created (createAccount)

Example Request

curl --request POST \
     --url https://api-sandboxdash.norcapsecurities.com/v3/getExternalAccount \
     --header 'content-type: application/json' \
     --data '
{
  "clientID": "someClientID",
  "developerAPIKey": "someDeveloperAPIKey",
  "accountId": "A12345",
  "types": "Account"
}
'

Response

Field Type Description
accountId string Account ID generated by the API

Example Response

{
  "statusCode": "101",
  "accountId": "A1543842",
  "statusDesc": {
    "AccountName": "Test Account Name",
    "AccountNickName": "Plaid Saving - America First Credit Union",
    "AccountRoutingNumber": "021531323",
    "AccountNumber": "1111222233331111",
    "accountType": "Savings",
    "updatedDate": "0000-00-00 00:00:00",
    "createdDate": "2022-10-26 23:10:39"
  }
}

POST /v3/getExternalFundMove

This method is used to get the details and current status for an external fund move. The Account ID and Reference Number must be specified as a request parameter to get the external fund move details and current status.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created
RefNum integer Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getExternalFundMove
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=A85742
-d RefNum=685427152

Response

Field Type Description
externalFundMove details string Returns the fund move details as an array

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": [
    {
      "accountId": "A49501",
      "tradeId": "529293396",
      "offeringId": "81272",
      "Bankname": "Testing",
      "totalAmount": "1000.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIxMDAwMzU4",
      "RefNum": "367253829",
      "Accountfullname": "John Smith",
      "transactionstatus": "Approved",
      "routingNumberStatus": "Verified",
      "fundStatus": "Submitted",
      "errors": null,
      "createdDate": "2018-09-19 08:57:04"
    }
  ]
}

POST /v3/getExternalFundMoveHistory

This method is used to retrieve all the external fund move details for all ACH transactions that have been processed for a particular Account (createAccount)

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getExternalFundMoveHistory
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d accountId=A77952

Response

Field Type Description
acccountFundmoveDetails string Array of external fund move details for an account that includes all information for the fund moves created for the matched account

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": [
    {
      "accountId": "A49501",
      "tradeId": "880696248",
      "offeringId": "81272",
      "Bankname": "Testing",
      "totalAmount": "1000.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Approved",
      "routingNumberStatus": "Verified",
      "fundStatus": "Verification Pending",
      "errors": null,
      "createdDate": "2018-06-16 05:49:10"
    },
    {
      "accountId": "A49501",
      "tradeId": "623303227",
      "offeringId": "44238",
      "Bankname": "Testing",
      "totalAmount": "5.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Pending",
      "routingNumberStatus": "Verified",
      "fundStatus": "Pending",
      "errors": null,
      "createdDate": "2018-07-06 11:35:45"
    },
    {
      "accountId": "A49501",
      "tradeId": "385938050",
      "offeringId": "44238",
      "Bankname": "Testing",
      "totalAmount": "1.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Pending",
      "routingNumberStatus": "Verified",
      "fundStatus": "Pending",
      "errors": null,
      "createdDate": "2018-07-06 11:59:16"
    }
  ]
}

POST /v3/getExternalFundMoveInfo

This method is used to get all information for an external fund move. The Account ID (createAccount) and Reference Number (included in the externalFundMove response) must be specified as a request parameter to get all external fund move information.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created
RefNum string Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getExternalFundMoveInfo
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d RefNum=685427152
-d accountId=A12345

Response

Field Type Description
investorExternalAccountDetails string[] Returns the external account details as an array
ACHDetails string[] Returns the ACH details as an array

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": {
    "fundStatus": "Returned",
    "error": "101 - Settled Trade"
  },
  "ACHDetails": {
    "accountId": "A3040386",
    "fundStatus": "Returned",
    "tradeId": "1001577983",
    "createdDate": "2024-07-31 17:18:59",
    "accountName": "John Smith's Account",
    "clientName": "example client",
    "issueName": "example offering"
  }
}

POST /v3/linkExternalAccount

* This Method has third party fees associated with it that will be charged for each use. The cost to use this method is $1.80 each time the method is invoked. (Only applies in live API environment. Does not apply in the Sandbox Environment) *** This method is used to add an external account using Plaid. Only one external account can be created for an account. STEP ONE: Invoke the "LinkExternalAccount" API method from a web form using cURL. Failures will see the response with corresponding error codes. STEP TWO: Successful calls will provide the response as below : { "statusCode": "101", "statusDesc": "Ok", "AccountDetails":" https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value] " } . STEP THREE: Get the content of the response and run it. You should see the Login widget on the webpage. Example PHP snippet : $res = json_decode($result); print_r(file_get_contents($res->accountDetails));

Parameters

Parameter Type Required Description
accountId string Yes Account ID generated by the API

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/linkExternalAccount
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=A12345

Response

Field Type Description
accountDetails string Response URL

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": " https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value] "
}

POST /v3/requestForVoidACH

This method is used to update the pending ACH transaction to void. This can only be used on a transaction that is in a "Pending" status. "Pending" transactions are submitted for processing at 6:00 PM Eastern Time every business day.

Parameters

Parameter Type Required Description
RefNum integer Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/requestForVoidACH
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d RefNum=313889266

Response

Field Type Description
investorExternalAccountDetails string Status Updated Successfully

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": "Status Updated Successfully"
}

POST /v3/updateExternalAccount

This method is used to update fields related to a particular external account for an Account (createAccount). The Account ID must be specified as a request parameter to update the record.

Parameters

Parameter Type Required Description
ExtAccountfullname string Yes Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Yes Nickname for the external account
types string Yes Is this for an account or issuer account?
accountId / issuerId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.
ExtRoutingnumber integer Yes External Bank Account - Routing Number
ExtAccountnumber integer Yes External Bank Account - Account Number
updatedIpAddress string No IP Address of the updateExternalAccount method call
accountType string No Account type Checking / Savings. By default Checking

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateExternalAccount
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d types=Account
-d accountid=A12345
-d ExtAccountfullname=John Abraham
-d Extnickname=John Nick
-d ExtRoutingnumber=34543534
-d ExtAccountnumber=1234567890
-d accountType=Checking
-d updatedIpAddress=10.0.0.115

Response

Field Type Description
accountId / issuerId string Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.
ExtAccountfullname string Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Nickname for the External Account
ExtRoutingNumber integer External Bank Account - Routing Number
ExtAccountnumber integer External Bank Account - Account Number
types string Is this for an Account or Issuer Account?
accountType string Account type Checking / Savings. By default Checking

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": [
    true,
    [
      {
        "accountId": "5705166",
        "ExtAccountfullname": "John",
        "Extnickname": "John account",
        "ExtRoutingnumber": "34543534",
        "ExtAccountnumber": "1234567890",
        "accountType": "Checking",
        "types": "Account"
      }
    ]
  ]
}

POST /v3/updateLinkExternalAccount

* This Method has third party fees associated with it that will be charged for each use. The cost to use this method is $1.80 each time the method is invoked. (Only applies in live API environment. Does not apply in the Sandbox Environment) *** This method is used to update an external account using Plaid. Only one external account can be created for an account

Parameters

Parameter Type Required Description
accountId string Yes Account ID generated by the API

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateLinkExternalAccount
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=A12345

Response

Field Type Description
accountDetails string Response URL

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": "https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value]"
}

POST /v3/validateABARoutingNumber

This method is used to validate the routing number for an external account (createExternalAccount)

Parameters

Parameter Type Required Description
routingNumber integer Yes The Bank ABA routing number to be validated

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/validateABARoutingNumber
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d routingNumber=123456789

Response

Field Type Description
accountDetails string Routing number valid / invalid

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": "Valid routing number"
}