API Documentation

API Overview
The Check Issuing API was developed to assist you with integrating your back-office systems with the Check Issuing system. It allows you to notify us of deposits, submit payments for processing, and to look up your payments, deposits, and general account information. The API is utilized by doing standard HTTPS POST requests. It returns XML formatted results.
Live system requests go via https://api.checkissuing.com/
To use our sand box system for integration testing, please use https://apisb.checkissuing.com/ (please contact support for help setting this up if you require it and have not already been granted access)
Authenticating
Before you can begin using the API, you must obtain your user account parameters, Client ID and API Key. To obtain these values, take these steps:
  • 1. Log into your primary Check Issuing user account within the client panel.
  • 2. Go to the your Account page (top right).
  • 3. Navigate to the API Access page (top right). Here you will find both your Client ID and API Key. The API Key must be kept secure and confidential. If the account password is changed, the API key will also be changed and will need to be updated within your application to ensure continued access.
Failure to authenticate will produce the following response from the system:
<?xml version="1.0" encoding="UTF-8"?>
<wmc-response status="0">
	<error>Access Denied, Invalid API Key Provided</error>
</wmc-response>
Response Format
PLEASE NOTE: As we are currently transitioning to a fully RESTful api, the ACH portion of this api is different from the original XML-based api used for issuing checks. Most notably, the apis for ACH Transfers, ACH Funding Sources, and ACH Batches all return a JSON response rather than XML. While the original API will still be available to current customers, the next major release will be a fully RESTful api that will negotiatie the response format for XML or JSON based on the request that is sent. This new release will also feature all new api documentation and code examples.
The API system for issuing checks will respond using standard XML format. This will vary depending on the outcome of the action taken. For ACH transfers, funding source, and batch uploads, the API system will respond with JSON.
The standard response format for bank accounts, payments, and documents will be contained within a wmc-response parent item, with a status attribute to indicate whether your request was successful, with status 1 being success, and status 0 indicating there was an error during your request under most circumstances. This parent item may also contain a fileid attribute applicable to Payment File's uploaded.
As an example success response, please see below:
<?xml version="1.0" encoding="UTF-8"?>
<wmc-response status="1">
	...
</wmc-response>
In most scenarios dates will be formatted using UNIX stamp format.
Payments can have the following statuses (status ID - status name):
  • 1 - Pending Release
  • 2 - Released
  • 3 - Processing
  • 4 - Sent Out
  • 5 - Posted / Cashed
  • 6 - Returned
  • 7 - Cancelled
  • 8 - Reissued
Postage Codes can have the following values (code - postage type):
  • 1 - USPS First Class
  • 2 - USPS Priority
  • 3 - USPS Priority + Delivery Confirmation
  • 5 - Two Day Courier Service with FedEx or DHL
  • 6 - One Day Courier Service with FedEx or DHL
  • 8 - USPS Overnight
ACH transfers, ACH funding sources, and ACH batch uploads provides a response in the JSON format which can contain 4 top level items:
  • status: an http status code of either 200, 400, 403, or 404.
  • message: a message containing additional information about the response./li>
  • errors: in the event that a status 400 is returned, it may be accompanied by an array containing the associated error messages.
  • result: contains the result of the request when the status code is 200.
Error Handling
When the API system responds with a status code of 0, usually you will be given a set of error messages to accompany this.
Error messages will be contained within error elements, as children to the wmc-response parent item. There can be one, or multiple.
As an example error response, please see below:
<?xml version="1.0" encoding="UTF-8"?>
<wmc-response status="0">
	<error>Please provide an amount</error>
	<error>Please provide a payee</error>
</wmc-response>
For ACH transfers, batches, and funding sources, a JSON object is returned containing a status code, a message, and in some cases, an errors array if there were multiple validation errors. If the status returned is 400, 403, or 404, the message will indicate more specifically what went wrong. 400 (Bad Request) is sent when there is a validation error, 403 (Forbidden) is sent when there are not permissions for the record being accessed, and 404 is sent when no records are found.
{
    "status": 400,
    "message": "Transfer Failed",
    "errors": [
            {
              "A valid, numeric amount must be entered for this payment"
            }
        ]
}
API Status Notifications
The API system will perform a HTTP GET request against a URL of your choosing if configured to do so.
To set this up and view full instructions, you can go to your Account page, then API Access as detailed in Authenticating. This option is located toward the bottom. Full history of notifications are also available via a top right menu link, API Status Notification History, with their respective real time status.