Transactions¶
Sales, authorizations, completions, refunds, voids, tokens, and wallet payments.
Get Supported Currencies¶
/api/Transactions/GetSupportedCurrencies
Request body¶
Schema: SupportedCurrenciesRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
CurrencyCode |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/GetSupportedCurrencies' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SupportedCurrenciesResponse |
Example response
Get Transaction¶
/api/Transactions/GetTransaction
Request body¶
Schema: GetTransactionRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
UserTransactionNumber |
string | Required | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/GetTransaction' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Recurring Sale¶
/api/Transactions/RecurringSale
Request body¶
Schema: SaleRecurringRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
UniqueId |
string | Optional | — |
Frecuency |
string — Daily, Weekly, Biweekl, Monthly, Quarterly, Biannually, Annually, Unscheduled |
Optional | — |
Type |
string — Registration, Subsequent |
Optional | — |
Token |
string | Optional | The Token which identifies the credit card information. |
Comments |
string | Optional | Transaction comments |
Amount |
number (double) | Required | Transaction amount |
ZipCode |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Street |
string | Optional | — |
CVN |
string | Optional | Credit card verification number (security code). Not required if credit card is swiped. |
CardNumber |
string | Optional | Credit card number. Not required if credit card isswiped. |
ExpDate |
string | Optional | Credit card expiration date (MMYY). Not required if credit card is swiped. |
NameOnCard |
string | Optional | Cardholder Name. Not required if credit card is swiped. |
Track2 |
string | Optional | Credit card track data. Not required if using the No Swipe method. |
EmvData |
string | Optional | — |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TransactionType |
integer (int32) | Required | Transaction Type | Name | Value | Description | |---|---|---| | CREDIT | 1 | Credit transaction | | CREDIT_WITH_TOKEN | 2 | Credit with token transaction | | Pre_Authorization | 3 | Credit preauthorization request | | Pre_Authorization_Completion | 4 | Credit preauthorization completion | | SaleDebit | 5 | Debit Card Sale transaction | | EBT | 6 | EBT Transaction | | GIFTCARD | 7 | Blackstone Gift Card transaction | |
SURI |
string | Optional | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SaveToken |
boolean | Optional | — |
CurrencyCode |
string | Optional | — |
SaveCustomer |
boolean | Optional | — |
CustomerId |
integer (int32) | Optional | — |
CustomerPhone |
string | Optional | — |
CustomerEmail |
string | Optional | — |
CustomerCountry |
string | Optional | — |
CustomerState |
string | Optional | — |
CustomerCity |
string | Optional | — |
CustomerAddress |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
DigWltProgType |
string | Optional | — |
DigWltToken |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
ForceDuplication |
boolean | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/RecurringSale' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"TransactionType": 1,
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Sale With Apple Pay¶
/api/Transactions/SaleWithApplePay
Request body¶
Schema: ApplePayRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Required | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
CurrencyCode |
string | Optional | — |
SURI |
string | Optional | — |
Token |
string | Required | — |
UserTransactionNumber |
string | Required | — |
CustomerId |
integer (int32) | Optional | — |
CustomerEmail |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/SaleWithApplePay' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"Token": "<token>",
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Validate Apple Pay Merchant¶
/api/Transactions/ValidateApplePayMerchant
Request body¶
Schema: ApplePayValidateMerchantRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
ValidationUrl |
string | Required | — |
Initiative |
string | Required | — |
InitiativeContext |
string | Required | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/ValidateApplePayMerchant' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"ValidationUrl": "<validation-url>",
"Initiative": "<initiative>",
"InitiativeContext": "<initiative-context>",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | object |
Sale With Google Pay¶
/api/Transactions/SaleWithGooglePay
Request body¶
Schema: GooglePayRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Required | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
CurrencyCode |
string | Optional | — |
SURI |
string | Optional | — |
Token |
string | Optional | — |
UserTransactionNumber |
string | Required | — |
CustomerId |
integer (int32) | Optional | — |
CustomerEmail |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/SaleWithGooglePay' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Sale¶
/api/Transactions/Sale
Process a credit card sale transaction where sales do not include tips.Refer to Preauthorization Request when sales include tips.
Request body¶
Schema: SaleRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Required | Transaction amount |
ZipCode |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Street |
string | Optional | — |
CVN |
string | Optional | Credit card verification number (security code). Not required if credit card is swiped. |
CardNumber |
string | Optional | Credit card number. Not required if credit card isswiped. |
ExpDate |
string | Optional | Credit card expiration date (MMYY). Not required if credit card is swiped. |
NameOnCard |
string | Optional | Cardholder Name. Not required if credit card is swiped. |
Track2 |
string | Optional | Credit card track data. Not required if using the No Swipe method. |
EmvData |
string | Optional | — |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TransactionType |
integer (int32) | Required | Transaction Type | Name | Value | Description | |---|---|---| | CREDIT | 1 | Credit transaction | | CREDIT_WITH_TOKEN | 2 | Credit with token transaction | | Pre_Authorization | 3 | Credit preauthorization request | | Pre_Authorization_Completion | 4 | Credit preauthorization completion | | SaleDebit | 5 | Debit Card Sale transaction | | EBT | 6 | EBT Transaction | | GIFTCARD | 7 | Blackstone Gift Card transaction | |
SURI |
string | Optional | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SaveToken |
boolean | Optional | — |
CurrencyCode |
string | Optional | — |
SaveCustomer |
boolean | Optional | — |
CustomerId |
integer (int32) | Optional | — |
CustomerPhone |
string | Optional | — |
CustomerEmail |
string | Optional | — |
CustomerCountry |
string | Optional | — |
CustomerState |
string | Optional | — |
CustomerCity |
string | Optional | — |
CustomerAddress |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
DigWltProgType |
string | Optional | — |
DigWltToken |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
ForceDuplication |
boolean | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/Sale' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"TransactionType": 1,
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Sale Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Force Retail Sale¶
/api/Transactions/ForceRetailSale
Request body¶
Schema: ForceRetailSaleRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
AuthNumber |
integer (int32) | Optional | — |
ApprovalCode |
string | Optional | — |
Amount |
number (double) | Required | Transaction amount |
ZipCode |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Street |
string | Optional | — |
CVN |
string | Optional | Credit card verification number (security code). Not required if credit card is swiped. |
CardNumber |
string | Optional | Credit card number. Not required if credit card isswiped. |
ExpDate |
string | Optional | Credit card expiration date (MMYY). Not required if credit card is swiped. |
NameOnCard |
string | Optional | Cardholder Name. Not required if credit card is swiped. |
Track2 |
string | Optional | Credit card track data. Not required if using the No Swipe method. |
EmvData |
string | Optional | — |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TransactionType |
integer (int32) | Required | Transaction Type | Name | Value | Description | |---|---|---| | CREDIT | 1 | Credit transaction | | CREDIT_WITH_TOKEN | 2 | Credit with token transaction | | Pre_Authorization | 3 | Credit preauthorization request | | Pre_Authorization_Completion | 4 | Credit preauthorization completion | | SaleDebit | 5 | Debit Card Sale transaction | | EBT | 6 | EBT Transaction | | GIFTCARD | 7 | Blackstone Gift Card transaction | |
SURI |
string | Optional | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SaveToken |
boolean | Optional | — |
CurrencyCode |
string | Optional | — |
SaveCustomer |
boolean | Optional | — |
CustomerId |
integer (int32) | Optional | — |
CustomerPhone |
string | Optional | — |
CustomerEmail |
string | Optional | — |
CustomerCountry |
string | Optional | — |
CustomerState |
string | Optional | — |
CustomerCity |
string | Optional | — |
CustomerAddress |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
DigWltProgType |
string | Optional | — |
DigWltToken |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
ForceDuplication |
boolean | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/ForceRetailSale' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"TransactionType": 1,
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Force Retail Sale Response | ForceRetailSaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"AcsUrl": "<acs-url>",
"Is3DSecureNeeded": false,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
],
"verbiage": "<verbiage>"
}
Verification Only¶
/api/Transactions/VerificationOnly
Request body¶
Schema: VerificationOnlyRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Account |
string | Optional | — |
ExpDate |
string | Optional | — |
Street |
string | Optional | — |
Zip |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Cv |
string | Optional | CV verification message |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/VerificationOnly' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Verification Response | VerificationOnlyResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"ResponseCode": 200,
"Msg": [
"<msg>"
],
"verbiage": "<verbiage>",
"displayMessage": "<display-message>"
}
Verify Bin¶
/api/Transactions/VerifyBin
Request body¶
Schema: BinDataRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Bin |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | BinDataResponse |
Example response
{
"Scheme": "<scheme>",
"Type": "<type>",
"Brand": "<brand>",
"Country": {
"Name": "<name>",
"Emoji": "<emoji>",
"Alpha2": "<alpha2>"
},
"Bank": {
"Name": "<name>",
"Url": "<url>",
"Phone": "+1-555-0100"
},
"ResponseCode": 200,
"Msg": [
"<msg>"
],
"verbiage": "<verbiage>",
"displayMessage": "<display-message>"
}
Debit Card Sale¶
/api/Transactions/SaleDebit
Process a debit card sale.
Request body¶
Schema: SaleDebitRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
KSN |
string | Optional | Pin pad data. |
PinBlock |
string | Optional | Pin pad block. |
CashBackAmount |
number (double) | Optional | Cash back amount. |
Amount |
number (double) | Required | Transaction amount |
ZipCode |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Street |
string | Optional | — |
CVN |
string | Optional | Credit card verification number (security code). Not required if credit card is swiped. |
CardNumber |
string | Optional | Credit card number. Not required if credit card isswiped. |
ExpDate |
string | Optional | Credit card expiration date (MMYY). Not required if credit card is swiped. |
NameOnCard |
string | Optional | Cardholder Name. Not required if credit card is swiped. |
Track2 |
string | Optional | Credit card track data. Not required if using the No Swipe method. |
EmvData |
string | Optional | — |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TransactionType |
integer (int32) | Required | Transaction Type | Name | Value | Description | |---|---|---| | CREDIT | 1 | Credit transaction | | CREDIT_WITH_TOKEN | 2 | Credit with token transaction | | Pre_Authorization | 3 | Credit preauthorization request | | Pre_Authorization_Completion | 4 | Credit preauthorization completion | | SaleDebit | 5 | Debit Card Sale transaction | | EBT | 6 | EBT Transaction | | GIFTCARD | 7 | Blackstone Gift Card transaction | |
SURI |
string | Optional | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SaveToken |
boolean | Optional | — |
CurrencyCode |
string | Optional | — |
SaveCustomer |
boolean | Optional | — |
CustomerId |
integer (int32) | Optional | — |
CustomerPhone |
string | Optional | — |
CustomerEmail |
string | Optional | — |
CustomerCountry |
string | Optional | — |
CustomerState |
string | Optional | — |
CustomerCity |
string | Optional | — |
CustomerAddress |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
DigWltProgType |
string | Optional | — |
DigWltToken |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
ForceDuplication |
boolean | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/SaleDebit' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"TransactionType": 1,
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Sale Debit Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Sale with Token¶
/api/Transactions/SaleWithToken
Process a credit card sale transaction using a preauthorized token.
Request body¶
Schema: SaleWithTokenRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Token |
string | Optional | The Token which identifies the credit card information. |
Comments |
string | Optional | Transaction comments |
Amount |
number (double) | Required | Transaction amount |
ZipCode |
string | Optional | Cardholder’s zip code. Not required if credit card is swiped. |
Street |
string | Optional | — |
CVN |
string | Optional | Credit card verification number (security code). Not required if credit card is swiped. |
CardNumber |
string | Optional | Credit card number. Not required if credit card isswiped. |
ExpDate |
string | Optional | Credit card expiration date (MMYY). Not required if credit card is swiped. |
NameOnCard |
string | Optional | Cardholder Name. Not required if credit card is swiped. |
Track2 |
string | Optional | Credit card track data. Not required if using the No Swipe method. |
EmvData |
string | Optional | — |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TransactionType |
integer (int32) | Required | Transaction Type | Name | Value | Description | |---|---|---| | CREDIT | 1 | Credit transaction | | CREDIT_WITH_TOKEN | 2 | Credit with token transaction | | Pre_Authorization | 3 | Credit preauthorization request | | Pre_Authorization_Completion | 4 | Credit preauthorization completion | | SaleDebit | 5 | Debit Card Sale transaction | | EBT | 6 | EBT Transaction | | GIFTCARD | 7 | Blackstone Gift Card transaction | |
SURI |
string | Optional | — |
SurchargeAmount |
number (double) | Optional | — |
CardDifferenceAmount |
number (double) | Optional | — |
TaxAmount |
number (double) | Optional | — |
TipAmount |
number (double) | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
SaveToken |
boolean | Optional | — |
CurrencyCode |
string | Optional | — |
SaveCustomer |
boolean | Optional | — |
CustomerId |
integer (int32) | Optional | — |
CustomerPhone |
string | Optional | — |
CustomerEmail |
string | Optional | — |
CustomerCountry |
string | Optional | — |
CustomerState |
string | Optional | — |
CustomerCity |
string | Optional | — |
CustomerAddress |
string | Optional | — |
OrderReference |
string | Optional | — |
PaymentLinkId |
string | Optional | — |
InvoiceNumber |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
DigWltProgType |
string | Optional | — |
DigWltToken |
string | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
PosEntryMode |
string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual |
Optional | — |
ForceDuplication |
boolean | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/SaleWithToken' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"TransactionType": 1,
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Sale With Token Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Settlement¶
/api/Transactions/DoSettlement
Request a settlement of all outstanding transactions for a merchant.
Request body¶
Schema: SettlementRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoSettlement' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Settlement Response | SettlementResponse |
Example response
Close All Settled Transaction¶
/api/Transactions/DoCloseAllSettledTransaction
Request body¶
Schema: SettlementRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoCloseAllSettledTransaction' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Settlement Response | SettlementResponse |
Example response
Refund¶
/api/Transactions/DoRefund
Process a refund. The request will fail if the transaction was previously fully refunded or voided.
Request body¶
Schema: RefundRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Required | Amount to be refunded. The amount to be refunded can be less than the original transaction amount.Multiple refunds can be applied to the same transaction as long as the total amount of all refunds does not exceed the original transaction amount. |
ExpDate |
string | Optional | Card expiration date (MMYY). |
Account |
string | Optional | Card number. Optional if using swipe method. Otherwise required. |
TrackData |
string | Optional | Card track data. Optional if using the No Swipe method. |
UserTransactionNumber |
string | Required | The transaction identifier used for referencepurposes only; must be unique. |
ServiceTransactionNumber |
string | Required | The transaction identifier provided by the Blackstone system at the time of the original transaction. |
SURI |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoRefund' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"ServiceTransactionNumber": "<service-transaction-number>",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Refund Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Full Refund¶
/api/Transactions/DoFullRefund
Process a full refund. The request will refund the amount that can be refunded, taking into account any prior partial refunds, not to exceed the original transaction amount.
This request will refund all monies that can be refunded (original transaction amount minus any partial refunds previously processed), not to exceed the original transaction amount.
Request body¶
Schema: RefundRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Amount |
number (double) | Required | Amount to be refunded. The amount to be refunded can be less than the original transaction amount.Multiple refunds can be applied to the same transaction as long as the total amount of all refunds does not exceed the original transaction amount. |
ExpDate |
string | Optional | Card expiration date (MMYY). |
Account |
string | Optional | Card number. Optional if using swipe method. Otherwise required. |
TrackData |
string | Optional | Card track data. Optional if using the No Swipe method. |
UserTransactionNumber |
string | Required | The transaction identifier used for referencepurposes only; must be unique. |
ServiceTransactionNumber |
string | Required | The transaction identifier provided by the Blackstone system at the time of the original transaction. |
SURI |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoFullRefund' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"ServiceTransactionNumber": "<service-transaction-number>",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Sale | DoFullRefundResponse |
Example response
{
"RefundedAmount": 10.0,
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200
}
Void¶
/api/Transactions/DoVoid
Void a transaction. The request will fail if the transaction was previously voided or refunded.
Request body¶
Schema: VoidRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
UserTransactionNumber |
string | Required | The transaction identifier provided by the Blackstone system at the time of the transaction. |
ServiceTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoVoid' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"UserTransactionNumber": "unique-transaction-id",
"ServiceTransactionNumber": "<service-transaction-number>",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Void Response | Response |
Example response
Reversal¶
/api/Transactions/DoReversal
Reverse a transaction where the user did not receive a response from the system.
Request body¶
Schema: ReversalRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
UserTransactionNumber |
string | Required | The user transaction number that was sent by the client at the time of the transaction. |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/DoReversal' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Reversal Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Process Preauthorization¶
/api/Transactions/ProcessPreauth
Process a preauthorization for a sale transaction with tips.Requires a Close Preauthorization request to close the receipt even when the tip amount is zero.
A Preauthorization Request is required for sale transactions that include tips, whether the tip is added during or after checkout, as in restaurants or hair salons.The Preauthorization Request is processed with the sale amount (not including the tip amount). A Close Preauthorization Request must be processed to add the tip amount and close the receipt.This will complete the transaction.
IMPORTANT: Preauthorization requests must be closed within 30 days, even if the tip amount is zero. If a Preauthorization Request is not closed, the preauthorization amount is returned to the cardholder.
Request body¶
Schema: ProcessPreauthRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Account |
string | Optional | Credit card number |
Amount |
number (double) | Required | Preauthorization amount |
expDate |
string | Optional | Credit card expiration date (MMYY) |
NameOnCard |
string | Optional | Cardholder name as it appears on the credit card |
Street |
string | Optional | Cardholder street address |
zipCode |
string | Optional | Cardholder zip code |
cv |
string | Optional | Card Verification |
comments |
string | Optional | Comments |
IsClosable |
boolean | Required | Must be ‘True’ to be able to close the preauthorization request. |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TrackData |
string | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
CurrencyCode |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/ProcessPreauth' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"IsClosable": false,
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Rpocess Rpeauthorization Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Process Preauth With Token¶
/api/Transactions/ProcessPreauthWithToken
Request body¶
Schema: ProcessPreauthWithTokenRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Token |
string | Optional | — |
Account |
string | Optional | Credit card number |
Amount |
number (double) | Required | Preauthorization amount |
expDate |
string | Optional | Credit card expiration date (MMYY) |
NameOnCard |
string | Optional | Cardholder name as it appears on the credit card |
Street |
string | Optional | Cardholder street address |
zipCode |
string | Optional | Cardholder zip code |
cv |
string | Optional | Card Verification |
comments |
string | Optional | Comments |
IsClosable |
boolean | Required | Must be ‘True’ to be able to close the preauthorization request. |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
TrackData |
string | Optional | — |
SecureData |
string | Optional | — |
SecureTransactionId |
string | Optional | — |
CurrencyCode |
string | Optional | — |
PurchaseCardLevel2 |
PurchaseCardLevel2Data | Optional | — |
PosCode |
string — ECommerce, Moto, RecurringBilling, Retail |
Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/ProcessPreauthWithToken' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"Amount": 10.0,
"IsClosable": false,
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Close Preauthorization¶
/api/Transactions/ClosePreauth
Close a preauthorization request.
The Close Preauthorization Request is required to add a tip amount and close the Preauthorization Request.
Request body¶
Schema: ClosePreauthRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
ServiceReferenceNumber |
string | Required | The transaction identifier provided by the Blackstone system at the time of the transaction. |
Amount |
number (double) | Required | Transaction Amount |
AdditionalTip |
number (double) | Optional | Additional Tip Amount |
UserTransactionNumber |
string | Required | The transaction identifier used for reference purposes only; must be unique. |
CurrencyCode |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
curl --request POST \
--url 'https://services.bmspay.com/api/Transactions/ClosePreauth' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"ServiceReferenceNumber": "<service-reference-number>",
"Amount": 10.0,
"UserTransactionNumber": "unique-transaction-id",
"AppKey": "your-app-key",
"AppType": 1,
"mid": 1,
"cid": 1,
"UserName": "your-username",
"Password": "your-password",
"IsTest": true
}
JSON
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | The Preauthorization Response | SaleResponse |
Example response
{
"avs": "<avs>",
"ServiceReferenceNumber": "<service-reference-number>",
"msoft_code": "<msoft-code>",
"phard_code": "<phard-code>",
"cv": "<cv>",
"AuthorizationNumber": "<authorization-number>",
"PaymentPlanInfo": {
"PlanId": 1,
"SwipeDiscount": 1.0,
"SwipeTransactionFee": 1.0,
"NonSwipeDiscount": 1.0,
"NonSwipeTransactionFee": 1.0,
"MonthlyFee": 1.0,
"Description": "<description>",
"PlanName": "<plan-name>",
"DisplayName": false
},
"CardType": "<card-type>",
"LastFour": "<last-four>",
"Balance": "<balance>",
"Token": "<token>",
"EmvData": "<emv-data>",
"CustomerId": 1,
"AppliedSurchargeAmount": 10.0,
"ResponseCode": 200,
"Msg": [
"<msg>"
]
}
Get Card PAN¶
/api/Transactions/GetCardPAN
Request body¶
Schema: GetCardPANRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
Token |
string | Optional | — |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
mid |
integer (int32) | Required | Merchant ID – A number used to identify the merchant. |
cid |
integer (int32) | Required | Cashier ID – A number used to identify the merchant’s subclient. |
UserName |
string | Required | User credential of the client on the host. |
Password |
string | Required | Password of the client on the host. |
IpAddress |
string | Optional | — |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | — |
AppInfo |
string | Optional | — |
IsTest |
boolean | Optional | — |
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | GetCardPANResponse |
Example response
Void Refund Test¶
/api/Transactions/VoidRefundTest
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | Response |
Example response
Transactions¶
/api/Transactions
Responses¶
| Status | Description | Schema |
|---|---|---|
| 200 | OK | Response |