Skip to content

Payment Links

Create, manage, and inspect hosted payment links.

8 endpoints All API groups

GET /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

POST /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

POST /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>"
}

PUT /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>"
}

PUT /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 /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 /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 /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>"
}