Skip to content

Wire, Check, and IRA

Wire, check and IRA payments are sent by the investor (or, for an IRA, by the investor's IRA custodian) directly to the offering's escrow account. No API call moves the money. Through the API you record the payment method on the trade, give the investor the delivery instructions, and track the trade until it is FUNDED.

Before You Start

Steps

1. Set the trade's payment method

Record how the investor will pay. If you set transactionType to WIRE, CHECK or IRA when you called createTrade, skip this step. Otherwise, or if the investor changes their mind, update the trade. The trade must still be CREATED.

curl -X POST "$TAPI_HOST/v3/updateTradeTransactionType" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d tradeId=123456789 \
  -d transactionType=WIRE
{
  "statusCode": "101",
  "statusDesc": "Ok",
  "TradeDetails": [
    {
      "orderId": "123456789",
      "transactionType": "WIRE",
      "offeringId": "12345",
      "accountId": "A12345",
      "partyId": "P12345",
      "totalAmount": "12345.000000",
      "orderStatus": "CREATED"
    }
  ]
}

Accepted values are ACH, WIRE, CHECK, IRA, TBD, CREDITCARD, EXTERNAL-ACH, EXTERNAL-CREDITCARD and NCPS-CUSTODY-ACCOUNT. They are case-sensitive. Confirm that transactionType in the response matches what you sent. The updateTradeTransactionType webhook reports the change.

2. Send the investor the delivery instructions

Give the investor the escrow account's wire or check instructions, along with the trade amount (totalAmount) and a reference they should include, such as the investor's name and the offering. For an IRA, the investor asks their IRA custodian to send the funds using the same instructions. This step happens in your application, not in the API.

3. Track the trade until it is funded

When the escrow bank receives the funds, North Capital records the payment and updates the trade to FUNDED. You receive the updateTradeStatus webhook when the status changes. To check on demand, read the trade:

curl -X GET "$TAPI_HOST/v3/trades/123456789" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY"
{
  "statusCode": "101",
  "statusDesc": "Ok",
  "trade": {
    "tradeId": "123456789",
    "accountId": "A12345",
    "transactionType": "WIRE",
    "totalAmount": "12345.000000",
    "tradeStatus": "FUNDED"
  }
}

tradeStatus is the field to watch. Wire, check and IRA payments have no fund move record, so paymentStatus does not apply to them.

Webhooks

Common Errors

See Error Codes for the full list.

Code When it happens here
106 tradeId or transactionType is missing.
189 The trade does not exist for your client.
190 The trade is no longer CREATED, so its payment method cannot change.
705 transactionType is not one of the accepted values.

Next

When the trade is FUNDED, continue to Settle and Manage.