Fund your account

Before submitting your first order, you need to fund your account. In Tango, you can fund free of charge via Automated Clearing House (ACH), wire transfer, or check. You may also use credit cards to fund your account, but there is a 3.5% associated fee with credit cards. Currently, only credit card funding is accessible using the API. Your Tango Customer Success manager (CSM) can provide instructions for using these funding methods.

Fund an account

Use the following endpoints to fund an account.

EndpointDescription
POST {URI}/creditCardDepositsFund an Account.

Here are a list of parameters for when you use POST {URI}/creditCardDeposits to fund an account.

ParameterData typeDescription
customerIdentifierstringSpecify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters.
accountIdentifierstringSpecify the account this credit card is associated with. The string must have 5-100 characters.
creditCardTokenstringSpecify the credit card token to fund with. The string must have 40 characters.
amountstringSpecify the amount to fund in USD.

The response message for this endpoint can be:

  • 200 OK
  • 400 Bad request
  • 401 Unauthorized
  • 403 Forbidden

When you perform a funding call, one of these statuses are returned:

StatusDescriptionAuthorizationAccount balance updateCharged
SuccessThe funding transaction has successfully completed and funds have been applied to the specified account.YesYesYes
PendingThe deposit has been received but the processing is not completed yet. It may be subject to review by Tango. While an authorization has been requested from the issuing bank, a capture/settlement has not yet occurred, and therefore the credit card has not yet been charged, as indicated by amountCharged in the response.

It may take up to three business day for pending deposits to complete processing and transition status.
YesNoNo
DeclinedThe funding transaction did not complete successfully and funds were not applied to the account. The credit card was not charged. If you need assistance, please contact [email protected].Yes*NoNo

The following example shows the response using POST {URI}/creditCardDeposits\ to fund your account:

{
  "accountIdentifier": "string", (5-100 chars)
  "amount": 1000,
  "creditCardToken": "string", (40 chars)
  "customerIdentifier": "string", (5-100 chars)
}

πŸ“˜

Note:

API only allows for credit card funding. You can use a new credit card immediately if it’s successfully registered to your account, however, it may take up to three (3) business days to process a transaction with pending status when adding funds. See Pending status above.

Get details for a specific credit card deposit

Use the GET {URI}/creditCardDeposits/{DepositID} endpoint to get the details of a specific credit card deposit.

EndpointDescription
GET {URI}/creditCardDeposits/{DepositID}Get details for a specific credit card Deposit.

Here is the path parameter for GET {URI}/creditCardDeposits/{DepositID} endpoint.

Path ParameterData typeDescription
referenceDepositIDstringCredit card deposit identifier returned in Fund an Account (POST /creditCardDeposits) response payload.

The response message for this endpoint can be:

  • 200 OK
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found

Unregister a credit card

You may remove a stored credit card from your account by unregistering it. Once a credit card is unregistered it can no longer be used to fund an account until it is registered again.
In some rare instances, Tango may choose to unregister credit cards at its own discretion. If this occurs Tango will make a best effort to notify the business contact on the account.

EndpointDescription
POST {URI}/creditCardUnregistersunregister a credit card.

The following parameters are used for POST {URI}/creditCardUnregisters endpoint to unregister a credit card. The credit card token provided in the call is specially useful when you intend to apply access restrictions.

Body ParameterData typeDescription
customerIdentifierstringSpecify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters.
accountIdentifierstringSpecify the Account this credit card is associated with.
creditCardTokenstringSpecify the credit card token to unregister. The string must have 40 characters.

The response message this query can be:

  • 200 OK
  • 400 Bad request
  • 401 Unauthorized
  • 403 Forbidden

List all credit cards registered on this platform

Use the GET {URI}/creditCards endpoint to list all credit cards registered on your platform.

EndpointDescription
GET {URI}/creditCardsList all credit cards registered on this Platform.

The following parameters are used for GET {URI}/creditCards endpoint.

Query ParameterData typeDescription
showInactivestringShow inactive cards (true or false).
accountNumberstringSpecify the account number to be queried.
accountIdentifierstringSpecify the account identifier to be queried.
customerIdentifierstringSpecify the customer identifier to be queried.
tokenstringCredit card token to be queried.
expirationDatestringSpecify the expiration date of the credit card to be queried.
statusstringShow the status as active or inactive.
emailAddressstringSpecify the contact email address to be queried.
fullNamestringContact person's full name to be queried.
labelstringLabel for the credit card to be queried.
lastFourDigitsstringThe last four digits of the credit card to be queried.

The following example shows the response using GET {URI}/creditCards:

[
  {
    "customerIdentifier": "string",
    "accountIdentifier": "string",
    "token": "string",
    "label": "string",
    "lastFourDigits": "string",
    "expirationDate": "string",
    "status": "string",
    "createdDate": "2024-02-09T04:41:08.735Z",
    "activationDate": "2024-02-09T04:41:08.735Z",
    "contactInformation": [
      {
        "fullName": "string",
        "emailAddress": "string"
      }
    ],
    "accountNumber": "string"
  }
]

The response message for this query can be:

  • 200 OK
  • 400 Bad request
  • 401 Unauthorized
  • 403 Forbidden

Register a new credit card

Currently, only credit card funding is accessible using the API. Credit cards that are successfully registered provide an activation date in the registration response. Registered credit cards are available to fund your account immediately. The first funding after registration must occur after the activation date is returned in the registration response. Any funding attempt prior to the activation date will return an error. All funding calls require the origin token returned at the time of registration.

πŸ“˜

Notes:

  • A maximum of 10 credit cards can be registered in an account at a time, however, we encourage you to regularly audit your credit cards on file (every 60-90 days) and delete any credit card that you do not wish to use, or has been expired.
  • Credit card transactions are subject to a 3.5% processing fee.

Use the following endpoint to register a new credit card on your platform:

EndpointDescription
POST {URI}/creditCardsRegister a new credit card.

Here is the list of parameters for when you use POST {URI}/creditCards to register a new credit card.

Body ParameterData ypeDescription
customerIdentifierstringSpecify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters.
accountIdentifierstringSpecify the account this credit card is associated with The string must have 5-100 characters.
ipAdressstringSpecify the The IP address of the person adding the credit card.
labelstringSpecify a label for the credit card.
creditCardobject(Required) Enter the credit card details that is being registered
-numberstringSpecify the account this order will be deducted from.
-expirationstringSpecify the card expiration date in YYYY-MM format.
-verificationNumberstringSpecify the 3 or 4-digit card security code on back of card (CVV2, CVC2, or CID).
billingAddressobject(Required) Enter the billing address information for the credit card that is being registered.
-firstNamestringSpecify the billing address first name.
-lastNamestringSpecify the billing address last name.
-adressLine1stringSpecify the billing address line 1.
-addressLine2string(Optional) Specify the billing address line 2.
-citystringSpecify the billing address city.
-statestringSpecify the billing address state.
-postalCodestringSpecify the billing address postal code.
-countrystringSpecify the billing address 2-letter country code.
-emailAddressstringSpecify the billing address email.
contactInformationarray of objects(Optional) Enter the contact information of the any person(s) who will be notified if there are issues.
-fullNamestring(Optional) Used for email receipts. Specify the contact full name.
-emailAddressstring(Optional) Used for email receipts. Specify the contact email address.

The response message for this endpoint can be:

  • 201 Created
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden

How to register a new credit card for sandbox?

When registering a credit card for your Sandbox, use the following card number for the type of card you are testing. Other numbers are not supported in the Sandbox environment:

Card brandCredit card numberSecurity code
Visa4111111111111111requires 3-digit security code.
MasterCard5555555555554444requires 3-digit security code.
Discover6011111111111117requires 3-digit security code.
American Express378282246310005requires 4-digit security code.

Test credit card registered with sandbox

You can test a pending credit card deposit status and simulated transitions in our sandbox environment with expected updates within one hour:

Test amountResult
$5.55The initial response status shows PENDING, but will change to SUCCESS within one hour.
$6.55The initial response status shows PENDING, but and change to DECLINED within one hour.
$7.55The initial and final status shows DECLINED.

The following example shows the response using POST {URI}/creditCards to register a fake sandbox credit card for your account:

{
  "accountIdentifier": "string", (5-100 chars)
  "billingAddress": {
    "addressLine1": "123 Street",
    "addressLine2": "Suite 456",
    "city": "Seattle",
    "country": "US",
    "emailAddress": "[email protected]",
    "firstName": "First",
    "lastName": "Last",
    "postalCode": "12345",
    "state": "WA"
  },
  "creditCard": {
    "expiration": "2025-12",
    "number": "4111111111111111",
    "verificationNumber": "123"
  },
  "customerIdentifier": "string", (5-100 chars)
  "ipAddress": "100.10.SAMPLE.10",
  "label": "Test Card"
}

Get an email receipt when registering your credit card

For the credit cards that are successfully registered after March 22, 2018, Tango sends credit card funding receipts to the primary email address included in the registration call as well as up to five additional specified contacts. A contact is defined by an emailAddress and fullName.

Contacts included with a successful registration call are reflected in the response. Contacts can also be retrieved at any time using GET {URI}/creditCards.

Receipts are only sent after a successful funrding attempt has completed processing, the credit card has been charged, and the associated account balance is updated.

πŸ“˜

Note:

For security reasons, the primary email address provided during credit card registration cannot be modified. To change the contacts where receipts are sent, the credit card must be deleted and re-registered with a new contact.

Get details for a specific credit card deposit

To view the details of a specific credit card, use the credit card token provided in the call. This is specially useful when you intend to apply access restrictions.

EndpointDescription
GET {URI}/creditCards/{token}Get details for a specific credit card.

Here is the path parameter for when you use GET {URI}/creditCards/{token} to get details for a specific credit card.

Path parameterData typeDescription
tokenstringCredit card token

The response message for this endpoint can be:

  • 200 OK
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found

Transfer funds

Use this endpoint to transfer funds from one Tango Account to the other.

EndpointDescription
GET {URI}/transferFundsTransfer funds from one Tango Account to the other

πŸ“˜

Note:

You can only transfer funds between accounts of the same currency, such as: USD to USD, or CAD to CAD. Funds cannot be transferred between accounts if they have different currencies, such as USD to EUR.

Use the following parameters with GET {URI}/transferFunds endpoint:

Query parameterData typeDescription
transferFromstring(Required) The accountIdentifier for the Account transferring funds from.
transferTostring(Required) The accountIdentifier for the Account transferring funds to.
amountnumber(Required) The currency amount of the funds being transferred.
transferNotesstring(Optional) Transfer notes (up to 150 characters)

See the following response example when you use GET {URI}/transferFunds endpoint:

{  
  "transferDate": "2024-01-18T23:48:48.562Z",  
  "transferredAmount": 0,
  "transferNotes": "string",
  "transferFrom": {  
    "accountIdentifier": "string",  
    "accountNumber": "string",  
    "displayName": "string",  
    "currencyCode": "string",  
    "startingBalance": 0,  
    "endingBalance": 0,  
    "status": "string",  
    "contactEmail": "string"  
  },  
  "transferTo": {  
    "accountIdentifier": "string",  
    "accountNumber": "string",  
    "displayName": "string",  
    "currencyCode": "string",  
    "startingBalance": 0,  
    "endingBalance": 0,  
    "status": "string",  
    "contactEmail": "string"  
  }  
}

The response message for this endpoint can be:

  • 201 Created
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden

What’s Next