Custom Program
createAdjustment()
Makes credit or debit adjustments on an account.
*Please note that unlike other methods that allow for an alphanumeric string for transactionId, the createAdjustment() method requires an integer value.
 A payment created using this method will not show up in a getAccountOverview()call until after several seconds have elapsed (this applies to both createAdjustment() and createPayment()).
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 Integer

Positive integer numeric value required.

364738290478

This is the same transactionId as is described in the common parameters section of this document. The transactionId parameter for this method strays from the common definition as it is required to be a 64 byte integer value.
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).
amount Yes Amount

Monetary amount 0 or greater.

25.50

Currency amounts passed as whole or fractional amounts, examples: '100.00', '100', or '100.73'.
type Yes String

2 character alphanumeric

F

F=Web service adjustment, additional custom configured types available.
debitCreditIndicator Yes String

D or C

D

C=Credit, D=Debit
location No String

Must be a number if type is 0. Must be less than 15 if type is 1.

a455-3483

Unique location identifier. See location types.
locationType No Integer

0, 1, or 2

1

  • 0=Galileo Location ID
  • 1=Partner Location ID
  • 2=Don't Validate
description No String Alphanumeric and punctuation One time payroll load. Transaction description.
verifyOnly No Boolean

0 or 1

0

If a value of '1' is passed, the parameter data will be tested only. No transaction will be committed.
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
12 Invalid customer account
24 Duplicate transaction
25 Invalid type
100 Success (Verify)
471-01 The transactionId parameter must be an integer value.
471-02 Cardholder not configured for overdraft.
471-03 Cardholder product not configured for overdraft.
471-04 Insufficient overdraft funds.
471-05 Error transferring overdraft funds.
471-06 Cardholder overdraft configuration error.
471-07 Insufficient balance for cascading transaction.
-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-02 11:11:12</system_timestamp>
   <response_data>
     <old_balance>186.6</old_balance>
     <new_balance>191.6</new_balance>
     <adjustment_trans_id>981764</adjustment_trans_id>
     <transaction_id>364738290478</transaction_id>
   </response_data>
   <processing_time>1.723</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>
old_balance The balance on the account before the transaction. 186.6
new_balance The balance on the account after the transaction. 191.6
adjustment_trans_id An id number that identifies an adjustment transaction. 981764
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 createAdjustment
# and return the json response.

curl -d '{"apiLogin":"AbC1234-9999", "apiTransKey":"9845dk-39fdk3fj3-4483483478", "transactionId":"364738290478", "accountNo":"074103447228", "amount":"25.50", "type":"F", "debitCreditIndicator":"D"}' \ 
-H "response-content-type: json" \ 
-X POST https://**your-full-implementation-url**/createAdjustment
                
                    // The following Java code will make a createAdjustment 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", "364738290478");
           params.put("accountNo", "074103447228");
           params.put("amount", "25.50");
           params.put("type", "F");
           params.put("debitCreditIndicator", "D");
            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**/createAdjustment");

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

import requests
headers = {'response-content-type': 'json'}
payload = {'apiLogin': 'AbC1234-9999', 'apiTransKey': '9845dk-39fdk3fj3-4483483478', 'transactionId': '364738290478', 'accountNo': '074103447228', 'amount': '25.50', 'type': 'F', 'debitCreditIndicator': 'D'}
r = requests.post(url='https://**your-full-implementation-url**/createAdjustment', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a createAdjustment call
// and prints the json response.

$endpoint = 'https://**your-full-implementation-url**/createAdjustment';
$params = array('apiLogin'=>'AbC1234-9999', 'apiTransKey'=>'9845dk-39fdk3fj3-4483483478', 'transactionId'=>'364738290478', 'accountNo'=>'074103447228', 'amount'=>'25.50', 'type'=>'F', 'debitCreditIndicator'=>'D');

$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 createAdjustment 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=364738290478&accountNo=074103447228&amount=25.50&type=F&debitCreditIndicator=D");
WebRequest request = WebRequest.Create("https://**your-full-implementation-url**/createAdjustment");
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 createAdjustment call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://**your-full-implementation-url**/createAdjustment")
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: '364738290478', accountNo: '074103447228', amount: '25.50', type: 'F', debitCreditIndicator: 'D'}.to_json
response = https.request(request)
puts response