Custom Program
addAchAccount()
Add an ACH account to a customer profile. The ACH account can be used in other methods like createAchTransaction().
Parameters
Parameter Required Data type Pattern Notes
apiLogin Yes String

50 characters or less

AbC123-9999

Provider's Web Service Username as provided and authenticated by Galileo for the requesting IP Address.
apiTransKey Yes String

15 characters or less

4sb62fh6w4h7w34g

Web Service Password as provided and authenticated by Galileo for the requesting IP Address.
providerId Yes Integer

10 digits or less

9999

Galileo issued unique Provider identifier.
transactionId Yes String

60 characters or less

9845dk-39fdk3fj3-4483483478

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.
accountNo Yes String

PAN or PRN

074103447228

Can be either a PAN (the 16 digit card number) or PRN (a unique 12 digit account identifier).
name Yes String

Alphanumeric string up to 22 characters in length.

my checking account

The name of the ACH account. The customer would potentially see this name in the cardholder web application. This name is for the customer's convenience.
type Yes String

Must be 'C', 'S', or 'M'

C

Describes the type of account that is being transferred to. C=Checking, S=Savings, M=Money Market
achAccountNo Yes Number

Numeric string of up to 22 characters in length.

4483434234348

Numeric bank account number.
achRoutingNo Yes Number

Numeric 9 digit routing number including check digit.

483292838

Standard ACH routing number.
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
12 Invalid customer account.
-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-02-14 10:19:54</system_timestamp>
   <response_data>
     <name>Jabber Wocky Savings</name>
     <ach_account_id>13836</ach_account_id>
   </response_data>
   <processing_time>0.216</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>
Code Snippet
                    # The following shell script will use cURL to call addAchAccount
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"45k-dk3fj3-44478", "accountNo":"074103447228", "name":"my checking account", "type":"C", "achAccountNo":"4483434234348", "achRoutingNo":"483292838"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/addAchAccount
                
                    // The following Java code will make a addAchAccount 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("name", "my checking account");
           params.put("type", "C");
           params.put("achAccountNo", "4483434234348");
           params.put("achRoutingNo", "483292838");
            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**/addAchAccount");

            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 addAchAccount
# 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', 'name': 'my checking account', 'type': 'C', 'achAccountNo': '4483434234348', 'achRoutingNo': '483292838'}
r = requests.post(url='https://**your-full-implementation-url**/addAchAccount', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a addAchAccount call
// and prints the json response.

$endpoint = 'https://**your-full-implementation-url**/addAchAccount';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'074103447228', 'name'=>'my checking account', 'type'=>'C', 'achAccountNo'=>'4483434234348', 'achRoutingNo'=>'483292838');

$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 addAchAccount 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&name=my checking account&type=C&achAccountNo=4483434234348&achRoutingNo=483292838");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/addAchAccount");
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 addAchAccount call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/addAchAccount")
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', name: 'my checking account', type: 'C', achAccountNo: '4483434234348', achRoutingNo: '483292838'}.to_json
response = https.request(request)
puts response