Print Check
Request URL
POST /check/print
Description
This endpoint creates a check to be printed. The check details are stored in the connectFi database and then sent to the bank to be printed. The /check/print
endpoint supports idempotency and will not accept requests with duplicate reference IDs.
The check is printed on a standard trifold check stock and mailed via USPS_FirstClass in a #10 double pane envelope. Checks are typically delivered within 7-10 days of mailing. The SLA on checks being mailed is 2 business days.
A dynamic logo can be added to the top left corner of the check (the URL link to the image would need to be included in the request using the "logo" property.)
The /check/print
endpoint supports idempotency and will not accept requests with duplicate reference IDs. The external reference ID included in the request body is how connectFi controls for duplicate check-printing requests. It is important to note that checks submitted with unique reference IDs will not be considered duplicates, even if there are other properties with identical values. For example, the following requests are not considered duplicates even though they refer to the same check data.
{
"reference": "EXT_REFERENCE_ID1", //Different reference IDS
"checkAttributes": {
"amount": 11.13, //same amount
"currency": "USD",
"returnAddress": { //same return address details
"addressLine1": "Platform Name, ATTN: Employee",
"addressLine2": "100 Unicorn St",
"addressLine3": "San Francisco, CA 12345"
},
"payerName": "Jim Payer", //same
"payerAddress": { //same payer address details
"addressLine1": "3700 Loon Rd",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345-1234"
},
"payeeName": "ABC123abc Energy", //same
"payeeAddress": { //same payee address details
"addressLine1": "123 Some Road",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345"
},
"platformNumber": "+1 (555) 666-7777", //same
"memo": "Both of these checks will print with two separate serial numbers"
},
"webhookUrl": "https://your_webhook_url/EXT_REFERENCE_ID1"
}
{
"reference": "EXT_REFERENCE_ID2", //Different reference IDS
"checkAttributes": {
"amount": 11.13, //same amount
"currency": "USD",
"returnAddress": {
//same return address details
},
"payerName": "Jim Payer", //same
"payerAddress": {
//same payer address details
},
"payeeName": "ABC123abc Energy", //same
"payeeAddress": {
//same payee address details
},
"platformNumber": "+1 (555) 666-7777", //same
"memo": "Both of these checks will print with two separate serial numbers"
},
"webhookUrl": "https://your_webhook_url/EXT_REFERENCE_ID1"
}
Schema
Property table for check/print
Property | Description | Required | Schema |
---|---|---|---|
reference | An external alphanumeric reference ID for the entity in your system | Yes | { "type": "string", "pattern": "^[0-9a-zA-Z]+$", "minLength": 1, "maxLength": 32, "$id": "common-reference" } |
checkAttributes | An object containing all of the applicable check attributes | Yes | check printing baseCheckAttributes object |
webhookUrl | If you specify a webhookUrl in this request, the system will perform a callback to your webhookUrl to notify you of specified asynchronous status changes. | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 500, "nullable": true, "$id": "common-commonStr500" } |
Property table for check printing baseCheckAttributes object
Property | Description | Required | Schema |
---|---|---|---|
amount | Amount | Yes | { "type": "number", "exclusiveMinimum": 0, "amountPrecision": 2, "$id": "common-amount" } |
currency | A three character ISO alphabetic code to identify the currency | Yes | { "type": "string", "enum": [ "USD" ] } |
returnAddress | An object containing the return address | Yes | check printing returnAddress object |
payerName | Name of the payer | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
payerAddress | An object containing the payer address | Yes | check printing address object |
payeeName | Name of the payee | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
payeeAddress | An object containing the payee address | Yes | check printing address object |
platformNumber | Platform Company's customer service telephone number | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
memo | memo | No | { "type": "string", "minLength": 1, "maxLength": 45, "$id": "check-printing-memo" } |
reference | An external alphanumeric reference ID for the entity in your system | No | { "type": "string", "pattern": "^[0-9a-zA-Z_]+$", "minLength": 1, "maxLength": 36, "$id": "common-id" } |
logo | URL to image file - leave blank if no logo image should be printed. For best results, use .png format. Alternative logo formats include .jpg and .tiff | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 500, "nullable": true, "$id": "common-commonStr500" } |
attachmentCount | The number of attachments included in the attachments array | No | { "type": "number", "exclusiveMinimum": 0 } |
attachments | An array of URL(s) to image file(s) such as a pack list. Leave blank if no attachments are needed. | No | array of { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 500, "nullable": true, "$id": "common-commonStr500" } |
Property table for check printing address object
Property | Description | Required | Schema |
---|---|---|---|
addressLine1 | Line 1 of the address | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
addressLine2 | Line 2 of the address | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 50, "nullable": true, "$id": "common-commonStr50" } |
addressLine3 | addressLine3 | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 50, "nullable": true, "$id": "common-commonStr50" } |
city | City | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
state | State | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
postalCode | Postal code | Yes | { "type": "string", "pattern": "^[0-9a-zA-Z-]+$", "minLength": 5, "maxLength": 10, "$id": "customer-postalCode" } |
country | Country | No | { "type": "string", "pattern": "^[A-Z]{3}$", "$id": "customer-countryCodeA3" } |
Property table for check printing returnAddress object
Property | Description | Required | Schema |
---|---|---|---|
addressLine1 | Line 1 of the address | Yes | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 1, "maxLength": 50, "isNotOnlyWhitespace": true, "$id": "common-commonStr50Req" } |
addressLine2 | Line 2 of the address | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 50, "nullable": true, "$id": "common-commonStr50" } |
addressLine3 | addressLine3 | No | { "type": "string", "pattern": "^((?![<>]).)*$", "minLength": 0, "maxLength": 50, "nullable": true, "$id": "common-commonStr50" } |
Request Body
{
"reference": "UNIQUE_REFERENCE_ID",
"checkAttributes": {
"amount": 1.01,
"currency": "USD",
"returnAddress": {
"addressLine1": "Platform Name, ATTN: Employee",
"addressLine2": "100 Unicorn St",
"addressLine3": "San Francisco, CA 94103"
},
"payerName": "Jim Payer",
"payerAddress": {
"addressLine1": "3700 Loon Rd",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345-1234"
},
"payeeName": "Xcel Energy",
"payeeAddress": {
"addressLine1": "414 Nicollet Mall",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345"
},
"platformNumber": "+1 (555) 666-7777",
"memo": "Electricity payment"
},
"webhookUrl": "https://your_webhook_url/UNIQUE_REFERENCE_ID"
}
Snippet Examples
javascript
const axios = require('axios');
const data = {
"reference": "UNIQUE_REFERENCE_ID",
"checkAttributes": {
"amount": 1.01,
"currency": "USD",
"returnAddress": {
"addressLine1": "Platform Name, ATTN: Employee",
"addressLine2": "100 Unicorn St",
"addressLine3": "San Francisco, CA 94103"
},
"payerName": "Jim Payer",
"payerAddress": {
"addressLine1": "3700 Loon Rd",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345-1234"
},
"payeeName": "Xcel Energy",
"payeeAddress": {
"addressLine1": "414 Nicollet Mall",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345"
},
"platformNumber": "+1 (555) 666-7777",
"memo": "Electricity payment"
},
"webhookUrl": "https://your_webhook_url/UNIQUE_REFERENCE_ID"
};
const config = {
method: 'POST',
url: '${CONNECTFI_BASE_URL}/check/print',
headers: {
'Content-Type': "application/json",
'x-connectfi-token': "A long random string token received from /auth/get-token request"
},
data
};
let result;
try {
result = await axios.request(config);
if (result.status === 200) {
console.log(JSON.stringify(result.data));
}
} catch (err) {
console.log({
errCode: err.code,
responseStatus: err.response && err.response.status,
data: err.response && JSON.stringify(err.response.data)
});
}
cURL
curl --location "CONNECTFI_BASE_URL/check/print" --data "{ \"reference\":\"UNIQUE_REFERENCE_ID\", \"checkAttributes\":{ \"amount\":1.01, \"currency\":\"USD\", \"returnAddress\":{ \"addressLine1\":\"Platform Name,ATTN:Employee\", \"addressLine2\":\"100 Unicorn St\", \"addressLine3\":\"San Francisco,CA 94103\" }, \"payerName\":\"Jim Payer\", \"payerAddress\":{ \"addressLine1\":\"3700 Loon Rd\", \"city\":\"Minneapolis\", \"state\":\"MN\", \"postalCode\":\"12345-1234\" }, \"payeeName\":\"Xcel Energy\", \"payeeAddress\":{ \"addressLine1\":\"414 Nicollet Mall\", \"city\":\"Minneapolis\", \"state\":\"MN\", \"postalCode\":\"12345\" }, \"platformNumber\":\"+1 (555) 666-7777\", \"memo\":\"Electricity payment\" }, \"webhookUrl\":\"https://your_webhook_url/UNIQUE_REFERENCE_ID\"}" --header "Content-Type: application/json" --header "x-connectfi-token: A long random string token received from /auth/get-token request"
Successful Response Examples
200 CHECK/PRINT SUCCESSFUL RESPONSE
HEADERS
Header | Value |
---|---|
Content-Type | application/json |
x-connectfi-token | A long random string token received from /auth/get-token request |
REQUEST BODY
{
"reference": "extChkRef700",
"checkAttributes": {
"amount": 1.01,
"currency": "USD",
"returnAddress": {
"addressLine1": "Platform Name, ATTN: Employee",
"addressLine2": "100 Unicorn St",
"addressLine3": "San Francisco, CA 94103"
},
"payerName": "Jim Payer",
"payerAddress": {
"addressLine1": "3700 Loon Rd",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345-1234"
},
"payeeName": "Xcel Energy",
"payeeAddress": {
"addressLine1": "414 Nicollet Mall",
"city": "Minneapolis",
"state": "MN",
"postalCode": "12345"
},
"platformNumber": "+1 (555) 666-7777",
"memo": "Electricity payment"
},
"webhookUrl": "https://your_webhook_url/extChkRef700"
}
RESPONSE BODY
{
"code": "0",
"data": {
"cFiCheckId": "chk_6UxgKofyzcMWdSjbZlMMZs",
"reference": "extChkRef700",
"serial": "89",
"amount": 1.01,
"currency": "USD",
"cFiAggregatorId": "CLIENTID",
"cFiCheckStatus": "Processing",
"initVoid": false,
"webhookUrl": "https://your_webhook_url/extChkRef700",
"dtsCreatedAt": "2023-11-02T11:20:54.354Z"
},
"requestId": "e3140730797111eeb5658f28ab5fe311"
}