Payment Links¶
Create, manage, and inspect hosted payment links.
Get Payment Links¶
/api/PaymentLinks
Parameters¶
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
request.paymentLink.id |
query | string | Optional | Payment Link UUID represented as a string. It is generated by AddPaymentLink and is required by EditPaymentLink and DisablePaymentLink. |
request.paymentLink.merchantId |
query | integer (int32) | Optional | Merchant identifier returned with the Payment Link. Request authorization and ownership use the top-level mid. |
request.paymentLink.amount |
query | string | Optional | Positive amount represented as an en-US currency string (for example, "10.00"). Omit or send an empty value to create an open-amount link. When present, AddPaymentLink creates a fixed-amount link. |
request.paymentLink.description |
query | string | Optional | — |
request.paymentLink.type |
query | string — Open, Fixed |
Optional | Payment Link type. AddPaymentLink derives this value from Amount: Open when Amount is empty, Fixed otherwise. An input Type value does not override that derivation. |
request.paymentLink.createdOn |
query | string (date-time) | Optional | — |
request.paymentLink.paidOn |
query | string (date-time) | Optional | — |
request.paymentLink.disabledOn |
query | string (date-time) | Optional | — |
request.paymentLink.status |
query | string — UnPaid, Paid |
Optional | — |
request.paymentLink.active |
query | boolean | Optional | — |
request.paymentLink.serviceReferenceNumber |
query | string | Optional | — |
request.paymentLink.invoiceNumber |
query | string | Optional | — |
request.paymentLink.forcedPaymentMethod |
query | string — Credit, Check, ATHMobile, GooglePay, ApplePay, Debit |
Optional | — |
request.paymentLink.link |
query | string | Optional | Generated checkout URL returned by the API. The response property is Link, not Url. |
request.paymentLink.allowRecurringPayment |
query | boolean | Optional | — |
request.paymentLink.allowedPaymentSchedule |
query | string — OnlySingle, OnlyRecurringOrInstallment, SingleAndRecurringOrInstallment, SingleAndRecurringOnly, SingleAndInstallmentOnly, OnlyRecurring, OnlyInstallment |
Optional | — |
request.paymentLink.paymentSchedule |
query | string — Single, Recurring, Installment |
Optional | — |
request.paymentLink.isOpenPaymentSchedule |
query | boolean | Optional | — |
request.paymentLink.frequencyId |
query | integer (int32) | Optional | — |
request.paymentLink.startDate |
query | string (date-time) | Optional | — |
request.paymentLink.endDate |
query | string (date-time) | Optional | — |
request.paymentLink.recurringDescription |
query | string | Optional | — |
request.paymentLink.installmentTotal |
query | integer (int32) | Optional | — |
request.appKey |
query | string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
request.appType |
query | integer (int32) | Required | Application Type as provided by the Blackstone system. |
request.mid |
query | integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
request.cid |
query | integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
request.userName |
query | string | Required | User credential of the client on the host. |
request.password |
query | string | Required | Password of the client on the host. |
request.ipAddress |
query | string | Optional | The client's IP address. |
request.source |
query | 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 |
request.appInfo |
query | 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" |
request.isTest |
query | boolean | Optional | True if is a test sale |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Payment Links Response | PaymentLinksResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLinks": [
{
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
}
],
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Add Payment Link¶
/api/PaymentLinks
Send supported fields inside the top-level PaymentLink object. Amount is the Payment Links exception to transaction amount types: it is an en-US currency string. An omitted or empty Amount creates an open-amount link; a positive Amount creates a fixed-amount link, regardless of the input Type. Unknown properties such as Name, OrderReference, and customer fields are not persisted.
Example request shape (common credentials omitted):
{
"PaymentLink": {
"Amount": "10.00",
"Description": "Order 1001",
"InvoiceNumber": "INV-1001",
"AllowRecurringPayment": false
}
}
The response returns the UUID string in PaymentLink.Id and the checkout URL in PaymentLink.Link. There is no Url response property.
Request body¶
Schema: PaymentLinkRequest
| 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. |
PaymentLink |
PaymentLinkModel | Required | Payment Link data. The request body is nested under this PaymentLink property. |
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/PaymentLinks' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Add Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Add Payment Link¶
/api/PaymentLinks/AddPaymentLink
Send supported fields inside the top-level PaymentLink object. Amount is the Payment Links exception to transaction amount types: it is an en-US currency string. An omitted or empty Amount creates an open-amount link; a positive Amount creates a fixed-amount link, regardless of the input Type. Unknown properties such as Name, OrderReference, and customer fields are not persisted.
Example request shape (common credentials omitted):
{
"PaymentLink": {
"Amount": "10.00",
"Description": "Order 1001",
"InvoiceNumber": "INV-1001",
"AllowRecurringPayment": false
}
}
The response returns the UUID string in PaymentLink.Id and the checkout URL in PaymentLink.Link. There is no Url response property.
Request body¶
Schema: PaymentLinkRequest
| 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. |
PaymentLink |
PaymentLinkModel | Required | Payment Link data. The request body is nested under this PaymentLink property. |
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/PaymentLinks/AddPaymentLink' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Add Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Disable Payment Link¶
/api/PaymentLinks/DisablePaymentLink
Request body¶
Schema: PaymentLinkRequest
| 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. |
PaymentLink |
PaymentLinkModel | Required | Payment Link data. The request body is nested under this PaymentLink property. |
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 PUT \
--url 'https://services.bmspay.com/api/PaymentLinks/DisablePaymentLink' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Disable Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Edit Payment Link¶
/api/PaymentLinks/EditPaymentLink
This endpoint exists and expects a PaymentLink request object. PaymentLink.Id is the UUID string returned by AddPaymentLink; it is not an integer.
Request body¶
Schema: PaymentLinkRequest
| 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. |
PaymentLink |
PaymentLinkModel | Required | Payment Link data. The request body is nested under this PaymentLink property. |
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 PUT \
--url 'https://services.bmspay.com/api/PaymentLinks/EditPaymentLink' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
{
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1,
"PaidOn": "2026-01-31T12:00:00Z",
"PaymentSchedule": "Single",
"RecurringDescription": "<recurring-description>",
"ServiceReferenceNumber": "<service-reference-number>",
"StartDate": "2026-01-31",
"Status": "UnPaid",
"Type": "Open"
},
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Edit Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Get Payment Link¶
/api/PaymentLinks/GetPaymentLink
Parameters¶
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id |
query | string | Required | — |
request.paymentLink.id |
query | string | Optional | Payment Link UUID represented as a string. It is generated by AddPaymentLink and is required by EditPaymentLink and DisablePaymentLink. |
request.paymentLink.merchantId |
query | integer (int32) | Optional | Merchant identifier returned with the Payment Link. Request authorization and ownership use the top-level mid. |
request.paymentLink.amount |
query | string | Optional | Positive amount represented as an en-US currency string (for example, "10.00"). Omit or send an empty value to create an open-amount link. When present, AddPaymentLink creates a fixed-amount link. |
request.paymentLink.description |
query | string | Optional | — |
request.paymentLink.type |
query | string — Open, Fixed |
Optional | Payment Link type. AddPaymentLink derives this value from Amount: Open when Amount is empty, Fixed otherwise. An input Type value does not override that derivation. |
request.paymentLink.createdOn |
query | string (date-time) | Optional | — |
request.paymentLink.paidOn |
query | string (date-time) | Optional | — |
request.paymentLink.disabledOn |
query | string (date-time) | Optional | — |
request.paymentLink.status |
query | string — UnPaid, Paid |
Optional | — |
request.paymentLink.active |
query | boolean | Optional | — |
request.paymentLink.serviceReferenceNumber |
query | string | Optional | — |
request.paymentLink.invoiceNumber |
query | string | Optional | — |
request.paymentLink.forcedPaymentMethod |
query | string — Credit, Check, ATHMobile, GooglePay, ApplePay, Debit |
Optional | — |
request.paymentLink.link |
query | string | Optional | Generated checkout URL returned by the API. The response property is Link, not Url. |
request.paymentLink.allowRecurringPayment |
query | boolean | Optional | — |
request.paymentLink.allowedPaymentSchedule |
query | string — OnlySingle, OnlyRecurringOrInstallment, SingleAndRecurringOrInstallment, SingleAndRecurringOnly, SingleAndInstallmentOnly, OnlyRecurring, OnlyInstallment |
Optional | — |
request.paymentLink.paymentSchedule |
query | string — Single, Recurring, Installment |
Optional | — |
request.paymentLink.isOpenPaymentSchedule |
query | boolean | Optional | — |
request.paymentLink.frequencyId |
query | integer (int32) | Optional | — |
request.paymentLink.startDate |
query | string (date-time) | Optional | — |
request.paymentLink.endDate |
query | string (date-time) | Optional | — |
request.paymentLink.recurringDescription |
query | string | Optional | — |
request.paymentLink.installmentTotal |
query | integer (int32) | Optional | — |
request.appKey |
query | string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
request.appType |
query | integer (int32) | Required | Application Type as provided by the Blackstone system. |
request.mid |
query | integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
request.cid |
query | integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
request.userName |
query | string | Required | User credential of the client on the host. |
request.password |
query | string | Required | Password of the client on the host. |
request.ipAddress |
query | string | Optional | The client's IP address. |
request.source |
query | 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 |
request.appInfo |
query | 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" |
request.isTest |
query | boolean | Optional | True if is a test sale |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Get Payment Links¶
/api/PaymentLinks/GetPaymentLinks
Parameters¶
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
request.paymentLink.id |
query | string | Optional | Payment Link UUID represented as a string. It is generated by AddPaymentLink and is required by EditPaymentLink and DisablePaymentLink. |
request.paymentLink.merchantId |
query | integer (int32) | Optional | Merchant identifier returned with the Payment Link. Request authorization and ownership use the top-level mid. |
request.paymentLink.amount |
query | string | Optional | Positive amount represented as an en-US currency string (for example, "10.00"). Omit or send an empty value to create an open-amount link. When present, AddPaymentLink creates a fixed-amount link. |
request.paymentLink.description |
query | string | Optional | — |
request.paymentLink.type |
query | string — Open, Fixed |
Optional | Payment Link type. AddPaymentLink derives this value from Amount: Open when Amount is empty, Fixed otherwise. An input Type value does not override that derivation. |
request.paymentLink.createdOn |
query | string (date-time) | Optional | — |
request.paymentLink.paidOn |
query | string (date-time) | Optional | — |
request.paymentLink.disabledOn |
query | string (date-time) | Optional | — |
request.paymentLink.status |
query | string — UnPaid, Paid |
Optional | — |
request.paymentLink.active |
query | boolean | Optional | — |
request.paymentLink.serviceReferenceNumber |
query | string | Optional | — |
request.paymentLink.invoiceNumber |
query | string | Optional | — |
request.paymentLink.forcedPaymentMethod |
query | string — Credit, Check, ATHMobile, GooglePay, ApplePay, Debit |
Optional | — |
request.paymentLink.link |
query | string | Optional | Generated checkout URL returned by the API. The response property is Link, not Url. |
request.paymentLink.allowRecurringPayment |
query | boolean | Optional | — |
request.paymentLink.allowedPaymentSchedule |
query | string — OnlySingle, OnlyRecurringOrInstallment, SingleAndRecurringOrInstallment, SingleAndRecurringOnly, SingleAndInstallmentOnly, OnlyRecurring, OnlyInstallment |
Optional | — |
request.paymentLink.paymentSchedule |
query | string — Single, Recurring, Installment |
Optional | — |
request.paymentLink.isOpenPaymentSchedule |
query | boolean | Optional | — |
request.paymentLink.frequencyId |
query | integer (int32) | Optional | — |
request.paymentLink.startDate |
query | string (date-time) | Optional | — |
request.paymentLink.endDate |
query | string (date-time) | Optional | — |
request.paymentLink.recurringDescription |
query | string | Optional | — |
request.paymentLink.installmentTotal |
query | integer (int32) | Optional | — |
request.appKey |
query | string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
request.appType |
query | integer (int32) | Required | Application Type as provided by the Blackstone system. |
request.mid |
query | integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
request.cid |
query | integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
request.userName |
query | string | Required | User credential of the client on the host. |
request.password |
query | string | Required | Password of the client on the host. |
request.ipAddress |
query | string | Optional | The client's IP address. |
request.source |
query | 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 |
request.appInfo |
query | 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" |
request.isTest |
query | boolean | Optional | True if is a test sale |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Payment Links Response | PaymentLinksResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLinks": [
{
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
}
],
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}
Get Payment Link¶
/api/PaymentLinks/{id}
Parameters¶
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id |
path | string | Required | — |
request.paymentLink.id |
query | string | Optional | Payment Link UUID represented as a string. It is generated by AddPaymentLink and is required by EditPaymentLink and DisablePaymentLink. |
request.paymentLink.merchantId |
query | integer (int32) | Optional | Merchant identifier returned with the Payment Link. Request authorization and ownership use the top-level mid. |
request.paymentLink.amount |
query | string | Optional | Positive amount represented as an en-US currency string (for example, "10.00"). Omit or send an empty value to create an open-amount link. When present, AddPaymentLink creates a fixed-amount link. |
request.paymentLink.description |
query | string | Optional | — |
request.paymentLink.type |
query | string — Open, Fixed |
Optional | Payment Link type. AddPaymentLink derives this value from Amount: Open when Amount is empty, Fixed otherwise. An input Type value does not override that derivation. |
request.paymentLink.createdOn |
query | string (date-time) | Optional | — |
request.paymentLink.paidOn |
query | string (date-time) | Optional | — |
request.paymentLink.disabledOn |
query | string (date-time) | Optional | — |
request.paymentLink.status |
query | string — UnPaid, Paid |
Optional | — |
request.paymentLink.active |
query | boolean | Optional | — |
request.paymentLink.serviceReferenceNumber |
query | string | Optional | — |
request.paymentLink.invoiceNumber |
query | string | Optional | — |
request.paymentLink.forcedPaymentMethod |
query | string — Credit, Check, ATHMobile, GooglePay, ApplePay, Debit |
Optional | — |
request.paymentLink.link |
query | string | Optional | Generated checkout URL returned by the API. The response property is Link, not Url. |
request.paymentLink.allowRecurringPayment |
query | boolean | Optional | — |
request.paymentLink.allowedPaymentSchedule |
query | string — OnlySingle, OnlyRecurringOrInstallment, SingleAndRecurringOrInstallment, SingleAndRecurringOnly, SingleAndInstallmentOnly, OnlyRecurring, OnlyInstallment |
Optional | — |
request.paymentLink.paymentSchedule |
query | string — Single, Recurring, Installment |
Optional | — |
request.paymentLink.isOpenPaymentSchedule |
query | boolean | Optional | — |
request.paymentLink.frequencyId |
query | integer (int32) | Optional | — |
request.paymentLink.startDate |
query | string (date-time) | Optional | — |
request.paymentLink.endDate |
query | string (date-time) | Optional | — |
request.paymentLink.recurringDescription |
query | string | Optional | — |
request.paymentLink.installmentTotal |
query | integer (int32) | Optional | — |
request.appKey |
query | string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
request.appType |
query | integer (int32) | Required | Application Type as provided by the Blackstone system. |
request.mid |
query | integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
request.cid |
query | integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
request.userName |
query | string | Required | User credential of the client on the host. |
request.password |
query | string | Required | Password of the client on the host. |
request.ipAddress |
query | string | Optional | The client's IP address. |
request.source |
query | 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 |
request.appInfo |
query | 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" |
request.isTest |
query | boolean | Optional | True if is a test sale |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Get Payment Link Response | PaymentLinkResponse |
Example response
{
"Msg": [
"<msg>"
],
"PaymentLink": {
"Active": false,
"AllowRecurringPayment": false,
"AllowedPaymentSchedule": "OnlySingle",
"Amount": "<amount>",
"CreatedOn": "2026-01-31T12:00:00Z",
"Description": "<description>",
"DisabledOn": "2026-01-31T12:00:00Z",
"EndDate": "2026-01-31",
"ForcedPaymentMethod": "Credit",
"FrequencyId": 1,
"Id": "<id>",
"InstallmentTotal": 1,
"InvoiceNumber": "<invoice-number>",
"IsOpenPaymentSchedule": false,
"Link": "<link>",
"MerchantId": 1
},
"ResponseCode": 200,
"displayMessage": "<display-message>",
"verbiage": "<verbiage>"
}