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