Quick Start

Galileo makes it easy for your business to create bank accounts and issue cards, all through our API. In this guide, we will teach you how to

  • create a new product
  • get API keys
  • create bank accounts
  • simulate card transactions.

This guide assumes that you have an environment set up to make HTTP requests. This could be Postman, cURL, or a script. Click the button below to download our Postman collection.

Run in Postman

In this guide, we will be working in the Sandbox environment. Sandbox is a test environment that simulates Production but does not deal with real money or require submitting any sensitive personal data. This allows your team to use an iterative development approach to build out proofs of concept and test your implementation before moving to Production.  All of the code that you write in this guide can be used in our live Production environment. When you are ready to move to Production, all you need to do is swap out the url and the API keys.

All API calls in the Sandbox environment go to https://sandbox.galileo-ft.com/intserv/4.0/
All API calls in the Production environment go to https://production.galileo-ft.com/intserv/4.0/
 1Create a Product
Products are used to determine the characteristics of accounts and cards that you create. The Dashboard allows you to create a customized Product for use in both Sandbox and Production. From the Dashboard, click the “Add” button in the “Add a Card Product” section. Choose your preferred product association, product type, and card design; then click “Create Product.” Back on the main screen, you should see your product in the “Products” section. Note the Product ID as you will be needing this later.
 2Generate API Keys
Galileo uses API keys to ensure that requests are coming from a trusted source. This helps  keep your products and accounts secure. Generate an API key by clicking the “Generate” button in the “Generate API Keys” section of the Dashboard. Next, click “Add Sandbox Key.” After you have named your key, click “Create.” Once your key has been successfully created, click “Save Key.” This last step is important because this key will never be available from the Dashboard again. It’s on you to save it somewhere accessible and secure for future use. Notice that the key you just saved is a json file that contains three key-value pairs.
 3Authenticate
Your first API call will be to exchange the API keys from Step 2 for an access token. Append “login” to the Sandbox url and make a POST request to the login() method, passing in two parameters in the body - username and password, which can be found in your API key file. A successful response will include a value for access_token. All subsequent API requests require an Authorization header with the value "Bearer **your-access-token**".
curl -d '{"username":"**your-username**", "password":"**your-password**"}' \
-H "Content-Type: application/json" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/login

 

 4Create an Account
Now that you have an access token, you are ready to create your first account. Append “createAccount” to the Sandbox url and make a POST request to the createAccount() method. In the request body, the transactionId should be a UUID that you generate (but for the Sandbox, any unique string will do). The prodId is the Product ID from Step 1.  Parameters containing personal information such as name, address, etc,  may be fictional in the Sandbox environment but must be real in Production, as this data must pass the Customer Identification Program requirement imposed on all financial institutions. If the request is successful, the response will contain a response_data array. The first dictionary in the array should contain a pmt_ref_no (PRN), also known as the account number, along with other useful information about the account. We recommend storing the account number for any account you create, as it is a required parameter for many API requests.
curl -d '{"transactionId":"**your-unique-identifier**", "prodId":"**your-prod-id**", "firstName":"John", "lastName":"Doe"}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer **your-access-token**" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/createAccount

 

 5Fund the Account
On the Dashboard, notice that you have a funding account. The money in this account can be used to fund any accounts you create. Fund the account created in Step 4 with $100. To do this, make a POST request to the createAccountTransfer() method by appending “createAccountTransfer” to the Sandbox url. In the body, the transactionId should be another unique identifier. The accountNo is the account number for the funding account, and can be found by clicking "Account Details" in the Funding Account section on the Dashboard. The amount is the amount that you want to transfer - $100 in this case. The transferToAccount is the account number obtained in Step 4. If your request is successful, the response_data will contain useful information about the transfer, including the old balance and the new balance of the funding account. If you refresh your dashboard, you should see the new balance.
curl -d '{"transactionId":"**your-unique-identifier**", "accountNo":"**your-funding-account-number**", "amount":100.0, "transferToAccountNo":"**your-new-account-number**"}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer **your-access-token**" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/createAccountTransfer

 

 6Check the Account Balance
To check the balance of the new account, make a POST request to the getBalance() method by appending “getBalance” to the end of the Sandbox url. Include another unique identifier for the transactionId and the account number obtained in Step 4 for the accountNo in the body of the request. If the response is successful, the response_data should contain the balance.
curl -d '{"transactionId":"**your-unique-identifier**", "accountNo":"**your-account-number**"}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer **your-access-token**" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/getBalance

 

 7Run a Simulated Card Authorization
In our live Production environment, card authorizations, also known as pending card transactions, occur by using the card associated with the account to make purchases at a merchant. Since this account was created in the Sandbox, it doesn’t have a physical card. Fortunately, you can easily simulate card authorizations in the Sandbox by making a POST request to the createSimulatedCardAuth() method. Append “createSimulatedCardAuth” to the Sandbox url. In the body, the transactionId should be another unique identifier. The accountNo is the account number. The amount is the amount that should be spent through the simulated authorization. The association is “mc_auth” since your product is a MasterCard product. The merchantName is whatever you want the merchant to be named.
curl -d '{"transactionId":"**your-unique-identifier**", "accountNo":"**your-account-number**", "amount":15.0, "association":"mc_auth", "merchantName":"McDonalds"}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer **your-access-token**" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/createSimulatedCardAuth

 

 

 8View Card Authorization History
To view this simulated authorization, and the history of all pending transactions for this account, make a POST request to getAuthHistory() by appending “getAuthHistory” to the end of the Sanbox url. In the body, include a unique identifier for the transactionId and the account number for the accountNo. If the response is successful, the response_data should contain an array of all authorizations for the account.
curl -d '{"transactionId":"**your-unique-identifier**", "accountNo":"**your-account-number**"}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer **your-access-token**" \
-X POST https://sandbox.galileo-ft.com/intserv/4.0/getAuthHistory