createSimulatedCardSettle()
This method allows for the settlement of a simulated card authorization. A call to createSimulatedCardSettle() would normally follow a call to the createSimulatedCardAuth(). Either an authId (returned by createSimulatedCardAuth()) or a merchantName value is required. (This cannot be used in production).
A simulated settle will only settle for the amount of the card authorization. If trying to simulate an up charge, this won't work in CV.
Example: Authorize for 10.50, Settle for 15.50, results in CV will be 10.50.
Parameters
Parameter Required Data type Pattern Notes
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).
association Yes String 'visa' or 'mc_auth' Visa Determines what association type will be simulated. Pass 'visa' for Visa and 'mc_auth' for Mastercard.
authId Conditional Integer Positive integer value 58344373 The createSimulatedCardAuth() would normally be called before calling this method. The createSimulatedCardAuth() method returns an auth_id element that is to be used as this value.
merchantName Conditional String Alphanumeric string up to 40 characters in length. Fred Jones Bagels Merchant name is typically 40 bytes of fixed with delimeted data. The API consumer can pass their own 40 byte complete string or pass up to 22 bytes and the simulator with add fake address information for the remaining 18 bytes.
amount No Amount Monetary amount greater than 0. 25.50 Currency amounts passed as whole or fractional amounts, examples: '100.00', '100', or '100.73'.
acquirerId No Number 6 digit number 437723 If no aquirerId value is passed, a random 6 digit number will be generated and used.
terminalId No Number 8 digit number 57395783 If no terminalId value is passed, a random 8 digit number will be generated and used.
merchantId No String 15 character alphanumeric string asdf If no merchantId value is passed a random 15 byte alphanumeric string will be generated and used.
Status Codes
Status Code description
0 Success
544-01 Method not available in the production environment.
544-02 Authorization is not found for account.
544-03 Authorization is already settled or in the wrong status.
-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-10-07 10:25:07</system_timestamp>
   <response_data>
     <settle_response_code>00</settle_response_code>
     <settle_response_description>Success</settle_response_description>
     <settle_dtl_id>515125</settle_dtl_id>
   </response_data>
   <processing_time>0.973</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
status_code The status of the response.
status

The condition of a process or response (such as embossed card, account, freeze, and so on).

system_timestamp A system generated timestamp.
response_data A structure for the response data. It can be empty but usually will contain information.
settle_response_code In createSimulatedCardSettle(), a code for the response received.
settle_response_description A description of the createSimulatedCarSettle() auth response code.
settle_dtl_id  
processing_time The time elapsed in processing the transaction.
echo A data structure that displays transaction ID information.
transaction_id A number that reprents a transaction
provider_transaction_id Secondary transaction identifier (generated by a provider).
provider_timestamp Store a related timestamp for reporting and troubleshooting purposes.
Code Snippet

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

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

            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 createSimulatedCardSettle
# 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', 'association': 'visa'}
r = requests.post(url='https://sandbox.galileo-ft.com/intserv/4.0/createSimulatedCardSettle', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a createSimulatedCardSettle call
// and prints the json response.

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

$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 createSimulatedCardSettle 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&association=visa");
WebRequest request = WebRequest.Create("https://sandbox.galileo-ft.com/intserv/4.0/createSimulatedCardSettle");
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 createSimulatedCardSettle call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://sandbox.galileo-ft.com/intserv/4.0/createSimulatedCardSettle")
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', association: 'visa'}.to_json
response = https.request(request)
puts response