Skip to content

Recurring Billing

Plans, subscriptions, and scheduled billing.

7 endpoints All API groups

Create

POST /api/ATHMobileTransaction/Create

Request body

Schema: ATHMobileTransactionRequest

Field Type Requirement Description
Merchantid integer (int32) Optional
EcommerceId string Optional
EcommerceStatus string — Open, Completed, Cancel, Confirm Optional
BusinessCustomerId string Optional
ReferenceNumber string Optional
DailyTransactionId integer (int32) Optional
TransactionDate string (date-time) Optional
SubTotal number (double) Optional
Tax number (double) Optional
Total number (double) Optional
Fee number (double) Optional
NetAmount number (double) Optional
TotalRefundedAmount number (double) Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/ATHMobileTransaction/Create' \
  --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 OK ATHMobileTransactionResponse
Example response
{
  "Transactions": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Mid": 1,
      "EcommerceId": "<ecommerce-id>",
      "EcommerceStatus": "Open",
      "BusinessCustomerId": "<business-customer-id>",
      "ReferenceNumber": "<reference-number>",
      "DailyTransactionId": 1,
      "TransactionDate": "2026-01-31",
      "SubTotal": 1.0,
      "Tax": 1.0,
      "Total": 1.0,
      "Fee": 1.0,
      "NetAmount": 10.0,
      "TotalRefundedAmount": 10.0
    }
  ],
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

ATH Mobile Transaction

POST /api/ATHMobileTransaction

Request body

Schema: ATHMobileTransactionRequest

Field Type Requirement Description
Merchantid integer (int32) Optional
EcommerceId string Optional
EcommerceStatus string — Open, Completed, Cancel, Confirm Optional
BusinessCustomerId string Optional
ReferenceNumber string Optional
DailyTransactionId integer (int32) Optional
TransactionDate string (date-time) Optional
SubTotal number (double) Optional
Tax number (double) Optional
Total number (double) Optional
Fee number (double) Optional
NetAmount number (double) Optional
TotalRefundedAmount number (double) Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/ATHMobileTransaction' \
  --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 OK ATHMobileTransactionResponse
Example response
{
  "Transactions": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Mid": 1,
      "EcommerceId": "<ecommerce-id>",
      "EcommerceStatus": "Open",
      "BusinessCustomerId": "<business-customer-id>",
      "ReferenceNumber": "<reference-number>",
      "DailyTransactionId": 1,
      "TransactionDate": "2026-01-31",
      "SubTotal": 1.0,
      "Tax": 1.0,
      "Total": 1.0,
      "Fee": 1.0,
      "NetAmount": 10.0,
      "TotalRefundedAmount": 10.0
    }
  ],
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

Get

POST /api/RecurringBilling/Get

Request body

Schema: RecurringBillingGetRequest

Field Type Requirement Description
BillingId integer (int32) Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/RecurringBilling/Get' \
  --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 OK RecurringBillingGetResponse
Example response
{
  "Billing": {
    "Id": 1,
    "MerchantId": 1,
    "Token": "<token>",
    "Frequency": "<frequency>",
    "AddedOn": "2026-01-31T12:00:00Z",
    "LastModifiedOn": "2026-01-31T12:00:00Z",
    "StartDate": "2026-01-31",
    "EndDate": "2026-01-31",
    "IsInstallment": false,
    "InstallmentTotal": 1,
    "Amount": 10.0,
    "PaymentsCountsSoFar": 1,
    "AmountCollectedSoFar": 10.0,
    "LastPaymentDate": "2026-01-31",
    "NextPaymentDate": "2026-01-31",
    "FirstName": "<first-name>"
  },
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

Get All

POST /api/RecurringBilling/GetAll

Request body

Schema: RecurringBillingGetRequest

Field Type Requirement Description
BillingId integer (int32) Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/RecurringBilling/GetAll' \
  --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 OK RecurringBillingGetAllResponse
Example response
{
  "Billings": [
    {
      "Id": 1,
      "MerchantId": 1,
      "Token": "<token>",
      "Frequency": "<frequency>",
      "AddedOn": "2026-01-31T12:00:00Z",
      "LastModifiedOn": "2026-01-31T12:00:00Z",
      "StartDate": "2026-01-31",
      "EndDate": "2026-01-31",
      "IsInstallment": false,
      "InstallmentTotal": 1,
      "Amount": 10.0,
      "PaymentsCountsSoFar": 1,
      "AmountCollectedSoFar": 10.0,
      "LastPaymentDate": "2026-01-31",
      "NextPaymentDate": "2026-01-31",
      "FirstName": "<first-name>"
    }
  ],
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

Create

POST /api/RecurringBilling/Create

Request body

Schema: RecurringBillingRequest

Field Type Requirement Description
IsInstallment boolean Required
InstallmentTotal integer (int32) Required
FrequencyId integer (int32) Required
Amount number (double) Required
StartDate string (date-time) Required
EndDate string (date-time) Optional
Description string Optional
Account string Optional
ExpDate string Optional
Cv string Optional
CardHolderName string Optional
FirstName string Optional
LastName string Optional
Street string Optional
City string Optional
State string Optional
ZipCode string Optional
Phone string Optional
Email string Optional
CardTokenId integer (int32) Optional
SelectedCustomerId integer (int32) Optional
CustomerId string Optional
CustomerZipCode string Optional
TransactionId string Optional
MerchantId integer (int32) Optional
SurchargePercent number (double) Optional
CardDifferencePercent number (double) Optional
TaxPercent number (double) Optional
SecureData string Optional
SecureTransactionId string Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/RecurringBilling/Create' \
  --header 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "IsInstallment": false,
  "InstallmentTotal": 1,
  "FrequencyId": 1,
  "Amount": 10.0,
  "StartDate": "2026-01-31",
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}
JSON
{
  "IsInstallment": false,
  "InstallmentTotal": 1,
  "FrequencyId": 1,
  "Amount": 10.0,
  "StartDate": "2026-01-31",
  "AppKey": "your-app-key",
  "AppType": 1,
  "mid": 1,
  "cid": 1,
  "UserName": "your-username",
  "Password": "your-password",
  "IsTest": true
}

Responses

Status Description Schema
200 OK RecurringBillingResponse
Example response
{
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

Edit

POST /api/RecurringBilling/Edit

Request body

Schema: RecurringBillingEditRequest

Field Type Requirement Description
Id integer (int32) Optional
RecurringStart string (date-time) Optional
RecurringEnd string (date-time) Optional
NextPaymentDate string (date-time) Optional
Amount number (double) Optional
FrequencyId integer (int32) Optional
Description string Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/RecurringBilling/Edit' \
  --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 OK RecurringBillingEditResponse
Example response
{
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}

Deactivate

POST /api/RecurringBilling/Deactivate

Request body

Schema: RecurringBillingDeactivateRequest

Field Type Requirement Description
BillingId integer (int32) Optional
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.
mid integer (int32) Required Merchant ID – A number used to identify the merchant.
cid integer (int32) Required Cashier ID – A number used to identify the merchant’s subclient.
UserName string Required User credential of the client on the host.
Password string Required Password of the client on the host.
IpAddress string Optional
Source string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp Optional
AppInfo string Optional
IsTest boolean Optional
curl --request POST \
  --url 'https://services.bmspay.com/api/RecurringBilling/Deactivate' \
  --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 OK RecurringBillingDeactivateResponse
Example response
{
  "ResponseCode": 200,
  "Msg": [
    "<msg>"
  ],
  "verbiage": "<verbiage>",
  "displayMessage": "<display-message>"
}