addAccount()

The addAccount() method can be used to add accounts (products) such as savings, overdraft, virtual (no card), virtual card, or personalized for a customer.

Parameters
Parameter Required Data Type Pattern Notes Example Value
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 Can be either a PAN (the 16 digit card number) or PRN (a unique 12 digit account identifier). 074103447228
prodId Yes Integer Integer Product ID 501
location No String Must be a number if type is 0. Must be less than 15 if type is 1. Unique location identifier. See location types. a455-3483
locationType No Integer 0, 1, or 2
  • 0=Galileo Location ID
  • 1=Partner Location ID
  • 2=Don't Validate
1
sharedBalance Conditional Boolean 0 or 1 Define whether or not an additional account will share the balance with the primary. 0=false, 1=true. This option is only available with virtual card and personalized product types. 1
Status Codes
Status Code Description
0 Success
2 Invalid parameter(s)
12 Invalid Account
24 Duplicate transaction
28 Product not allowed for this provider.
456-01 Product not supported.
456-02 Customer account balance is not sufficient.
456-03 Customer already has this product.
456-04 Cannot add this product as a savings account for this card.
456-05 The primary account is marked ineligible for this product.
-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-03-21 13:40:50</system_timestamp>
   <response_data>
     <pmt_ref_no>074129973470</pmt_ref_no>
     <product_id>123</product_id>
     <galileo_account_number>935686</galileo_account_number>
   </response_data>
   <processing_time>0.796</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_code The status of the response. 0
status The condition of a process or response (such as embossed card, account, freeze, and so on). Success
system_timestamp A system generated timestamp. 2011-10-07 10:25:07
response_data A structure for the response data. It can be empty but usually will contain information. response_data
x
/response_data
pmt_ref_no A Galileo generated account number. 074129973470
product_id Galileo generated integer. 123
galileo_account_number Galileo generated integer account number, also known as balance ID. 935686
processing_time The time elapsed in processing the transaction. 0.973
echo A data structure that displays transaction id information. <echo>
  x
</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 addAccount
# and return the json response.

curl -d '{"transactionId":"45k-dk3fj3-44478", "accountNo":"074103447228", "prodId":"501"}' \ 
-H "response-content-type: json" \ 
-H "Authorization: Bearer **your-access-token**" \ 
-X POST https://sandbox.galileo-ft.com/intserv/4.0/addAccount
                
                    // The following Java code will make a addAccount 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("transactionId", "45k-dk3fj3-44478");
           params.put("accountNo", "074103447228");
           params.put("prodId", "501");
            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://sandbox.galileo-ft.com/intserv/4.0/addAccount");

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("response-content-type", "json");
            conn.setRequestProperty("Authorization", "Bearer **your-access-token");
            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 addAccount
# and print the json response.

import requests
headers = {'response-content-type': 'json', 'Authorization': 'Bearer {}'.format(**your-access-token**)}
payload = {'transactionId': '45k-dk3fj3-44478', 'accountNo': '074103447228', 'prodId': '501'}
r = requests.post(url='https://sandbox.galileo-ft.com/intserv/4.0/addAccount', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a addAccount call
// and prints the json response.

$endpoint = 'https://sandbox.galileo-ft.com/intserv/4.0/addAccount';
$params = array('transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'074103447228', 'prodId'=>'501');

$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',
    'Authorization: Bearer **your-access-token**'
));
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 addAccount call
// and print the json response.

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

byte[] data = Encoding.ASCII.GetBytes(
    "transactionId=45k-dk3fj3-44478&accountNo=074103447228&prodId=501");
WebRequest request = WebRequest.Create("https://sandbox.galileo-ft.com/intserv/4.0/addAccount");
request.Method = "POST"\;
request.ContentLength = data.Length;
request.Headers.Add("response-content-type", "json");
request.Headers.Add("Authorization","Bearer **your-access-token**");
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 addAccount call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://sandbox.galileo-ft.com/intserv/4.0/addAccount")
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['Authorization'] = 'Bearer **your-access-token**'
request.body = {transactionId: '45k-dk3fj3-44478', accountNo: '074103447228', prodId: '501'}.to_json
response = https.request(request)
puts response