Check Processor¶
Electronic check processing and reversals.
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
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:
| CheckNoVerificationDLRequired | 1 | Using this method:
| CheckVerificationIdentityVerificationDLOptional | 3 | Using this method:
| CheckVerificationIdentityVerificationDLRequired | 4 | Using this method:
| CheckVerificationOnlyDLOptional | 5 | Using this method:
| CheckVerificationOnlyDLRequired | 6 | Using this method:
| IdentityVerificationOnlyDLOptional | 7 | Using this method:
| IdentityVerificationOnlyDLRequired | 8 | Using this method:
|
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
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
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>"
}