addPaperBiller()
Enables the API consumer to create a custom paper biller for a cardholder.
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).
billerAccountNo Yes String

Alphanumeric string including hyphens and spaces.

3333223323455555

Must be valid biller account number. When applicable, the account number is validated against a biller-supplied mask.
billerName Yes String

Alphanumeric string of up to 50 characters. (Punctuation disallowed).

My Landlord

Biller's name
billerAddress1 Yes String

Alphanumeric string up to 80 characters in length. "!" character not allowed.

33 Maple Street

Biller's address

billerAddress2 No String

Alphanumeric string up to 80 characters in length. "!" character not allowed.

Suite 400

Biller's address -- additional details

billerCity Yes String

Alphanumeric string of up to 60 characters in length

Salt Lake City

Biller's city

billerState Yes String

2 character state or province abbreviation

UT

Biller's state or province abbreviation

billerZip Yes String

12345 or 12345-1234 (US), K1A-1A1 (CA)

84121

Biller's postal (zip) code

billerPhone No Number

Valid 10 digit phone number

8013656060

Biller's contact phone

Status Codes
Status Code description
0 Success
12 Invalid customer account
487-01 Duplicate biller account number
-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>2014-02-03 10:25:07</system_timestamp>
   <response_data>
     <biller_id>2977</biller_id>
     <name>Acme, Inc</name>
   </response_data>
   <processing_time>0.537</processing_time>
   <echo>
     <transaction_id>12345a</transaction_id>
     <provider_transaction_id>77bb</provider_transaction_id>
     <provider_timestamp>2014-02-03 10:10:10</provider_timestamp>
   </echo>
</response>
 
Response Description Example
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
biller_id Positive integer value of a customer configured biller. Biller IDs are retrieved using the getBillers() method. 37323
name In a response_data element, identifies the name associated with id statement in the element. Acme, Inc.
transaction_id A number that represents a transaction. Ve8mEK6jUKulAMy7xYGu
provider_timestamp Store a related timestamp for reporting and troubleshooting purposes. 2013-02-06 10:10:10
provider_transaction_id Secondary transaction identifier (generated by a provider). 77bb
Code Snippet
                    # The following shell script will use cURL to call addPaperBiller
# and return the json response.

curl -d '{"transactionId":"45k-dk3fj3-44478", "accountNo":"07410344728", "billerAccountNo":"3333223323455555", "billerName":"My Landlord", "billerAddress1":"33 Maple Street", "billerCity":"Salt Lake City", "billerState":"UT", "billerZip":"84121"}' \ 
-H "response-content-type: json" \ 
-H "Authorization: Bearer **your-access-token**" \ 
-X POST https://sandbox.galileo-ft.com/intserv/4.0/addPaperBiller
                
                    // The following Java code will make a addPaperBiller 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", "07410344728");
           params.put("billerAccountNo", "3333223323455555");
           params.put("billerName", "My Landlord");
           params.put("billerAddress1", "33 Maple Street");
           params.put("billerCity", "Salt Lake City");
           params.put("billerState", "UT");
           params.put("billerZip", "84121");
            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/addPaperBiller");

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

import requests
headers = {'response-content-type': 'json', 'Authorization': 'Bearer {}'.format(**your-access-token**)}
payload = {'transactionId': '45k-dk3fj3-44478', 'accountNo': '07410344728', 'billerAccountNo': '3333223323455555', 'billerName': 'My Landlord', 'billerAddress1': '33 Maple Street', 'billerCity': 'Salt Lake City', 'billerState': 'UT', 'billerZip': '84121'}
r = requests.post(url='https://sandbox.galileo-ft.com/intserv/4.0/addPaperBiller', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a addPaperBiller call
// and prints the json response.

$endpoint = 'https://sandbox.galileo-ft.com/intserv/4.0/addPaperBiller';
$params = array('transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'07410344728', 'billerAccountNo'=>'3333223323455555', 'billerName'=>'My Landlord', 'billerAddress1'=>'33 Maple Street', 'billerCity'=>'Salt Lake City', 'billerState'=>'UT', 'billerZip'=>'84121');

$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 addPaperBiller 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=07410344728&billerAccountNo=3333223323455555&billerName=My Landlord&billerAddress1=33 Maple Street&billerCity=Salt Lake City&billerState=UT&billerZip=84121");
WebRequest request = WebRequest.Create("https://sandbox.galileo-ft.com/intserv/4.0/addPaperBiller");
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 addPaperBiller call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://sandbox.galileo-ft.com/intserv/4.0/addPaperBiller")
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: '07410344728', billerAccountNo: '3333223323455555', billerName: 'My Landlord', billerAddress1: '33 Maple Street', billerCity: 'Salt Lake City', billerState: 'UT', billerZip: '84121'}.to_json
response = https.request(request)
puts response