Custom Program
getPendingFees()
This method will return a record set of fee events that have not yet been successfully processed against the respective customer's account. Normally, fees are processed when they are created. In circumstances like insufficient balance the fee would pend and wait for sufficient balance. This data is also available in a response section of the getAccountOverview() method call. The method response for each individual pending fee will conditionally include related transaction information. This method currently only returns card authorization related transaction information. This information can be found in the 'related_transaction' data element.
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 No String

PAN or PRN

074103447228

Can be either a PAN (the 16 digit card number) or PRN (a unique 12 digit account identifier).
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>2018-04-12 16:02:28</system_timestamp>
   <response_data>
     <fees>
       <fee>
         <fee_event_id>53266899</fee_event_id>
         <type>TMD</type>
         <type_description>0023</type_description>
         <amt>.5</amt>
         <fee_date>2012-09-19 14:04:03</fee_date>
         <card_id>2935310</card_id>
         <fee_description>Denied ATM Withdrawal Domestic</fee_description>
         <related_transaction>
           <details>1840 HOMEVILLE ROAD    WEST MIFFLIN PAUS</details>
           <amt>102</amt>
           <post_ts>2012-09-19 14:04:03</post_ts>
         </related_transaction>
       </fee>
     </fees>
   </response_data>
   <processing_time>0.401</processing_time>
   <echo>
     <transaction_id>613389942</transaction_id>
     <provider_transaction_id>GAAP test</provider_transaction_id>
     <provider_timestamp>2018-04-12 16:02:25</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>
fees A data structure that contains information on one or more fees. <fees>
  <fee>
  </fee>
</fees>
fee A data structure that contains information on a fee. <fee>
  <pmt_ref_no>074130918639</pmt_ref_no>
  <fee_id>22897859</fee_id>
  <fee_date>2012-09-20 00:53:19</fee_date>
  <amt>4.07</amt>
  <status>P</status>
  <status_description>Processed</status_description>
  <type>MON</type>
  <type_description>0203</type_description>
</fee>
fee_event_id Galileo generated fee transaction integer ID. 53266899
type In getPendingFees(), the type of fee. TMD
type_description A description of the type code. 0023
amt A fee or transaction charge. .5
fee_date A timestamp for the time the fee was charged. 2018-09-19 14:04:03
card_id Integer identifier of the card as found in the raw data file (RDF). Unique identifier for a PAN. 2935310
fee_description The description on a fee. Denied ATM Withdrawal Domestic
related_transaction A data structure that contains information on transactions related to a fee. <related_transaction>
&bbsp; Various data items
</related_transaction>
details Information on a transaction or authorization. 1840 HOMEVILLE ROAD WEST MIFFLIN PAUS
post_ts The time stamp of a posted transaction. 2018-09-19 14:04:03
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 getPendingFees
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"45k-dk3fj3-44478"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/getPendingFees
                
                    // The following Java code will make a getPendingFees 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");
            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**/getPendingFees");

            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 getPendingFees
# and print the json response.

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

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

$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 getPendingFees 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");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/getPendingFees");
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 getPendingFees call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/getPendingFees")
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'}.to_json
response = https.request(request)
puts response