Skip to content

ACH Processor

ACH payment processing and reports.

3 endpoints All API groups

Get Report

POST /api/AchProcessor/GetReport

Request body

Schema: AchReportRequest

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
Parameters AchReportParameters Optional Parameters.
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/AchProcessor/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 Get Report Response AchReportResponse
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>",
      "ResponseFromHostReceived": false,
      "ResponseType": "<response-type>",
      "ResponseTypeText": "<response-type-text>",
      "ResultCode": "<result-code>",
      "RoutingNumber": "<routing-number>",
      "TerminalId": "<terminal-id>",
      "TransactionId": "unique-transaction-id",
      "TransactionReverted": false
    }
  ],
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}

Process Ach

POST /api/AchProcessor/ProcessAch

Process ach by Web with Geti web service

Request body

Schema: AchRequest

Field Type Requirement Description
ACCOUNT_NUMBER string Optional Account Number.
ACCOUNT_TYPE string Optional Account Type.
ADDRESS1 string Optional Address 1.
ADDRESS2 string Optional Address 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 City.
COMPANY_NAME string Optional Company Name.
COURTESY_CARD_ID string Optional Courtesy Card Identifier.
DL_NUMBER string Optional DL Number.
DL_STATE string Optional DL State.
DOB_YEAR string Optional DOB Year.
FIRST_NAME string Optional First Name.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
LAST_NAME string Optional Last Name.
Method integer (int32) Optional Method.
PHONE_NUMBER string Optional Phone Number.
Password string Required Password of the client on the host.
ROUTING_NUMBER string Optional Routing Number.
SSN4 string Optional SSN4.
STATE string Optional State.
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 Terminal Identifier.
UserName string Required User credential of the client on the host.
ZIP string Optional Zip.
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/AchProcessor/ProcessAch' \
  --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 Process Ach Response AchResponse
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>"
  ],
  "TransactionInfo": {
    "AccountNumber": "<account-number>",
    "AchId": 1,
    "CheckAmount": "<check-amount>",
    "RoutingNumber": "<routing-number>",
    "ServiceTransactionNumber": "<service-transaction-number>"
  },
  "TypeCode": "<type-code>",
  "ValidationMessage": "<validation-message>",
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}

Void Ach

POST /api/AchProcessor/VoidAch

Process an ach void by Web with Geti web service

Request body

Schema: AchVoidRequest

Field Type Requirement Description
AbaRouting string Optional ABA Routing.
AccountNumber string Optional Account Number.
AchAmount number (double) Optional ACH Amount.
AchId integer (int32) Optional Ach Identifier.
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/AchProcessor/VoidAch' \
  --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 Void Ach Response AchVoidResponse
Example response
{
  "Code": "<code>",
  "CodeTypeMsg": [
    "<code-type-msg>"
  ],
  "Message": "<message>",
  "Msg": [
    "<msg>"
  ],
  "ResponseCode": 200,
  "ResponseType": "<response-type>",
  "ResponseTypeText": "<response-type-text>",
  "ResultCode": "<result-code>",
  "ResultCodeMsg": [
    "<result-code-msg>"
  ],
  "TypeCode": "<type-code>",
  "ValidationMessage": "<validation-message>",
  "displayMessage": "<display-message>",
  "verbiage": "<verbiage>"
}