Before getting started with this tutorial, make sure you have installed the Java ACHeck21 API.
Once you have the Java API installed, you need to import the main ACHeck21 API class at the top of the file you plan on using it from
Before creating a check you will need to gather the required data. The minimum information needed to create a check is listed in the following table.
|Username||Your ACHeck21 Global Gateway login username|
|Password||Your ACHeck21 Global Gateway login password|
|Client ID||The ACHeck21 Global Gateway ID of the client who received the check|
|Transit Number||The 9-digit ABA routing number of the check|
|DDA Number||The account number of the check|
|Check Number||The check number.|
|Account Type||Checking or Savings|
|Check Amount||The amount of the check|
|Entry Class Code||The type of check. This determines how it's processed and other rules like whether or not a check image is required|
To begin creating a check we will initialize the necessary data in our Java code.
String username = "firstname.lastname@example.org"; // this is not a real username
String password = "NotARealP@ssword"; // this is not a real password
String clientID = "00000000000"; // this is not a real client id
String transitNumber = "063100277";
String ddaNumber = "12345678912345"
String checkNumber = "0001";
String checkAmount = "1.00" // $1.00 check amount
ACHeck21.AccountType accountType = ACHeck21.AccountType.Checking;
ACHeck21.EntryClass entryClass = ACHeck21.EntryClass.WEB;
This example uses the WEB entry class because it does not require check images. After we have initialized the necessary data, we create a check with the followng code.
String checkID = ACHeck21.createCheck(username, password, clientID, null, null, checkNumber, transitNumber, ddaNumber, accountType, checkAmount, entryClass, null, null, null, null, null);
If a check was successfully created, the createCheck function will return a valid check ID. If there was an unexpected error, an exception will be thrown or the function will return null.
Creating a check with images
In the above example, we used the WEB entry class code because it didn't require images to create the check. Some entry classes, like C21(Check21), require images.
When creating a check that requires images using the Java API, the images need to meet the following requirements.
- Both front and rear images must be sent.
- The images must be in TIFF format.
For example, if you had scanned and stored front and rear images of a check and stored it on a hard drive, you would prepare them with the following code.
// Create an input stream for each image
InputStream frontStream = new FileInputStream("frontImage.tiff");
InputStream rearStream = new FileInputStream("rearImage.tiff");
You can then use these input streams in the createCheck function call.
String checkID = ACHeck21.createCheck(username, password, clientID, null, null, checkNumber, transitNumber, ddaNumber, accountType, checkAmount, ACHeck21.EntryClass.C21, //C21 entry class frontStream, // front image rearStream, // rear image null, null, null);