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.
Endpoint | Description |
---|---|
POST {URI}/creditCardDeposits | Fund an Account. |
Here are a list of parameters for when you use POST {URI}/creditCardDeposits
to fund an account.
Parameter | Data type | Description |
---|---|---|
customerIdentifier | string | Specify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters. |
accountIdentifier | string | Specify the account this credit card is associated with. The string must have 5-100 characters. |
creditCardToken | string | Specify the credit card token to fund with. The string must have 40 characters. |
amount | string | Specify 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:
Status | Description | Authorization | Account balance update | Charged |
---|---|---|---|---|
Success | The funding transaction has successfully completed and funds have been applied to the specified account. | Yes | Yes | Yes |
Pending | The 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. | Yes | No | No |
Declined | The 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* | No | No |
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.
Endpoint | Description |
---|---|
GET {URI}/creditCardDeposits/{DepositID} | Get details for a specific credit card Deposit. |
Here is the path parameter for GET {URI}/creditCardDeposits/{DepositID}
endpoint.
Path Parameter | Data type | Description |
---|---|---|
referenceDepositID | string | Credit 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.
Endpoint | Description |
---|---|
POST {URI}/creditCardUnregisters | unregister 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 Parameter | Data type | Description |
---|---|---|
customerIdentifier | string | Specify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters. |
accountIdentifier | string | Specify the Account this credit card is associated with. |
creditCardToken | string | Specify 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.
Endpoint | Description |
---|---|
GET {URI}/creditCards | List all credit cards registered on this Platform. |
The following parameters are used for GET {URI}/creditCards
endpoint.
Query Parameter | Data type | Description |
---|---|---|
showInactive | string | Show inactive cards (true or false). |
accountNumber | string | Specify the account number to be queried. |
accountIdentifier | string | Specify the account identifier to be queried. |
customerIdentifier | string | Specify the customer identifier to be queried. |
token | string | Credit card token to be queried. |
expirationDate | string | Specify the expiration date of the credit card to be queried. |
status | string | Show the status as active or inactive. |
emailAddress | string | Specify the contact email address to be queried. |
fullName | string | Contact person's full name to be queried. |
label | string | Label for the credit card to be queried. |
lastFourDigits | string | The 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:
Endpoint | Description |
---|---|
POST {URI}/creditCards | Register a new credit card. |
Here is the list of parameters for when you use POST {URI}/creditCards
to register a new credit card.
Body Parameter | Data ype | Description |
---|---|---|
customerIdentifier | string | Specify the customer associated with the credit card. It must be the customer the accountIdentifier is associated with. The string must have 5-100 characters. |
accountIdentifier | string | Specify the account this credit card is associated with The string must have 5-100 characters. |
ipAdress | string | Specify the The IP address of the person adding the credit card. |
label | string | Specify a label for the credit card. |
creditCard | object | (Required) Enter the credit card details that is being registered |
-number | string | Specify the account this order will be deducted from. |
-expiration | string | Specify the card expiration date in YYYY-MM format. |
-verificationNumber | string | Specify the 3 or 4-digit card security code on back of card (CVV2, CVC2, or CID). |
billingAddress | object | (Required) Enter the billing address information for the credit card that is being registered. |
-firstName | string | Specify the billing address first name. |
-lastName | string | Specify the billing address last name. |
-adressLine1 | string | Specify the billing address line 1. |
-addressLine2 | string | (Optional) Specify the billing address line 2. |
-city | string | Specify the billing address city. |
-state | string | Specify the billing address state. |
-postalCode | string | Specify the billing address postal code. |
-country | string | Specify the billing address 2-letter country code. |
-emailAddress | string | Specify the billing address email. |
contactInformation | array of objects | (Optional) Enter the contact information of the any person(s) who will be notified if there are issues. |
-fullName | string | (Optional) Used for email receipts. Specify the contact full name. |
-emailAddress | string | (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 brand | Credit card number | Security code |
---|---|---|
Visa | 4111111111111111 | requires 3-digit security code. |
MasterCard | 5555555555554444 | requires 3-digit security code. |
Discover | 6011111111111117 | requires 3-digit security code. |
American Express | 378282246310005 | requires 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 amount | Result |
---|---|
$5.55 | The initial response status shows PENDING, but will change to SUCCESS within one hour. |
$6.55 | The initial response status shows PENDING, but and change to DECLINED within one hour. |
$7.55 | The 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.
Endpoint | Description |
---|---|
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 parameter | Data type | Description |
---|---|---|
token | string | Credit 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 of the same currency.
Endpoint | Description |
---|---|
GET {URI}/transferFunds | Transfer 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 parameter | Data type | Description |
---|---|---|
transferFrom | string | (Required) The accountIdentifier for the Account transferring funds from. |
transferTo | string | (Required) The accountIdentifier for the Account transferring funds to. |
amount | number | (Required) The currency amount of the funds being transferred. |
transferNotes | string | (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
Updated 18 days ago