Exigo Web Services API v2022.12.19.1

SetAccountCreditCardToken

Setup primary or secondary credit card token on file for an existing customer, or new customer in a transaction.

Note: This request can participate in a transaction. Learn more about transactions.

Input Properties

SetAccountCreditCardTokenRequest
PropertyData TypeNotes
CustomerIDInt32Unique numeric identifier for customer record.
CreditCardAccountType AccountCreditCardTypeOptional. Whether the credit card is the customer's primary or secondary card. Defaults to Primary.
CreditCardTokenStringThe credit card's token created by the Token Provider.
ExpirationMonthInt32The month of the card's expiration date.
ExpirationYearInt32The year of the card's expiration date.
CreditCardTypeInt32Optional. Defaults to 1.
BillingNameStringOptional.
UseMainAddressBooleanIf true, the customer's main address on file will be used. If UseMainAddress is set to true, do not submit a seperate billing address.
BillingAddressStringOptional.
BillingAddress2StringOptional.
BillingCityStringOptional.
BillingStateStringThe state of the card's billing address. If UseMainAddress is set to true, do not set this field.
BillingZipStringOptional.
BillingCountryStringThe country of the card's billing address. If UseMainAddress is set to true, do not set this field.
HideFromWebBooleanOptional. Can be used for AutoOrder but will not show up in shopping cart.
CustomerKeyStringOptional. Unique alpha numeric identifier for customer record. Exception will occur if CustomerID & CustomerKey are provided.
MovePrimaryToSecondaryBooleanOptional. If true, the new card will be added as the primary card and the existing primary card will overwrite the secondary slot. Defaults to False.
TokenTypeInt32Optional. Optionally supply TokenType.
FirstSixStringOptional. Optionally supply card prefix.
LastFourStringOptional. Optionally supply card last four.

Output Properties

SetAccountResponse
PropertyData TypeNotes

Http Request

PUT https://yourcompany-api.exigo.com/3.0/account/cctoken HTTP/1.1
Content-Type: application/json
Authorization: Basic base64Encoded(yourlogin@yourcompany:yourpassword)

{ "customerID": 1, "creditCardAccountType": null, "creditCardToken": "5AE56HJ42OPZ5487", "expirationMonth": 1, "expirationYear": 2015, "creditCardType": 1, "useMainAddress": true, "customerKey": "1" }

Http Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{ "result": null }

Soap Request

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /3.0/ExigoApi.asmx HTTP/1.1
Host: api.exigo.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://api.exigo.com/SetAccountCreditCardToken"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ApiAuthentication xmlns="http://api.exigo.com/"> <LoginName>string</LoginName> <Password>string</Password> <Company>string</Company> <Identity>string</Identity> <RequestTimeUtc>dateTime</RequestTimeUtc> <Signature>string</Signature> </ApiAuthentication> </soap:Header> <soap:Body> <SetAccountCreditCardTokenRequest xmlns="http://api.exigo.com/"> <CustomerID>int</CustomerID> <CreditCardAccountType>Primary or Secondary</CreditCardAccountType> <CreditCardToken>string</CreditCardToken> <ExpirationMonth>int</ExpirationMonth> <ExpirationYear>int</ExpirationYear> <CreditCardType>int</CreditCardType> <BillingName>string</BillingName> <UseMainAddress>boolean</UseMainAddress> <BillingAddress>string</BillingAddress> <BillingAddress2>string</BillingAddress2> <BillingCity>string</BillingCity> <BillingState>string</BillingState> <BillingZip>string</BillingZip> <BillingCountry>string</BillingCountry> <HideFromWeb>boolean</HideFromWeb> <CustomerKey>string</CustomerKey> <MovePrimaryToSecondary>boolean</MovePrimaryToSecondary> <TokenType>int</TokenType> <FirstSix>string</FirstSix> <LastFour>string</LastFour> </SetAccountCreditCardTokenRequest> </soap:Body> </soap:Envelope>

Soap Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetAccountCreditCardTokenResult xmlns="http://api.exigo.com/" /> </soap:Body> </soap:Envelope>

C# Rest Client

Install Nuget package Exigo.Api.Client

try

{

    //Create Api Client

    var api = new ExigoApiClient("yourcmpany", "yourlogin", "yourpassword");

 

    //Create Request

    var req = new SetAccountCreditCardTokenRequest();

 

    req.CustomerID = 1;             //Unique numeric identifier for customer record.

    req.CreditCardAccountType = AccountCreditCardType.Primary;  //Whether the credit card is the customer's primary or secondary card.

    req.CreditCardToken = "5AE56HJ42OPZ5487";//The credit card's token created by the Token Provider

    req.ExpirationMonth = 1;        //The month of the card's expiration date

    req.ExpirationYear = 2015;      //The year of the card's expiration date

    req.CreditCardType = 1;         //Defaults to 1.

    req.UseMainAddress = true;         //If true, the customer's main address on file will be used. If UseMainAddress is set to true, do not submit a seperate billing address

    req.CustomerKey = "1";          //Unique alpha numeric identifier for customer record. Exception will occur if CustomerID & CustomerKey are provided.

 

    //Send Request to Server and Get Response

    var res = await api.SetAccountCreditCardTokenAsync(req);

 

    //Now examine the results:

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

C# Soap Client

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.LoginName = "yourLoginName";

    auth.Password = "yourPassword";

    auth.Company = "yourCompany";

    api.ApiAuthenticationValue = auth;

 

    //Create Request

    SetAccountCreditCardTokenRequest req = new SetAccountCreditCardTokenRequest();

 

    req.CustomerID = 1;             //Unique numeric identifier for customer record.

    req.CreditCardAccountType = AccountCreditCardType.Primary;  //Whether the credit card is the customer's primary or secondary card.

    req.CreditCardToken = "5AE56HJ42OPZ5487";//The credit card's token created by the Token Provider

    req.ExpirationMonth = 1;        //The month of the card's expiration date

    req.ExpirationYear = 2015;      //The year of the card's expiration date

    req.CreditCardType = 1;         //Defaults to 1.

    req.UseMainAddress = true;         //If true, the customer's main address on file will be used. If UseMainAddress is set to true, do not submit a seperate billing address

    req.CustomerKey = "1";          //Unique alpha numeric identifier for customer record. Exception will occur if CustomerID & CustomerKey are provided.

 

    //Send Request to Server and Get Response

    SetAccountResponse res = api.SetAccountCreditCardToken(req);

 

    //Now examine the results:

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

VB.Net

Try

    'Create Main API Context Object

    Dim api as new ExigoApi()

 

    'Create Authentication Header

    Dim auth as new ApiAuthentication()

    auth.LoginName = "yourLoginName"

    auth.Password = "yourPassword"

    auth.Company = "yourCompany"

    api.ApiAuthenticationValue = auth

 

    'Create Request

    Dim req as new SetAccountCreditCardTokenRequest()

 

    req.CustomerID = 1

    req.CreditCardAccountType = AccountCreditCardType.Primary

    req.CreditCardToken = "5AE56HJ42OPZ5487"

    req.ExpirationMonth = 1

    req.ExpirationYear = 2015

    req.CreditCardType = 1

    req.UseMainAddress = true

    req.CustomerKey = "1"

 

    'Send Request to Server and Get Response

    Dim res As SetAccountResponse = api.SetAccountCreditCardToken(req)

 

    'Now examine the results:

Catch ex As Exception

    Console.WriteLine("Error: " & ex.Message)

End Try

PHP

Note: PHP is not officially supported.

<?php

try

{

    //Setup the SoapClient and Authentication

    $api = new SoapClient("http://api.exigo.com/3.0/ExigoApi.asmx?WSDL");

    $ns = "http://api.exigo.com/";

    $auth = array()

    $auth["LoginName"] = new SoapVar("yourLoginName",XSD_STRING,null,null,null,$ns);

    $auth["Password"] = new SoapVar("yourPassword",XSD_STRING,null,null,null,$ns);

    $auth["Company"] = new SoapVar("yourCompany",XSD_STRING,null,null,null,$ns);

    $headerBody = new SoapVar($auth, SOAP_ENC_OBJECT);

    $header = new SoapHeader($ns, 'ApiAuthentication', $headerBody);

    $api->__setSoapHeaders(array($header));

 

    //Create Request

 

    $req->CustomerID = 1;

    $req->CreditCardAccountType = 1;

    $req->CreditCardToken = "5AE56HJ42OPZ5487";

    $req->ExpirationMonth = 1;

    $req->ExpirationYear = 2015;

    $req->CreditCardType = 1;

    $req->UseMainAddress = 1;

    $req->CustomerKey = "1";

 

    //Send Request to Server and Get Response

    $res = $api.SetAccountCreditCardToken($req);

 

    //Now examine the results:

}

catch (SoapFault $ex)

{

    echo "Error: ", $ex->getMessage();

}

?>

Java

Note: Java is not officially supported.

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.setLoginName("yourLoginName");

    auth.setPassword("yourPassword");

    auth.setCompany("yourCompany");

    api.setApiAuthenticationValue(auth);

 

    //Create Request

    SetAccountCreditCardTokenRequest req = new SetAccountCreditCardTokenRequest();

 

    req.setCustomerID(1);

    req.setCreditCardAccountType(1);

    req.setCreditCardToken("5AE56HJ42OPZ5487");

    req.setExpirationMonth(1);

    req.setExpirationYear(2015);

    req.setCreditCardType(1);

    req.setUseMainAddress(1);

    req.setCustomerKey("1");

 

    //Send Request to Server and Get Response

    SetAccountResponse res = api.getExigoApiSoap().setAccountCreditCardToken(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

    System.out.println("Error: " + ex.getMessage());

}

CSV

This method does not support csv output.