Recurring Billing¶
Plans, subscriptions, and scheduled billing.
Create a new ATHMobile Transaction¶
POST
/api/ATHMobileTransaction
Request body¶
Schema: ATHMobileTransactionRequest
| 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. |
BusinessCustomerId |
string | Optional | — |
DailyTransactionId |
integer (int32) | Optional | — |
EcommerceId |
string | Optional | — |
EcommerceStatus |
string — Open, Completed, Cancel, Confirm |
Optional | — |
Fee |
number (double) | Optional | — |
IpAddress |
string | Optional | The client's IP address. |
IsTest |
boolean | Optional | True if is a test sale |
Merchantid |
integer (int32) | Optional | — |
NetAmount |
number (double) | Optional | — |
Password |
string | Required | Password of the client on the host. |
ReferenceNumber |
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 | The source of the request |
SubTotal |
number (double) | Optional | — |
Tax |
number (double) | Optional | — |
Total |
number (double) | Optional | — |
TotalRefundedAmount |
number (double) | Optional | — |
TransactionDate |
string (date-time) | Optional | — |
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. |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Create ATHMobile Transaction Response | ATHMobileTransactionResponse |
Example response
{
"Msg": [
"<msg>"
],
"ResponseCode": 200,
"Transactions": [
{
"BusinessCustomerId": "<business-customer-id>",
"DailyTransactionId": 1,
"EcommerceId": "<ecommerce-id>",
"EcommerceStatus": "Open",
"Fee": 1.0,
"Id": "00000000-0000-0000-0000-000000000000",
"Mid": 1,
"NetAmount": 10.0,
"ReferenceNumber": "<reference-number>",
"SubTotal": 1.0,
"Tax": 1.0,
"Total": 1.0,
"TotalRefundedAmount": 10.0,
"TransactionDate": "2026-01-31"
}
],
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Create a new ATHMobile Transaction¶
POST
/api/ATHMobileTransaction/Create
Request body¶
Schema: ATHMobileTransactionRequest
| 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. |
BusinessCustomerId |
string | Optional | — |
DailyTransactionId |
integer (int32) | Optional | — |
EcommerceId |
string | Optional | — |
EcommerceStatus |
string — Open, Completed, Cancel, Confirm |
Optional | — |
Fee |
number (double) | Optional | — |
IpAddress |
string | Optional | The client's IP address. |
IsTest |
boolean | Optional | True if is a test sale |
Merchantid |
integer (int32) | Optional | — |
NetAmount |
number (double) | Optional | — |
Password |
string | Required | Password of the client on the host. |
ReferenceNumber |
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 | The source of the request |
SubTotal |
number (double) | Optional | — |
Tax |
number (double) | Optional | — |
Total |
number (double) | Optional | — |
TotalRefundedAmount |
number (double) | Optional | — |
TransactionDate |
string (date-time) | Optional | — |
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/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 | The Create ATHMobile Transaction Response | ATHMobileTransactionResponse |
Example response
{
"Msg": [
"<msg>"
],
"ResponseCode": 200,
"Transactions": [
{
"BusinessCustomerId": "<business-customer-id>",
"DailyTransactionId": 1,
"EcommerceId": "<ecommerce-id>",
"EcommerceStatus": "Open",
"Fee": 1.0,
"Id": "00000000-0000-0000-0000-000000000000",
"Mid": 1,
"NetAmount": 10.0,
"ReferenceNumber": "<reference-number>",
"SubTotal": 1.0,
"Tax": 1.0,
"Total": 1.0,
"TotalRefundedAmount": 10.0,
"TransactionDate": "2026-01-31"
}
],
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Create¶
POST
/api/RecurringBilling/Create
Request body¶
Schema: RecurringBillingRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Account |
string | Optional | — |
Amount |
number (double) | Required | — |
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. |
CardDifferencePercent |
number (double) | Optional | — |
CardHolderName |
string | Optional | — |
CardTokenId |
integer (int32) | Optional | — |
City |
string | Optional | — |
CustomerId |
string | Optional | — |
CustomerZipCode |
string | Optional | — |
Cv |
string | Optional | — |
Description |
string | Optional | — |
Email |
string | Optional | — |
EndDate |
string (date-time) | Optional | — |
ExpDate |
string | Optional | — |
FirstName |
string | Optional | — |
FrequencyId |
integer (int32) | Required | — |
InstallmentTotal |
integer (int32) | Required | — |
IpAddress |
string | Optional | The client's IP address. |
IsInstallment |
boolean | Required | — |
IsTest |
boolean | Optional | True if is a test sale |
LastName |
string | Optional | — |
MerchantId |
integer (int32) | Optional | — |
Password |
string | Required | Password of the client on the host. |
Phone |
string | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SelectedCustomerId |
integer (int32) | Optional | — |
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 |
StartDate |
string (date-time) | Required | — |
State |
string | Optional | — |
Street |
string | Optional | — |
SurchargePercent |
number (double) | Optional | — |
TaxPercent |
number (double) | Optional | — |
TransactionId |
string | Optional | — |
UserName |
string | Required | User credential of the client on the host. |
ZipCode |
string | Optional | — |
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/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 | The Create Response | RecurringBillingResponse |
Example response
Deactivate¶
POST
/api/RecurringBilling/Deactivate
Request body¶
Schema: RecurringBillingDeactivateRequest
| 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. |
BillingId |
integer (int32) | Optional | Billing Identifier. |
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/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 | The Deactivate Response | RecurringBillingDeactivateResponse |
Example response
Edit¶
POST
/api/RecurringBilling/Edit
Request body¶
Schema: RecurringBillingEditRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Optional | — |
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. |
Description |
string | Optional | — |
FrequencyId |
integer (int32) | Optional | — |
Id |
integer (int32) | Optional | — |
IpAddress |
string | Optional | The client's IP address. |
IsTest |
boolean | Optional | True if is a test sale |
NextPaymentDate |
string (date-time) | Optional | — |
Password |
string | Required | Password of the client on the host. |
RecurringEnd |
string (date-time) | Optional | — |
RecurringStart |
string (date-time) | Optional | — |
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. |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Edit Response | RecurringBillingEditResponse |
Example response
Get an active Recurring Billing based on it's billing id¶
POST
/api/RecurringBilling/Get
Request body¶
Schema: RecurringBillingGetRequest
| 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. |
BillingId |
integer (int32) | Optional | Billings Identifier. |
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. |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Response | RecurringBillingGetResponse |
Example response
{
"Billing": {
"AddedOn": "2026-01-31T12:00:00Z",
"Amount": 10.0,
"AmountCollectedSoFar": 10.0,
"CardType": "<card-type>",
"City": "<city>",
"CustomerId": 1,
"Description": "<description>",
"Email": "developer@example.com",
"EndDate": "2026-01-31",
"FirstName": "<first-name>",
"Frequency": "<frequency>",
"Id": 1,
"InstallmentTotal": 1,
"IsInstallment": false,
"LastFour": "<last-four>",
"LastModifiedOn": "2026-01-31T12:00:00Z"
},
"Msg": [
"<msg>"
],
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Get all active Billings based on their common merchant id¶
POST
/api/RecurringBilling/GetAll
Request body¶
Schema: RecurringBillingGetRequest
| 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. |
BillingId |
integer (int32) | Optional | Billings Identifier. |
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. |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Response | RecurringBillingGetAllResponse |
Example response
{
"Billings": [
{
"AddedOn": "2026-01-31T12:00:00Z",
"Amount": 10.0,
"AmountCollectedSoFar": 10.0,
"CardType": "<card-type>",
"City": "<city>",
"CustomerId": 1,
"Description": "<description>",
"Email": "developer@example.com",
"EndDate": "2026-01-31",
"FirstName": "<first-name>",
"Frequency": "<frequency>",
"Id": 1,
"InstallmentTotal": 1,
"IsInstallment": false,
"LastFour": "<last-four>",
"LastModifiedOn": "2026-01-31T12:00:00Z"
}
],
"Msg": [
"<msg>"
],
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}