Skip to content

Check Processor

Electronic check processing and reversals.

3 endpoints All API groups

Get Report

POST /api/CheckProcessor/GetReport

Request a check transactions report.

Request body

Schema: Request

Field Type Requirement Description
AppInfo string Optional Application information including language, version, platform, device model and OS.
Format: "Lang: XX. Version: X.X.X. Platform: XXXX. DeviceModel: XXXX. OS: XXXX"
Example: "Lang: Es. Version: 3.11.8. Platform: android. DeviceModel: dedede. OS: Android OS 13 / API-33"
AppKey string Required Application Key which uniquely identifies your application as provided by the Blackstone system.
AppType integer (int32) Required Application Type as provided by the Blackstone system.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
Password string Required Password of the client on the host.
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional The source of the request
UserName string Required User credential of the client on the host.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
curl --request POST \
  --url 'https://services.bmspay.com/api/CheckProcessor/GetReport' \
  --header 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}
JSON
{
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}

Responses

Status Description Schema
200 The Check Report Response CheckReportResponse
Example response
{
  "Msg": [
    "<msg>"
  ],
  "ResponseCode": 200,
  "Transactions": [
    {
      "AccountNumber": "<account-number>",
      "AccountType": "<account-type>",
      "CheckAmount": 10.0,
      "CheckNumber": "<check-number>",
      "Code": "<code>",
      "MadeOn": "2026-01-31T12:00:00Z",
      "Message": "<message>",
      "PacketIdentifier": "<packet-identifier>",
      "ResponseType": "<response-type>",
      "ResponseTypeText": "<response-type-text>",
      "ResultCode": "<result-code>",
      "RoutingNumber": "<routing-number>",
      "ServiceTransactionNumber": "<service-transaction-number>",
      "TransactionVoided": false,
      "TransactionVoidedOn": "2026-01-31T12:00:00Z",
      "TypeCode": "<type-code>"
    }
  ],
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}

Process Check Web

POST /api/CheckProcessor/ProcessCheck

Process checks by Web with Geti web service

Request body

Schema: CheckRequest

Field Type Requirement Description
ACCOUNT_NUMBER string Optional Check Account Number
ACCOUNT_TYPE string Optional Account Type
| Name | Value | Description |
|---|---|---|
| CHECKING | Checking | Checking Account |
| SAVING | Saving | Savings Account |
ADDRESS1 string Optional Address line 1
ADDRESS2 string Optional Address line 2
AppInfo string Optional Application information including language, version, platform, device model and OS.
Format: "Lang: XX. Version: X.X.X. Platform: XXXX. DeviceModel: XXXX. OS: XXXX"
Example: "Lang: Es. Version: 3.11.8. Platform: android. DeviceModel: dedede. OS: Android OS 13 / API-33"
AppKey string Required Application Key which uniquely identifies your application as provided by the Blackstone system.
AppType integer (int32) Required Application Type as provided by the Blackstone system.
CHECK_AMOUNT string Optional Check Amount
CHECK_NUMBER string Optional Check number
CITY string Optional Address City
COMPANY_NAME string Optional Company Name
COURTESY_CARD_ID string Optional Courtesy Card ID
CheckTransactionId integer (int32) Optional Prior transaction id - for void / refund
DL_NUMBER string Optional Driver’s License Number
DL_STATE string Optional State
| Name | Value | Description |
|---|---|---|
| AB | 0 | Alberta |
| AK | 1 | Alaska |
| AL | 2 | Alabama |
| AR | 3 | Arkansas |
| AS | 4 | American Samoa |
| AZ | 5 | Arizona |
| BC | 6 | British Columbia |
| CA | 7 | California |
| CO | 8 | Colorado |
| CT | 9 |Connecticut|
| DC | 10 | District of Columbia |
| DE | 11 | Delaware |
| FL | 12 | Florida |
| GA | 13 | Georgia |
| GU | 14 | Guam |
| HI | 15 | Hawaii |
| IA | 16 | Iowa |
| ID | 17 | Idaho |
| IL | 18 | Illinois |
| IN | 19 | Indiana |
| KS | 20 | Kansas |
| KY | 21 | Kentucky |
| LA | 22 | Louisiana |
| MA | 23 | Massachusetts |
| MB | 24 | Manitoba |
| MD | 25 | Maryland |
| ME | 26 | Maine |
| MI | 27 | Michigan |
| MN | 28 | Minnesota |
| MO | 29 | Missouri |
| MS | 30 | Mississippi |
| MT | 31 | Montana |
| NB | 32 | New Brunswick |
| NC | 33 | North Carolina |
| ND | 34 | North Dakota |
| NE | 35 | Nebraska |
| NF | 36 | Newfoundland |
| NH | 37 | New Hampshire |
| NJ | 38 | New Jersey |
| NM | 39 | New Mexico |
| NS | 40 | Nova Scotia |
| NT | 41 | Northwest Territories |
| NU | 42 | Nunavut |
| NV | 43 | Nevada |
| NY | 44 | New York |
| OH | 45 | Ohio |
| OK | 46 | Oklahoma |
| ON | 47 | Ontario |
| OR | 48 | Oregon |
| PA | 49 | Pennsylvania |
| PE | 50 | Prince Edward Island |
| PR | 51 | Puerto Rico |
| QC | 52 | Quebec |
| RI | 53 | Rhode Island |
| SC | 54 | South Carolina |
| SD | 55 | South Dakota |
| SK | 56 | Saskatchewan |
| TN | 57 | Tennessee |
| TX | 58 | Texas |
| UT | 59 | Utah |
| VA | 60 | Virginia |
| VI | 61 | Virgin Islands |
| VT | 62 | Vermont |
| WA | 63 | Washington |
| WI | 64 | Wisconsin |
| WV | 65 | West Virginia |
| WY | 66 | Wyoming |
| YT | 67 | Yukon |
DOB_YEAR string Optional Birthdate's year
FIRST_NAME string Optional First Name on check.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
LAST_NAME string Optional Last Name on check.
Method integer (int32) Optional | Name | Value | Description |
|---|---|---|
| CheckNoVerificationDLOptional | 0 |

Using this method:

  • Driver License is not required.
  • Check Verification is not processed.
  • ID verification is not processed.
|
| CheckNoVerificationDLRequired | 1 |

Using this method:

  • Driver License is required.
  • Check Verification is not processed.
  • ID verification is not processed.
|
| CheckVerificationIdentityVerificationDLOptional | 3 |

Using this method:

  • Driver License is not required.
  • Check Verification is processed.
  • ID verification is processed.
|
| CheckVerificationIdentityVerificationDLRequired | 4 |

Using this method:

  • Driver License is required.
  • Check Verification is processed.
  • ID verification is processed.
|
| CheckVerificationOnlyDLOptional | 5 |

Using this method:

  • Driver License is not required.
  • Check Verification is processed.
  • ID verification is processed.
|
| CheckVerificationOnlyDLRequired | 6 |

Using this method:

  • Driver License is required.
  • Check Verification is processed.
  • ID verification is not processed.
|
| IdentityVerificationOnlyDLOptional | 7 |

Using this method:

  • Driver License is not required.
  • Check Verification is not processed.
  • ID verification is processed.
|
| IdentityVerificationOnlyDLRequired | 8 |

Using this method:

  • Driver License is required.
  • Check Verification is not processed.
  • ID verification is processed.
|
PHONE_NUMBER string Optional Phone Number
PacketIdentifier string Optional Packet Identifier
| Value | Description |
|---|---|
| A | This is used in schemas for ARC, BOC, POP, TEL, WEB, and Check 21 to indicate that an authorization is requested for the XML Data Packet being sent. |
| O | This is used in schemas for ARC, BOC, POP, TEL, WEB, and Check 21 when the host system receives a manager needed message to void the previous transaction and input a new transaction in its place. |
| V | This is used in schemas for ARC, BOC, POP, TEL, WEB, and Check 21 to void a previously authorized transaction.However, it should be noted that transactions can only be voided on the same calendar day they were authorized. |
Password string Required Password of the client on the host.
ROUTING_NUMBER string Optional Bank routing number
SSN4 string Optional Last 4 digits of the Social Security number
STATE string Optional State
| Name | Value | Description |
|---|---|---|
| AB | 0 | Alberta |
| AK | 1 | Alaska |
| AL | 2 | Alabama |
| AR | 3 | Arkansas |
| AS | 4 | American Samoa |
| AZ | 5 | Arizona |
| BC | 6 | British Columbia |
| CA | 7 | California |
| CO | 8 | Colorado |
| CT | 9 |Connecticut|
| DC | 10 | District of Columbia |
| DE | 11 | Delaware |
| FL | 12 | Florida |
| GA | 13 | Georgia |
| GU | 14 | Guam |
| HI | 15 | Hawaii |
| IA | 16 | Iowa |
| ID | 17 | Idaho |
| IL | 18 | Illinois |
| IN | 19 | Indiana |
| KS | 20 | Kansas |
| KY | 21 | Kentucky |
| LA | 22 | Louisiana |
| MA | 23 | Massachusetts |
| MB | 24 | Manitoba |
| MD | 25 | Maryland |
| ME | 26 | Maine |
| MI | 27 | Michigan |
| MN | 28 | Minnesota |
| MO | 29 | Missouri |
| MS | 30 | Mississippi |
| MT | 31 | Montana |
| NB | 32 | New Brunswick |
| NC | 33 | North Carolina |
| ND | 34 | North Dakota |
| NE | 35 | Nebraska |
| NF | 36 | Newfoundland |
| NH | 37 | New Hampshire |
| NJ | 38 | New Jersey |
| NM | 39 | New Mexico |
| NS | 40 | Nova Scotia |
| NT | 41 | Northwest Territories |
| NU | 42 | Nunavut |
| NV | 43 | Nevada |
| NY | 44 | New York |
| OH | 45 | Ohio |
| OK | 46 | Oklahoma |
| ON | 47 | Ontario |
| OR | 48 | Oregon |
| PA | 49 | Pennsylvania |
| PE | 50 | Prince Edward Island |
| PR | 51 | Puerto Rico |
| QC | 52 | Quebec |
| RI | 53 | Rhode Island |
| SC | 54 | South Carolina |
| SD | 55 | South Dakota |
| SK | 56 | Saskatchewan |
| TN | 57 | Tennessee |
| TX | 58 | Texas |
| UT | 59 | Utah |
| VA | 60 | Virginia |
| VI | 61 | Virgin Islands |
| VT | 62 | Vermont |
| WA | 63 | Washington |
| WI | 64 | Wisconsin |
| WV | 65 | West Virginia |
| WY | 66 | Wyoming |
| YT | 67 | Yukon |
SaveToken boolean Optional Indicates whether to enable saving of payment information for future use.
When true, the payment details will be securely stored and a reusable token will be generated.
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional The source of the request
TerminalID string Optional Identify the device which is doing the transaction.
UserName string Required User credential of the client on the host.
ZIP string Optional Address Zip Code
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
curl --request POST \
  --url 'https://services.bmspay.com/api/CheckProcessor/ProcessCheck' \
  --header 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}
JSON
{
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}

Responses

Status Description Schema
200 The Check Response CheckResponse
Example response
{
  "Code": "<code>",
  "CodeTypeMsg": [
    "<code-type-msg>"
  ],
  "ErrorMessages": [
    "<error-messages>"
  ],
  "Message": "<message>",
  "Msg": [
    "<msg>"
  ],
  "ResponseCode": 200,
  "ResponseType": "<response-type>",
  "ResponseTypeText": "<response-type-text>",
  "ResultCode": "<result-code>",
  "ResultCodeMsg": [
    "<result-code-msg>"
  ],
  "Token": "<token>",
  "TransactionInfo": {
    "AccountNumber": "<account-number>",
    "CheckAmount": "<check-amount>",
    "CheckNumber": "<check-number>",
    "RoutingNumber": "<routing-number>",
    "ServiceTransactionNumber": "<service-transaction-number>"
  },
  "TypeCode": "<type-code>",
  "ValidationMessage": "<validation-message>",
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}

Process Check using saved Token

POST /api/CheckProcessor/ProcessToken

Process a check transaction using a previously saved Token. The token contains all the customer and bank information needed for processing. Only the amount and optionally the check number need to be provided.

Request body

Schema: CheckTokenRequest

Field Type Requirement Description
AppInfo string Optional Application information including language, version, platform, device model and OS.
Format: "Lang: XX. Version: X.X.X. Platform: XXXX. DeviceModel: XXXX. OS: XXXX"
Example: "Lang: Es. Version: 3.11.8. Platform: android. DeviceModel: dedede. OS: Android OS 13 / API-33"
AppKey string Required Application Key which uniquely identifies your application as provided by the Blackstone system.
AppType integer (int32) Required Application Type as provided by the Blackstone system.
CHECK_AMOUNT string Required Check Amount for this transaction
CHECK_NUMBER string Optional Check number for this transaction (optional)
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
Password string Required Password of the client on the host.
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional The source of the request
Token string Required UUIDv4 token that identifies the saved CheckToken
UserName string Required User credential of the client on the host.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
curl --request POST \
  --url 'https://services.bmspay.com/api/CheckProcessor/ProcessToken' \
  --header 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "Token": "<token>",
  "CHECK_AMOUNT": "<check-amount>",
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}
JSON
{
  "Token": "<token>",
  "CHECK_AMOUNT": "<check-amount>",
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}

Responses

Status Description Schema
200 The Check Response CheckResponse
Example response
{
  "Code": "<code>",
  "CodeTypeMsg": [
    "<code-type-msg>"
  ],
  "ErrorMessages": [
    "<error-messages>"
  ],
  "Message": "<message>",
  "Msg": [
    "<msg>"
  ],
  "ResponseCode": 200,
  "ResponseType": "<response-type>",
  "ResponseTypeText": "<response-type-text>",
  "ResultCode": "<result-code>",
  "ResultCodeMsg": [
    "<result-code-msg>"
  ],
  "Token": "<token>",
  "TransactionInfo": {
    "AccountNumber": "<account-number>",
    "CheckAmount": "<check-amount>",
    "CheckNumber": "<check-number>",
    "RoutingNumber": "<routing-number>",
    "ServiceTransactionNumber": "<service-transaction-number>"
  },
  "TypeCode": "<type-code>",
  "ValidationMessage": "<validation-message>",
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}