Recurring Billing¶
Plans, subscriptions, and scheduled billing.
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
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 | — |
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 | — |
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 | — |
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
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | RecurringBillingResponse |
Example response
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 | — |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | RecurringBillingEditResponse |
Example response
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
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | RecurringBillingDeactivateResponse |