Skip to main content
Checks

Manage check print

Use the Checks API to submit check print requests that print and mail checks to payees.

By the end of this tutorial, you will:

  • Print a U.S. cashier’s check via USPS without remittance documents.
  • Print a U.S. cashier’s check via FedEx with remittance documents.
  • Print a U.S. or Canada Accounts Payable 6‑column check with standard delivery.
  • Print a U.S. or Canada Accounts Payable 6‑column check with special delivery.

Before you begin

Confirm your access and configuration before you send requests.

  • Use a registered and fully onboarded Developer Account on the J.P. Morgan Payments Developer Portal.
  • Use an active project with credentials to make API requests.
  • For Accounts Payable 6‑column, enable Active Access check print services and obtain an active check print form code.
  • For cashier’s checks, enable Active Access check print services.

Submit a check print request for processing

Submit a POST request to /checks/print with debtor account, payee, delivery, and amount details. 

U.S. cashier’s check without remittance documents and USPS courier

Send a POST request to /checks/print to create a U.S. cashier’s check with one payee and USPS delivery, omitting remittance.documents.

Sample: Request
{
  "printType": "CASHIERS",
  "debtor": {
    "accountNumber": "987654321"
  },
  "clientReference": "REF1234567",
  "checkAmount": {
    "amount": "500.00",
    "currency": "USD"
  },
  "payees": [
    {
      "name": "Jack Doe",
      "priority": 1
    }
  ],
  "address": {
    "addressLines": [
      "123 Main St"
    ],
    "city": "New York",
    "postalCode": "10001",
    "countrySubDivision": "NY",
    "country": "US"
  },
  "delivery": {
    "courier": "USPS"
  },
  "remittance": {
    "remitter": "John Smith"
  }
}

U.S. cashier’s check with remittance documents and FedEx courier

Send a POST request to /checks/print to create a U.S. cashier’s check with one or more payees and FedEx delivery; include contactPhone and remittance.documents with description, documentDate, and NET_AMOUNT.

Sample: Request
{
  "printType": "CASHIERS",
  "debtor": {
    "accountNumber": "987654321"
  },
  "clientReference": "REF1234566",
  "checkAmount": {
    "amount": "500.00",
    "currency": "USD"
  },
  "payees": [
    {
      "name": "John Doe",
      "priority": 1
    },
    {
      "name": "ELITE CORP & AM",
      "priority": 2
    }
  ],
  "address": {
    "addressLines": [
      "456 Corporate Ave",
      "Floor 10",
      "Building B"
    ],
    "city": "Chicago",
    "postalCode": "60642",
    "countrySubDivision": "IL",
    "country": "US"
  },
  "delivery": {
    "courier": "FEDEX",
    "contactPhone": "312-555-6789"
  },
  "vendorId": "12345",
  "remittance": {
    "documents": [
      {
        "description": [
          "Reimbursement",
          "Back pay"
        ],
        "documentDate": "2020-01-01",
        "amounts": [
          {
            "value": {
              "amount": "500.00",
              "currency": "USD"
            },
            "type": "NET_AMOUNT"
          }
        ]
      }
    ],
    "remitter": "Acme Corp"
  }
}

U.S. or Canada Accounts Payable 6‑column print request without special delivery

Send a POST request to /checks/print to create an Accounts Payable 6‑column check for the U.S. or Canada. Set printType to ACCOUNTS_PAYABLE_6_COLUMN, include checkNumber, formCode, and remittance.documents, and omit specialHandling.

Sample: Request
{
  "printType": "ACCOUNTS_PAYABLE_6_COLUMN",
  "debtor": {
    "accountNumber": "1234567"
  },
  "checkNumber": "100200301",
  "checkAmount": {
    "amount": "1200.00",
    "currency": "USD"
  },
  "issueDate": "2025-12-10",
    "formCode": "JULIETWO",
  "remittance": {
    "documents": [
      {
        "description": [
          "Office Supplies October"
        ],
        "documentDate": "2023-10-10",
        "documentIdentifier": "INV-9001",
        "amounts": [
          {
            "value": {
              "amount": "1200.00",
              "currency": "USD"
            },
            "type": "NET_AMOUNT"
          },
          {
            "value": {
              "amount": "0.00",
              "currency": "USD"
            },
            "type": "DISCOUNT_AMOUNT"
          },
          {
            "value": {
              "amount": "1200.00",
              "currency": "USD"
            },
            "type": "GROSS_AMOUNT"
          }
        ]
      }
    ]
  },
  "payees": [
    {
      "name": "Supply Depot Inc",
      "priority": 1
    }
  ],
  "address": {
    "addressLines": [
      "789 Market St"
    ],
    "city": "Chicago",
    "postalCode": "60601",
    "countrySubDivision": "IL",
    "country": "US"
  },
  "delivery": {
    "courier": "UPS",
    "contactPhone": "555-123-4567"
  },
  "vendorId": "SUPDEPOT01",
  "memoLines": [
    "Payment for October supplies"
  ]
}

U.S. or Canada Accounts Payable 6‑column print request with special delivery

Send a POST request to /checks/print to create an Accounts Payable 6‑column check for the U.S. or Canada. Set printType to ACCOUNTS_PAYABLE_6_COLUMN; include checkNumber, formCode, and remittance.documents; add delivery.specialHandling with deliveryAddress, companyName, and attention.

Sample: Request
{
  "printType": "ACCOUNTS_PAYABLE_6_COLUMN",
  "debtor": {
    "accountNumber": "1234567"
  },
  "checkNumber": "100200300",
  "checkAmount": {
    "amount": "1000.00",
    "currency": "USD"
  },
  "issueDate": "2025-12-09",
  "formCode": "123AP6",
  "remittance": {
    "documents": [
      {
        "description": [
          "Payment for services rendered"
        ],
        "documentDate": "2023-10-10",
        "documentIdentifier": "INV-10001",
        "amounts": [
          {
            "value": {
              "amount": "1000.00",
              "currency": "USD"
            },
            "type": "NET_AMOUNT"
          },
          {
            "value": {
              "amount": "0.00",
              "currency": "USD"
            },
            "type": "DISCOUNT_AMOUNT"
          },
          {
            "value": {
              "amount": "1000.00",
              "currency": "USD"
            },
            "type": "GROSS_AMOUNT"
          }
        ]
      }
    ]
  },
  "payees": [
    {
      "name": "Jane Doe",
      "priority": 1
    }
  ],
  "address": {
    "addressLines": [
      "789 Market St",
      "Lon & Brooklyn",
      "Suite 100"
    ],
    "city": "Chicago",
    "postalCode": "60601",
    "countrySubDivision": "IL",
    "country": "US"
  },
  "delivery": {
    "courier": "UPS",
    "contactPhone": "312-555-6789",
    "specialHandling": {
      "deliveryAddress": {
        "addressLines": [
          "Anon",
          "PO Box 5678",
          "123 Delivery Ave"
        ],
        "city": "Chicago",
        "postalCode": "60642",
        "countrySubDivision": "IL",
        "country": "US"
      },
      "companyName": "Mailing Services Inc.",
      "attention": "John Doe"
    }
  },
  "vendorId": "SUPDEPOT01",
  "memoLines": [
    "Payment for October supplies"
  ]
}

On success, all requests return id, issueDate, and requestInvocationId. The fields are consistent across scenarios and only the values differ. Use id to track status, and retain requestInvocationId for auditing.

Sample: Response
{
  "id": "b1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
  "issueDate": "2025-12-09",
  "requestInvocationId": "n8a40v3r-3769-4o79-9z0l-ale1edc90389"
}
  • For more information about check print, see check print Overview.
  • For information about status responses and error codes supported by the checks API, see Error codes.
  • For more information about check print resources, see Resources.