Incorporate the innovative Tango Card directly into your reward, loyalty, and engagement applications.
- Introduction
- Understanding Gift Card Purchasing Options
- Tango Card SDKs and Service API Support
- SDK Overview
- SDK Requirements
- Tango Card Service API Requests
- SDK Methods
- SDK Error Handling
- SDK Contents
- SDK Development Environment
- License
- Contact Us
The Tango Card Service API provides a flexible, secure, and straight forward solution for integrating into reward, loyalty, and engagement applications for purchasing the Tango Card from their funded Tango Card account on https://www.tangocard.com.
There are several Tango Card SDKs currently available that use the Tango Card Service API:
- Tango Card C#/.Net 4.0 SDK
- Tango Card PHP SDK
- Tango Card Java SDK
- Tango Card Ruby SDK
- Tango Card jQuery Plugin
For those developers who wish to develop directly with our Tango Card Service API endpoints and do not wish to use our available SDKs or need more detail of how our API is defined, the following document is available:
The Tango Card SDKs, through our Tango Card Service API, allows you to incorporate the innovative Tango Card directly into your reward, loyalty, and engagement applications.
Tango Card is the "exactly what you want" gift card and allows the recipient to use their value exactly how they want – they can select a premier gift card, they can divide their value among Brands, they can use some today and save the rest for another day. They can also donate to a non-profit organization.
Tango Card value can be used via the web or from almost any mobile device. There are no fees or expiration dates of any kind. It's great for the recipient, and even better for you because it is an entire gift card program delivered in one card allowing you to focus on your core business.
Tango Card solutions are already used by Microsoft Bing, FedEx, Extole, Plink, beintoo, Lead Valu, Getty Images, and many others.
In order to use the Tango Card SDKs, it is required to open and fund a Tango Card account on https://www.tangocard.com
First, register to open a Tango Card account: Register
The provided 'username (email address)' and 'password' will be the same as what will be used for authenticating usage of the Tango Card SDKs' methods.
Second, to verify availability of your production account by using login: Login
Third, in order to purchase the Tango Card through the Tango Card SDKs, there must be funds within your Tango Card account.
Fund your account here either by 'wire transfer', 'check', or 'credit card': Add Funds
After opening and funding your Tango Card account, then you are ready to begin using the Tango Card Service API to access your account for getting available balance and for purchasing gift cards.
When you are ready to purchase a card, the Tango Card Service API has several options:
-
Distribution of Digital Gift Cards - parameter
tcSend- boolean - required -
Through the Tango Card Service API you can purchase Tango Card gift cards with your choice of delivery:
tcSend = true- Have Tango Card service send gift cards directly to recipients via email which will include live gift card codes.tcSend = false- You take the returned live gift card codes for you to customize and redistribute.
<dt>
<a name="puchasing_options_skus"></a>
The Tango Card and other Retailer Brand Gift Cards SKUs - parameter <code>cardSKU</code> - string - <b>required</b></dt>
<dd>The API is optimized for ordering the Tango Card, which is SKU <code>"tango-card"</code>.
<br>If you have questions about potentially incorporating other brands or digital goods in your program, then please do contact us at <a href="mailto:[email protected]?Subject=Tango Card C#/.NET 4.0 SDK Question">[email protected]</a>. We will respond to inquiries within one business day.
</dd>
<dt>
<a name="puchasing_options_denominations"></a>
Gift Card Denominations - parameter <code>cardValue</code> - integer - <b>required</b></dt>
<dd>Each gift card SKU has it own allowed set of denominations that can to assigned to parameter <code>cardValue</code>.
<br/>For SKU <code>"tango-card"</code>, the available denomination in cents starting at <code>1 cents</code> ($0.01) to a maximum of user's available account balance (in cents).
<br/>To find out about other available denominations for potentially incorporating other SKUs that can be assigned to parameter <code>cardValue</code>, then please do contact us at <a href="mailto:[email protected]?Subject=Tango Card C#/.NET 4.0 SDK Question">[email protected]</a>. We will respond to inquiries within one business day.
</dd>
<dt>
<a name="puchasing_options_templates"></a>
The Tango Card and custom Company Email Templates - parameter <code>companyIdentifier</code> - string - <b>optional</b></dt>
<dd>If you choose to have the Tango Card Service API send digital gift cards by setting <code>tcSend</code> to <code>true</code>, then by default the gift card information within a Tango Card email template.
<br>If you prefer to have the Tango Card Service API send the gift card information with a custom email template (with your own branding), then please do contact us at <a href="mailto:[email protected]?Subject=Tango Card C#/.NET 4.0 SDK Question">[email protected]</a>. We will respond to inquiries within one business day.
</dd>
If you have any questions with the Tango Card C#/.NET 4.0 SDK or our Service API, please contact us at [email protected]. We will respond to inquiries within one business day.
If you have any issues using this SDK, such as bugs or change requests, then please do Open Issue in this repository.
To expidite any issues you might be experiencing with our Tango Card Service API or our Tango Card SDKs, gather as much information by using the following two resolution approaches, and include the results when you contact us through [email protected]. We will respond to inquiries within one business day.
If you are having any issues with either INTEGRATION or PRODUCTION Tango Card Service API, check the endpoints' availability through a browser using the following health check URLs which should return a webpage with the text "alive":
- INTEGRATION: https://int.tangocard.com/Health/check
- PRODUCTION: https://api.tangocard.com/Health/check
The best way to resolve any issues that pertain to using our Tango Card SDKs or our Tango Card Service API is by using this freely available tool Fiddler 2 - Web Debugging Proxy, and providing us with the raw request and response bodies using its Inspectors tab feature.
Using Fiddler 2 will provide us with the most complete detail and the fastest response from Tango Card by understanding if there is an issue on how a request was presented to our service, or if it is an issue with our service on how we replied to your request.
POST https://int.tangocard.com/Version2/GetAvailableBalance HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-us
Content-Type: application/json; charset=UTF-8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: int.tangocard.com
Content-Length: 69
Connection: Keep-Alive
Cache-Control: no-cache
{"username":"[email protected]","password":"integrateme"}
HTTP/1.1 200 OK
Date: Wed, 26 Sep 2012 04:30:36 GMT
Server: Apache/2.2.22 (Ubuntu)
X-Powered-By: PHP/5.3.10-1ubuntu3.3
Access-Control-Allow-Origin: *
Content-Length: 68
Connection: close
Content-Type: application/json
{"responseType":"SUCCESS","response":{"availableBalance":873431432}}
Within our Tango Card jQuery Plugin examples, there is diagnostic tool which communicates with Tango Card Service API through jQuery.ajax() calls. It is useful for making raw calls to our service: Tango Card Service API Diagnostic Tool.
The Tango Card C#/.NET 4.0 SDK is a wrapper around the Tango Card Service API.
As such, it has two primary types of objects, Requests and Responses; which are handled by a wrapper class TangoCard.Sdk.TangoCardServiceApi.
The wrapper class TangoCard.Sdk.TangoCardServiceApi currently handles the following static methods:
- bool GetAvailableBalance()
- - Gather the currently available balance for provided user within their www.tangocard.com account.
<dt>bool PurchaseCard()</dt>
<dd>- Purchase a gift card using funds from user's www.tangocard.com account.</dd>
This SDK provides two binary builds:
DEBUG\TangoCard_DotNet_SDK\master\bin\Debug\Newtonsoft.Json.dll\TangoCard_DotNet_SDK\master\bin\Debug\TangoCard_DotNet_SDK.dll\TangoCard_DotNet_SDK\master\bin\Debug\TangoCard_DotNet_SDK.dll.config\TangoCard_DotNet_SDK\master\bin\Debug\TangoCard_DotNet_SDK.pdbRELEASE\TangoCard_DotNet_SDK\master\bin\Release\Newtonsoft.Json.dll\TangoCard_DotNet_SDK\master\bin\Release\TangoCard_DotNet_SDK.dll\TangoCard_DotNet_SDK\master\bin\Release\TangoCard_DotNet_SDK.dll.config
-
Files required to be included within the web service's
bin directory when running in debug mode:
-
Files required to be included within the web service's
bin directory when running in release mode:
With the Tango Card Service API, every request has a corresponding success-case response object. There are also several failure-case response objects which are shared between calls. The specifics of the request and response objects will be described in Tango Card SDK Methods.
Available are two endpoints that provide the Tango Card Service API, as defined by enum TangoCard.Sdk.Service.TangoCardServiceApiEnum :
INTEGRATION-
- Expected to be used for development and testing purposes.
- Important: Purchases from this endpoint will:
- Use funds from our test account.
- Send real emails (with fake codes), so only use recipient email addresses you control for testing purposes.
- Secure Endpoint URL:
https://int.tangocard.com/Version2 - Login to use our testing account through this endpoint is:
- Username:
- [email protected]
- Password:
- integrateme
PRODUCTION-
- Performs actual card purchase requests.
- Important: Purchases from this endpoint will:
- Use funds from your Tango Card account!
- Send real emails (with live codes), only use recipient email addresses you wish to deliver to.
- Endpoint URL:
https://api.tangocard.com/Version2 - Login to use your production account through this endpoint is:
- Username:
- Your Tango Card account's username (email address)
- Password:
- Your Tango Card account's password
Tango Card Service API Requests are performed using secure HTTP POST via "TLS/SSL".
The use of SSL allows for securely transmitting data and prevents man-in-the-middle attacks.
The lack of sessions and the inability to communicate with the API over HTTP prevents session hijacking and cross-site request forgery.
This request is defined by static method call TangoCard.Sdk.TangoCardServiceApi.GetAvailableBalance():
TangoCardServiceApiEnum enumTangoCardServiceApi = TangoCardServiceApiEnum.INTEGRATION;
string username = "[email protected]";
string password = "password";
GetAvailableBalanceResponse response = null;
if (TangoCardServiceApi.GetAvailableBalance(
enumTangoCardServiceApi: enumTangoCardServiceApi,
username: username,
password: password,
response: out response
)
&& (null != response)
) {
{
double dollarsAvailableBalance = response.AvailableBalance / 100;
Console.WriteLine("\n- Available Balance: {0:C}\n", dollarsAvailableBalance);
} Assuming success, the out parameter response will be an instance of TangoCard.Sdk.Response.Success.GetAvailableBalanceResponse.
- [IN] * enumTangoCardServiceApi
TangoCardServiceApiEnum- required -INTEGRATIONorPRODUCTION
<dt>[IN] * username</dt>
<dd>string - <b>required</b> - user account's username registered within Tango Card production website (https://www.tangocard.com).</dd>
<dt>[IN] * password</dt>
<dd>string - <b>required</b> - user account's password registered within Tango Card production website (https://www.tangocard.com)</dd>
<dt>[OUT] response</dt>
<dd><code>TangoCard.Sdk.Response.Success.GetAvailableBalanceResponse</code> - This <i>out</i> parameter will provide a valid success response object if this method returns <code>true</code> upon success.</dd>
- int AvailableBalance
- - Returns available balance of username's account in cents: 100 is $1.00 dollar.
This request is defined by static method call TangoCard.Sdk.TangoCardServiceApi.PurchaseCard():
TangoCardServiceApiEnum enumTangoCardServiceApi = TangoCardServiceApiEnum.INTEGRATION;
string username = "[email protected]";
string password = "password";
string cardSku = "tango-card";
int cardValueTangoCardCents = 100; // $1.00
PurchaseCardResponse response = null;
if (TangoCardServiceApi.PurchaseCard(
enumTangoCardServiceApi: enumTangoCardServiceApi,
username: username,
password: password,
cardSku: cardSku,
cardValue: cardValueTangoCardCents,
tcSend: true,
giftFrom: "Bill Company",
giftMessage: "Happy Birthday",
recipientEmail: "[email protected]",
recipientName: "Sally Example",
companyIdentifier: null,
response: out response )
&& (null != response)
) {
Console.WriteLine("\n- Purchased Card (Delivery): {{ " +
"\n\tRecipient Email: '{0}' " +
", \n\tReference Order Id: '{1}' " +
", \n\tCard Token '{2}' " +
", \n\tCard Number: '{3}' " +
", \n\tCard Pin: '{4}' " +
", \n\tClaim Url: '{5}' " +
", \n\tChallenge Key: '{6}' " +
", \n\tEvent Number: '{7}' " +
" \n}}\n",
app_recipient_email,
response.ReferenceOrderId,
response.CardToken,
response.CardNumber,
response.CardPin,
response.ClaimUrl,
response.ChallengeKey,
response.EventNumber
);
}Assuming success, the out parameter response will be an instance of TangoCard.Sdk.Response.Success.PurchaseCardResponse.
- [IN] * enumTangoCardServiceApi
TangoCardServiceApiEnum- required -INTEGRATIONorPRODUCTION
<dt>[IN] * username</dt>
<dd>string - <b>required</b> - user account's username registered within Tango Card production website (https://www.tangocard.com).</dd>
<dt>[IN] * password</dt>
<dd>string - <b>required</b> - user account's password registered within Tango Card production website (https://www.tangocard.com)</dd>
<dt>[IN] * cardSku</dt>
<dd>string - <b>required</b> - The SKU of the card to purchase. The SKU for the Tango Card is "tango-card". See: <a href="#puchasing_options_skus">Purchase Option of Gift Card Brands</a></dd>
<dt>[IN] * cardValue</dt>
<dd>integer - <b>required</b> - The value of the card to purchase in cents (100 = $1.00). See: <a href="#puchasing_options_denominations">Purchase Option for Denominations</a></dd>
<dt>[IN] * tcSend</dt>
<dd>boolean - <b>required</b> - Determines if Tango Card Service will send an email with gift card information to recipient. See: <a href="#puchasing_options_distribution">Purchase Option for Distribution</a>.</dd>
<dt>[IN] * recipientName</dt>
<dd>string (length 1 - 255) or null - <b>required</b> if parameter <code>tcSend</code> is <code>true</code>, else ignored - The name of the person receiving the card.</dd>
<dt>[IN] * recipientEmail</dt>
<dd>string (length 3 - 255) or null - <b>required</b> if parameter <code>tcSend</code> is <code>true</code>, else ignored - The email address of the person receiving the card.</dd>
<dt>[IN] * giftMessage</dt>
<dd>string (length 1 - 255) or null - <b>required</b> if parameter <code>tcSend</code> is <code>true</code>, else ignored - A message from the sender of the card to the recipient. May be null, but must exist if tcSend = true.</dd>
<dt>[IN] giftFrom</dt>
<dd>string (length 1 - 255) or null - <b>optional</b> if parameter <code>tcSend</code> is <code>true</code>, else ignored - The name of the person sending the card.</dd>
<dt>[IN] companyIdentifer</dt>
<dd>string (length 1 - 255) or null - <b>optional</b> if parameter <code>tcSend</code> is <code>true</code>, else ignored - The email-template identifier. Ignored or value <code>null</code> will use the Tango Card Email Template. See: <a href="#puchasing_options_templates">Purchase Option for Email Templates</a>.</dd>
<dt>[OUT] response</dt>
<dd><code>TangoCard.Sdk.Response.Success.PurchaseCardResponse</code> - This <i>out</i> parameter will provide a valid success response object if this method returns <code>true</code> upon success.</dd>
The purpose of providing PurchaseCard() response properties is if you so choose, then you may record digital gift purchase confirmation and card redemption information within your own database.
Depending on how you set TangoCard.Sdk.TangoCardServiceApi.PurchaseCard() parameter tcSend:
- If
tcSend = true - Then both you (the gift card requester) and the gift card recipient are provided with all necessary redemption information to redeem the emailed digital gift card sent by our Tango Card Service.
- If
tcSend = false - Then you (the gift card requester) are provided with all necessary card redemption information, and it is your choice on how you wish to deliver the digital gift card redemption information to gift card recipients.
The [DataContract] TangoCard.Sdk.Response.Success.PurchaseCardResponse properties are:
- string ReferenceOrderId
- - Confirmation number of purchase.
- string CardToken
- - Card reference to the aforementioned purchase.
- string|null CardNumber
- - If available, the card number provided to the recipient to be used at redemption of eGift Card upon the www.tangocard.com site.
- string|null CardPin
- - If available, the card pin provided to the recipient used to validate provided eGift Card number a redemption upon the www.tangocard.com site.
- string|null ClaimUrl
- - If available, the claim URL is an address to a web page on the World Wide Web. This URL can only be accessed through the email you received. It is a unique URL, meaning that it cannot be duplicated or altered.
- string|null ChallengeKey
- - If available, the challenge key provides access, which can be found next to the aforementioned claim URL. You will be prompted to input your Challenge Key when you try to open your eGift Card.
- string|null EventNumber
- - If available depending upon provided card SKU, then the event number is used when replacing lost card.
The Tango Card C#/.NET 4.0 SDK handles its errors by throwing the following exceptions:
- Custom
TangoCard.Sdk.Service.TangoCardServiceExceptionis thrown when theTango Card Service APIreturn aFailure Responsefor a givenRequest. - Custom
TangoCard.Sdk.Common.TangoCardSdkExceptionis thrown when the Tango Card SDK has detected an error within its code, regardless of any given Request. - Standard
ArgumentExceptionandArgumentNullExceptionare thrown due to parameter entry errors. - Standard
InvalidDataContractExceptionis thown for any unexpected violation of[DataContract]expectations.
The Tango Card SERVICE API handles its errors by returning the following failure responses as enumerated by TangoCard.Sdk.Response.ServiceResponseEnum:
| Failure | Failure Reponse Type | Failure Response Object |
|---|---|---|
| Insufficient Funds | INS_FUNDS | `TangoCard.Sdk.Response.Failure.InsufficientFundsResponse` |
| Insufficient Inventory | INS_INV | `TangoCard.Sdk.Response.Failure.InsufficientInventoryResponse` |
| Invalid Credentials | INV_CREDENTIAL | `TangoCard.Sdk.Response.Failure.InvalidCredentialsResponse` |
| Invalid Input | INV_INPUT | `TangoCard.Sdk.Response.Failure.InvalidInputResponse` |
| System Failure | SYS_ERROR | `TangoCard.Sdk.Response.Failure.SystemErrorResponse` |
Each of the aforementioned Failure Responses contains details as to the reason that the Tango Card Service API did not perform provided Request.
The details of these service failure responses are embedded and thrown within TangoCard.Sdk.Service.TangoCardServiceException
Each Request will have the following possible Failure Responses as a property value within TangoCard.Sdk.Service.TangoCardServiceException.getResponse():
| Request | Possible Failure Responses | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| `GetAvailableBalanceRequest` |
|
||||||||||||
| `PurchaseCardRequest` |
|
This SDK throws it own custom exception TangoCard.Sdk.Common.TangoCardSdkException when detecting errors that pertain to itself.
Wrap every Tango Card request call within a try/catch block, followed by first catching TangoCard.Sdk.Service.TangoCardServiceException, then by TangoCard.Sdk.Common.TangoCardSdkException, and finally by standard Exception.
try
{
string username = "[email protected]";
string password = "password";
TangoCardServiceApiEnum enumTangoCardServiceApi = TangoCardServiceApiEnum.INTEGRATION;
GetAvailableBalanceResponse response = null;
if (TangoCardServiceApi.GetAvailableBalance(
enumTangoCardServiceApi: enumTangoCardServiceApi,
username: username,
password: password,
response: out response
)
&& (null != response)
) {
// Do Stuff ... //
}
}
catch (TangoCardServiceException ex)
{
Console.WriteLine("=== Tango Card Service Failure ===");
Console.WriteLine("Failure response type: {0}", ex.ResponseType.ToString());
Console.WriteLine("Failure response: {0}", ex.Message);
}
catch (TangoCardSdkException ex)
{
Console.WriteLine("=== Tango Card SDK Failure ===");
Console.WriteLine("{0} :: {1}", ex.GetType().ToString(), ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("=== Unexpected Error ===");
Console.WriteLine("{0} :: {1}", ex.GetType().ToString(), ex.Message);
}This section details the provided sources of this SDK.
This is the heart of the SDK which contains the sources, and here is a listing of its directories:
- TangoCard.Sdk\Common
- TangoCard.Sdk\Dependencies
- TangoCard.Sdk\Properties
- TangoCard.Sdk\Properties\Settings.settings
- TangoCard.Sdk\Request
- TangoCard.Sdk\Request\Version2
- TangoCard.Sdk\Response
- TangoCard.Sdk\Response\Failure
- TangoCard.Sdk\Response\Success
- TangoCard.Sdk\Service
There a several configuration files that are referenced by either the provide application examples, unittests, and SDK itself.
- TangoCard.Sdk.Examples\app.config
- - Application configuration file for `TangoCard.Sdk.Examples`
<dt>TangoCard.Sdk.Unittests\app.config</dt>
<dd>- Application configuration file for `TangoCard.Sdk.Unittests`</dd>
<dt>TangoCard.Sdk\TangoCard_DotNet_SDK.dll.config</dt>
<dd>- SDK configuration file referenced by `TangoCard.Sdk\Common\SdkConfig.cs`. **DO NOT MODIFY**</dd>
The doc\help\Index.html accesses the up-to-date Sandcastle Documentation Compiler generated documentation for the classes (and functions) that are included in the SDK.
See Visual Studio 2010 Sandcastle Help File Builder project TangoCard.Sdk.Help.
The examples sub-directory contains full "start to finish" examples of all of the supported methods. This includes catching all of the possible failure modes, etc.
This is a complete example of requesting available balance and purchasing Tango Cards.
- Request latest available balance
- Purchase $1.00 Tango Card for Email Delivery
- Purchase $1.00 Tango Card without Email Delivery
- Request updated available balance
Example of how the SDK handles various failure responses, such as:
- Insufficient Funds
- Invalid Credentials
- Invalid Input
> TangoCard.Sdk.Examples\bin\Release\TangoCard.Sdk.Examples.exe
===============================
= Tango Card .NET SDK Example =
===============================
SDK Version: 1.2.2
== Using app.config Credentials ====
======== Get Available Balance ========
'[email protected]': Available Balance: 842193167
===== End Get Available Balance ====
===== Purchase Card (No Delivery) =====
- Purchased Card (No Delivery): {
Reference Order Id: '112-10215850-11',
Card Token '5076eb21ab7f38.34919104',
Card Number: '7001-1040-0181-3103-915',
Card Pin: '614377',
Claim Url: '',
Challenge Key: '7001104001813103915'
}
===== End Purchase Card (No Delivery) ====
======== Purchase Card (Delivery) ========
- Purchased Card (Delivery): {
Recipient Email: '[email protected]',
Reference Order Id: '112-10215851-11',
Card Token '5076eb2223b662.53903316',
Card Number: '7001-4040-0114-9399-715',
Card Pin: '795122',
Claim Url: '',
Challenge Key: '7001404001149399715'
}
======== End Purchase Card (Delivery) ========
======== Get Updated Available Balance ========
'[email protected]': Updated Available Balance: 842192967
===== End Get Updated Available Balance ====
===============================
= The End =
===============================
===============================
= Tango Card .NET SDK Example =
= with Failures =
===============================
SDK Version: 1.2.2
== Using app.config Credentials ====
======== Get Available Balance ========
=== Tango Card Service Failure ===
Failure response type: INV_CREDENTIAL
Failure response: Provided user credentials are not valid.
===== End Get Available Balance ====
== Using app.config Credentials ====
======== Purchase Card ========
=== Tango Card Service Failure ===
Failure response type: INS_FUNDS
Failure response: Available Balance: 0, Order Cost: 100
AvailableBalance: 0
OrderCost: 100
===== End Purchase Card ====
======== Purchase Card ========
=== Tango Card Service Failure ===
Failure response type: INV_INPUT
Failure response: cardSku: SKU does not appear to be valid.,
Invalid: cardSku: SKU does not appear to be valid.,
===== End Purchase Card ====
======== Purchase Card ========
=== Tango Card Service Failure ===
Failure response type: SYS_ERROR
Failure response: ErrorCode: TPC:PC:35
===== End Purchase Card ====
===============================
= The End =
===============================
Press Any Key to Close this program.
The SDK's unittests have been written to use [Visual Studio 2010][UnitTest Project].
UnitTest_GetAvailableBalanceUnitTest_PurchaseCard
To run these unit tests requires installation of Visual Studio 2010 Professional.
Open a Visual Studio 2010 command prompt.
To do this, click Start, point to All Programs, point to Microsoft Visual Studio 2010, point to Visual Studio Tools, and then click Visual Studio 2010 Command Prompt and perform unit test using MSTest.
> MSTest /testcontainer:TangoCard.Sdk.Unittests\bin\Release\TangoCard.Sdk.Unittests.dll
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading TangoCard.Sdk.Unittests\bin\Release\TangoCard.Sdk.Unittests.dll...
Starting execution...
Results Top Level Tests
------- ---------------
Passed TangoCard.Sdk.Unittests.UnitTest_GetAvailableBalance.Test_GetAvailableBalance_Api
Passed TangoCard.Sdk.Unittests.UnitTest_GetAvailableBalance.Test_GetAvailableBalance_InsufficientFunds
Passed TangoCard.Sdk.Unittests.UnitTest_GetAvailableBalance.Test_GetAvailableBalance_InvalidCredentials
Passed TangoCard.Sdk.Unittests.UnitTest_GetAvailableBalance.Test_GetAvailableBalance_Request
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_InsufficientFunds
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_InsufficientFunds_10000000
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_InvalidCredentials
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_InvalidInput_Sku
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_with_Delivery
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_with_NoDelivery
Passed TangoCard.Sdk.Unittests.UnitTest_PurchaseCard.Test_PurchaseCard_with_NoDelivery_Api
11/11 test(s) Passed
Summary
-------
Test Run Completed.
Passed 11
----------
Total 11
This C#/.NET 4.0 SDK was built using:
The Tango Card C#/.NET 4.0 SDK is free to use, given some restrictions. Please see the LICENSE file for details.
If you have any questions about using this SDK, please do contact us at [email protected]. We will respond to inquiries within one business day.
To learn more about Tango Card integration solutions, call 1.877.55.TANGO (1.877.558.2646).





