Custom Program
activateCard()
Note: This method does not work with virtual card accounts. If you need to activate a virtual card, a modifyStatus() type 7 call should be made.
Parameters
The parameters below can be submitted with the method. Note that some parameters are required.
Parameter Required Data type Pattern Notes Example value
apiLogin Yes String 50 characters or less Provider's Web Service Username as provided and authenticated by Galileo for the requesting IP Address. AbC123-9999
apiTransKey Yes String 15 characters or less Web Service Password as provided and authenticated by Galileo for the requesting IP Address. 4sb62fh6w4h7w34g
providerId Yes Integer 10 digits or less Galileo issued unique Provider identifier. 9999
transactionId Yes String 60 characters or less A unique system generated ID number that identifies the API transaction with Galileo Processing systems. A UUID is preferred. This must be different for each transaction. 9845dk-39fdk3fj3-4483483478
accountNo Yes String PAN or PRN or cardID. Can be either a PAN (the 16 digit card number) or PRN (a unique 12 digit account identifier), or a card ID (integer identifier of the card as found in the raw data file (RDF)). 074103447228
cardExpiryDate Yes Date YYYY-MM Card Expiration Date 2019-01
cardSecurityCode No Number 3 digits This is the CVV value of the new card to be activated. If a value is submitted, the new card will be tested against that value. 123
cardNumberLastFour No Number 4 digits If PRN is passed as accountNo, this parameter can be used to ensure that the correct card is selected if the cardholder has more than one active card related to their account. 0789
Status Codes
Codes that define the status of the activateCard() transaction.
Status Code description
0 Success
12 Invalid Account
24 Duplicate Transaction
467-01 No non-activated card found that match all parameters.
467-02 No non-activated cards found.
-1 Indicates that the application record failed to update or return.
Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
   <status_code>0</status_code>
   <status>Success</status>
   <system_timestamp>2011-09-16 08:36:13</system_timestamp>
   <response_data>
     <card_number_last_four>6696</card_number_last_four>
   </response_data>
   <processing_time>1.373</processing_time>
   <echo>
     <transaction_id>12345a</transaction_id>
     <provider_transaction_id>77bb</provider_transaction_id>
     <provider_timestamp>2013-02-06 10:10:10</provider_timestamp>
   </echo>
</response>
Response Description Example value
Status The condition of a process or response (such as embossed card, account, freeze, and so on). Success
status_code The status of the response. 0
system_timestamp A system generated timestamp. 2011-02-02 11:11:12
response_data A structure for the response data. It can be empty but usually will contain information. <response_data>
   <new_account>   </new_account>
</response_data>
encrypted_pass_data An encrypted JSON file containing the sensitive information needed to add a card to Apple Pay. F92C1D45EFF127F92C1D45EFF127F92C1D45EFF127F92C1D45EFF127==
activation_data The request's activation data. MBPAC-1-FK-123456.1--TDEA-8BF291C91F3ED4EF92C1D45EFF127C1F9ABC12348D
ephemeral_public_key A generated key that is combined with a private key. 0499a6f42e83ea4f150a78780ffb562c9cdb9b
7507bc5d28cbfbf8cc3ef0af68b36e60cb10db69127830f7f899492
017089e3b73c83fcf0ebdf2c06b613c3f88b7
processing_time The time elapsed in processing the transaction. 1.723
echo A structure that displays transaction ID information. <echo>
  <transaction_id>...</transaction_id>
  <provider_transaction_id>...</provider_transaction_id>
  <provider_timestamp>...</provider_timestamp>
</echo>
transaction_id A number that represents a transaction. 12345a
provider_transaction_id Secondary transaction identifier (generated by a provider). 77bb
provider_timestamp Store a related timestamp for reporting and troubleshooting purposes. 2013-02-06 10:10:10
Code Snippet

                    # The following shell script will use cURL to call activateCard
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"45k-dk3fj3-44478", "accountNo":"074103447228", "cardExpiryDate":"2019-01"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/activateCard
                
                    // The following Java code will make a activateCard call
// and print the json response.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util. *;

class GalileoAPICall
{
    public static void main(String[] args) {
        try {
            Map<String,Object> params = new LinkedHashMap<>();
           params.put("apiLogin", "AbC1234-9999");
           params.put("apiTransKey", "9845dk-39fdk3fj3-4483483478");
           params.put("transactionId", "45k-dk3fj3-44478");
           params.put("accountNo", "074103447228");
           params.put("cardExpiryDate", "2019-01");
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String,Object> param : params.entrySet()) {
                if (postData.length() != 0) postData.append('&');
                postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
                postData.append('=');
                postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
            }
            byte[] postDataBytes = postData.toString().getBytes("UTF-8");

            URL url = new URL("https://**your-full-implementation-url**/activateCard");

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("response-content-type", "json");
            conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
            conn.setDoOutput(true);
            conn.getOutputStream().write(postDataBytes);

            String xmlOutput;

            Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            for (int c; (c = in.read()) >= 0;) {
                System.out.print((char)c);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
                
                    # The following Python code will call activateCard
# and print the json response.

import requests
headers = {'response-content-type': 'json'}
payload = {'apiLogin': 'AbC1234-9999', 'apiTransKey': '9845dk-39fdk3fj3-4483483478', 'transactionId': '45k-dk3fj3-44478', 'accountNo': '074103447228', 'cardExpiryDate': '2019-01'}
r = requests.post(url='https://**your-full-implementation-url**/activateCard', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a activateCard call
// and prints the json response.

$endpoint = 'https://**your-full-implementation-url**/activateCard';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'074103447228', 'cardExpiryDate'=>'2019-01');

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('response-content-type: json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);
curl_close($curl);
$json = new json_decode($result, true);
print_r($json);

                
                    // The following C# code will make a activateCard call
// and print the json response.

using System;using System.IO;
using System.Net;
using System.Text;

byte[] data = Encoding.ASCII.GetBytes(
    "apiLogin=AbC1234-9999&apiTransKey=9845dk-39fdk3fj3-4483483478&transactionId=45k-dk3fj3-44478&accountNo=074103447228&cardExpiryDate=2019-01");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/activateCard");
request.Method = "POST"\;
request.ContentLength = data.Length;
request.Headers.Add("response-content-type", "json");
using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}
string responseContent = null;
using (WebResponse response = request.GetResponse())
{
    using (Stream stream = response.GetResponseStream())
    {
        using (StreamReader sr = new StreamReader(stream))
        {
            responseContent = sr.ReadToEnd();
        }
    }
}
Console.WriteLine(responseContent);
                
                    # The following Ruby code will make a activateCard call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/activateCard")
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['response-content-type'] = 'json'
request.body = {apiLogin: 'AbC1234-9999', apiTransKey: '9845dk-39fdk3fj3-4483483478', transactionId: '45k-dk3fj3-44478', accountNo: '074103447228', cardExpiryDate: '2019-01'}.to_json
response = https.request(request)
puts response