Skip to content

EBT Transactions

EBT transaction processing.

6 endpoints All API groups

EBT Cash Balance

POST /api/EbtTransaction/EbtCashBenefitsBalance

Check the EBT Cash Benefits balance.

Request body

Schema: SaleDebitRequest

Field Type Requirement Description
Amount number (double) Required Transaction amount as a JSON number. Quoted numeric strings are not part of the public contract.
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.
CVN string Optional Credit card verification number (security code). Not required if credit card is swiped.
CardDifferenceAmount number (double) Optional The amount dedicated to the card difference (this is an optional charge passed on to the user)
CardNumber string Optional Credit card number. Not required if credit card isswiped.
CashBackAmount number (double) Optional Cash back amount.
CurrencyCode string Optional The Code of the currency to process the transaction. By default, USD dollar is used.
CustomerAddress string Optional Optional address for the customer
CustomerCity string Optional Optional city for the customer
CustomerCountry string Optional Optional country for the customer
CustomerEmail string Optional The email for the customer in the e-commerce transaction (optional)
CustomerId integer (int32) Optional The merchant customer ID as a JSON integer. Quoted strings are not part of the public contract.
CustomerPhone string Optional The phone number for the customer in the e-commerce transaction (optional)
CustomerState string Optional Optional state for the customer
DigWltProgType string Optional
DigWltToken string Optional
EmvData string Optional Contactless data.
ExpDate string Optional Credit card expiration date. SaleWithToken accepts MMYY or MM/YY; other sale flows require MMYY.
Not required if credit card is swiped. Rapid Connect token sales use the valid stored token
expiration when available and otherwise require this field.
ForceDuplication boolean Optional Indicates whether the payment should be executed even if a recent payment exists with the same signature.
InvoiceNumber string Optional Optional invoice number associated with the transaction.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
NameOnCard string Optional Cardholder Name. Not required if credit card is swiped.
OrderReference string Optional Optional reference for the order in case it applies
Password string Required Password of the client on the host.
PaymentLinkId string Optional Optional Payment Link identifier when the transaction is paid from a payment link.
PinBlock string Optional Pin pad block.
PosCode string — ECommerce, Moto, RecurringBilling, Retail Optional The condition in which the payment was captured
PosEntryMode string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual Optional The entry mode in which the payment was captured
PurchaseCardLevel2 PurchaseCardLevel2Data Optional Optional Purchase Card Level 2 data sent to Rapid Connect for commercial card processing.
SURI string Optional SURI number
SaveCustomer boolean Optional This optional parameter indicates if the merchant wants to save the customer
SaveToken boolean Optional Indicates to return a token for the card in case the transaction was successful
SecureData string Optional The 3D secure data present once the 3D secure flow has been triggered for the transaction
SecureTransactionId string Optional ID of the secure transaction
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
Street string Optional Cardholder�s billing street. Not required if credit card is swiped.
SurchargeAmount number (double) Optional Optional surcharge amount as a JSON number. Direct API callers calculate and supply this value;
the API does not derive it from the merchant's configured surcharge percentage.
TaxAmount number (double) Optional The amount dedicated to the tax (this is an optional charge configurable by the merchant)
TipAmount number (double) Optional The amount dedicated to the tip (this is an optional charge for the client with a default value configurable by the merchant)
Track2 string Optional Credit card track data. Not required if using the No Swipe method.
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 |
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for reference purposes only; must be unique.
ZipCode string Optional Cardholder�s zip code. Not required if credit card is swiped.
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/EbtTransaction/EbtCashBenefitsBalance' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Cash Balance Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}

EBT Cash Benefits Sale

POST /api/EbtTransaction/EbtCashBenefitsSale

Process an EBT Cash Benefits sale.

Request body

Schema: SaleDebitRequest

Field Type Requirement Description
Amount number (double) Required Transaction amount as a JSON number. Quoted numeric strings are not part of the public contract.
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.
CVN string Optional Credit card verification number (security code). Not required if credit card is swiped.
CardDifferenceAmount number (double) Optional The amount dedicated to the card difference (this is an optional charge passed on to the user)
CardNumber string Optional Credit card number. Not required if credit card isswiped.
CashBackAmount number (double) Optional Cash back amount.
CurrencyCode string Optional The Code of the currency to process the transaction. By default, USD dollar is used.
CustomerAddress string Optional Optional address for the customer
CustomerCity string Optional Optional city for the customer
CustomerCountry string Optional Optional country for the customer
CustomerEmail string Optional The email for the customer in the e-commerce transaction (optional)
CustomerId integer (int32) Optional The merchant customer ID as a JSON integer. Quoted strings are not part of the public contract.
CustomerPhone string Optional The phone number for the customer in the e-commerce transaction (optional)
CustomerState string Optional Optional state for the customer
DigWltProgType string Optional
DigWltToken string Optional
EmvData string Optional Contactless data.
ExpDate string Optional Credit card expiration date. SaleWithToken accepts MMYY or MM/YY; other sale flows require MMYY.
Not required if credit card is swiped. Rapid Connect token sales use the valid stored token
expiration when available and otherwise require this field.
ForceDuplication boolean Optional Indicates whether the payment should be executed even if a recent payment exists with the same signature.
InvoiceNumber string Optional Optional invoice number associated with the transaction.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
NameOnCard string Optional Cardholder Name. Not required if credit card is swiped.
OrderReference string Optional Optional reference for the order in case it applies
Password string Required Password of the client on the host.
PaymentLinkId string Optional Optional Payment Link identifier when the transaction is paid from a payment link.
PinBlock string Optional Pin pad block.
PosCode string — ECommerce, Moto, RecurringBilling, Retail Optional The condition in which the payment was captured
PosEntryMode string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual Optional The entry mode in which the payment was captured
PurchaseCardLevel2 PurchaseCardLevel2Data Optional Optional Purchase Card Level 2 data sent to Rapid Connect for commercial card processing.
SURI string Optional SURI number
SaveCustomer boolean Optional This optional parameter indicates if the merchant wants to save the customer
SaveToken boolean Optional Indicates to return a token for the card in case the transaction was successful
SecureData string Optional The 3D secure data present once the 3D secure flow has been triggered for the transaction
SecureTransactionId string Optional ID of the secure transaction
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
Street string Optional Cardholder�s billing street. Not required if credit card is swiped.
SurchargeAmount number (double) Optional Optional surcharge amount as a JSON number. Direct API callers calculate and supply this value;
the API does not derive it from the merchant's configured surcharge percentage.
TaxAmount number (double) Optional The amount dedicated to the tax (this is an optional charge configurable by the merchant)
TipAmount number (double) Optional The amount dedicated to the tip (this is an optional charge for the client with a default value configurable by the merchant)
Track2 string Optional Credit card track data. Not required if using the No Swipe method.
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 |
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for reference purposes only; must be unique.
ZipCode string Optional Cardholder�s zip code. Not required if credit card is swiped.
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/EbtTransaction/EbtCashBenefitsSale' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Cash Benefits Sale Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}

EBT Cash Benefits Withdrawal

POST /api/EbtTransaction/EbtCashBenefitsWithdrawal

Process an EBT Cash Benefits withdrawal.

Request body

Schema: SaleDebitRequest

Field Type Requirement Description
Amount number (double) Required Transaction amount as a JSON number. Quoted numeric strings are not part of the public contract.
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.
CVN string Optional Credit card verification number (security code). Not required if credit card is swiped.
CardDifferenceAmount number (double) Optional The amount dedicated to the card difference (this is an optional charge passed on to the user)
CardNumber string Optional Credit card number. Not required if credit card isswiped.
CashBackAmount number (double) Optional Cash back amount.
CurrencyCode string Optional The Code of the currency to process the transaction. By default, USD dollar is used.
CustomerAddress string Optional Optional address for the customer
CustomerCity string Optional Optional city for the customer
CustomerCountry string Optional Optional country for the customer
CustomerEmail string Optional The email for the customer in the e-commerce transaction (optional)
CustomerId integer (int32) Optional The merchant customer ID as a JSON integer. Quoted strings are not part of the public contract.
CustomerPhone string Optional The phone number for the customer in the e-commerce transaction (optional)
CustomerState string Optional Optional state for the customer
DigWltProgType string Optional
DigWltToken string Optional
EmvData string Optional Contactless data.
ExpDate string Optional Credit card expiration date. SaleWithToken accepts MMYY or MM/YY; other sale flows require MMYY.
Not required if credit card is swiped. Rapid Connect token sales use the valid stored token
expiration when available and otherwise require this field.
ForceDuplication boolean Optional Indicates whether the payment should be executed even if a recent payment exists with the same signature.
InvoiceNumber string Optional Optional invoice number associated with the transaction.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
NameOnCard string Optional Cardholder Name. Not required if credit card is swiped.
OrderReference string Optional Optional reference for the order in case it applies
Password string Required Password of the client on the host.
PaymentLinkId string Optional Optional Payment Link identifier when the transaction is paid from a payment link.
PinBlock string Optional Pin pad block.
PosCode string — ECommerce, Moto, RecurringBilling, Retail Optional The condition in which the payment was captured
PosEntryMode string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual Optional The entry mode in which the payment was captured
PurchaseCardLevel2 PurchaseCardLevel2Data Optional Optional Purchase Card Level 2 data sent to Rapid Connect for commercial card processing.
SURI string Optional SURI number
SaveCustomer boolean Optional This optional parameter indicates if the merchant wants to save the customer
SaveToken boolean Optional Indicates to return a token for the card in case the transaction was successful
SecureData string Optional The 3D secure data present once the 3D secure flow has been triggered for the transaction
SecureTransactionId string Optional ID of the secure transaction
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
Street string Optional Cardholder�s billing street. Not required if credit card is swiped.
SurchargeAmount number (double) Optional Optional surcharge amount as a JSON number. Direct API callers calculate and supply this value;
the API does not derive it from the merchant's configured surcharge percentage.
TaxAmount number (double) Optional The amount dedicated to the tax (this is an optional charge configurable by the merchant)
TipAmount number (double) Optional The amount dedicated to the tip (this is an optional charge for the client with a default value configurable by the merchant)
Track2 string Optional Credit card track data. Not required if using the No Swipe method.
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 |
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for reference purposes only; must be unique.
ZipCode string Optional Cardholder�s zip code. Not required if credit card is swiped.
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/EbtTransaction/EbtCashBenefitsWithdrawal' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Cash Benefits Withdrawal Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}

EBT Food Stamps Balance

POST /api/EbtTransaction/EbtFoodStampsBalance

Check the EBT Food Stamps balance.

Request body

Schema: SaleDebitRequest

Field Type Requirement Description
Amount number (double) Required Transaction amount as a JSON number. Quoted numeric strings are not part of the public contract.
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.
CVN string Optional Credit card verification number (security code). Not required if credit card is swiped.
CardDifferenceAmount number (double) Optional The amount dedicated to the card difference (this is an optional charge passed on to the user)
CardNumber string Optional Credit card number. Not required if credit card isswiped.
CashBackAmount number (double) Optional Cash back amount.
CurrencyCode string Optional The Code of the currency to process the transaction. By default, USD dollar is used.
CustomerAddress string Optional Optional address for the customer
CustomerCity string Optional Optional city for the customer
CustomerCountry string Optional Optional country for the customer
CustomerEmail string Optional The email for the customer in the e-commerce transaction (optional)
CustomerId integer (int32) Optional The merchant customer ID as a JSON integer. Quoted strings are not part of the public contract.
CustomerPhone string Optional The phone number for the customer in the e-commerce transaction (optional)
CustomerState string Optional Optional state for the customer
DigWltProgType string Optional
DigWltToken string Optional
EmvData string Optional Contactless data.
ExpDate string Optional Credit card expiration date. SaleWithToken accepts MMYY or MM/YY; other sale flows require MMYY.
Not required if credit card is swiped. Rapid Connect token sales use the valid stored token
expiration when available and otherwise require this field.
ForceDuplication boolean Optional Indicates whether the payment should be executed even if a recent payment exists with the same signature.
InvoiceNumber string Optional Optional invoice number associated with the transaction.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
NameOnCard string Optional Cardholder Name. Not required if credit card is swiped.
OrderReference string Optional Optional reference for the order in case it applies
Password string Required Password of the client on the host.
PaymentLinkId string Optional Optional Payment Link identifier when the transaction is paid from a payment link.
PinBlock string Optional Pin pad block.
PosCode string — ECommerce, Moto, RecurringBilling, Retail Optional The condition in which the payment was captured
PosEntryMode string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual Optional The entry mode in which the payment was captured
PurchaseCardLevel2 PurchaseCardLevel2Data Optional Optional Purchase Card Level 2 data sent to Rapid Connect for commercial card processing.
SURI string Optional SURI number
SaveCustomer boolean Optional This optional parameter indicates if the merchant wants to save the customer
SaveToken boolean Optional Indicates to return a token for the card in case the transaction was successful
SecureData string Optional The 3D secure data present once the 3D secure flow has been triggered for the transaction
SecureTransactionId string Optional ID of the secure transaction
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
Street string Optional Cardholder�s billing street. Not required if credit card is swiped.
SurchargeAmount number (double) Optional Optional surcharge amount as a JSON number. Direct API callers calculate and supply this value;
the API does not derive it from the merchant's configured surcharge percentage.
TaxAmount number (double) Optional The amount dedicated to the tax (this is an optional charge configurable by the merchant)
TipAmount number (double) Optional The amount dedicated to the tip (this is an optional charge for the client with a default value configurable by the merchant)
Track2 string Optional Credit card track data. Not required if using the No Swipe method.
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 |
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for reference purposes only; must be unique.
ZipCode string Optional Cardholder�s zip code. Not required if credit card is swiped.
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/EbtTransaction/EbtFoodStampsBalance' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Food Stamps Balance Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}

EBT Food Stamps Return

POST /api/EbtTransaction/EbtFoodStampsReturn

Process a return on an EBT Food Stamps sale.

Request body

Schema: EtbFoodStampRefundRequest

Field Type Requirement Description
Account string Optional Card number. Optional if using swipe method. Otherwise required.
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. The API refunds this exact amount and does not automatically prorate a surcharge into a
separate refund component.
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.
ExpDate string Optional Card expiration date (MMYY).
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
Password string Required Password of the client on the host.
PinBlock string Optional Pin pad block.
SURI string Optional SURI number
ServiceTransactionNumber string Required The transaction identifier provided by the Blackstone system at the time of the original transaction.
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
TrackData string Optional Card track data. Optional if using the No Swipe method.
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for referencepurposes only; must be unique.
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/EbtTransaction/EbtFoodStampsReturn' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Food Stamps Return Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}

EBT Food Stamps Sale

POST /api/EbtTransaction/EbtFoodStampsSale

Process an EBT Food Stamps sale.

Request body

Schema: SaleDebitRequest

Field Type Requirement Description
Amount number (double) Required Transaction amount as a JSON number. Quoted numeric strings are not part of the public contract.
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.
CVN string Optional Credit card verification number (security code). Not required if credit card is swiped.
CardDifferenceAmount number (double) Optional The amount dedicated to the card difference (this is an optional charge passed on to the user)
CardNumber string Optional Credit card number. Not required if credit card isswiped.
CashBackAmount number (double) Optional Cash back amount.
CurrencyCode string Optional The Code of the currency to process the transaction. By default, USD dollar is used.
CustomerAddress string Optional Optional address for the customer
CustomerCity string Optional Optional city for the customer
CustomerCountry string Optional Optional country for the customer
CustomerEmail string Optional The email for the customer in the e-commerce transaction (optional)
CustomerId integer (int32) Optional The merchant customer ID as a JSON integer. Quoted strings are not part of the public contract.
CustomerPhone string Optional The phone number for the customer in the e-commerce transaction (optional)
CustomerState string Optional Optional state for the customer
DigWltProgType string Optional
DigWltToken string Optional
EmvData string Optional Contactless data.
ExpDate string Optional Credit card expiration date. SaleWithToken accepts MMYY or MM/YY; other sale flows require MMYY.
Not required if credit card is swiped. Rapid Connect token sales use the valid stored token
expiration when available and otherwise require this field.
ForceDuplication boolean Optional Indicates whether the payment should be executed even if a recent payment exists with the same signature.
InvoiceNumber string Optional Optional invoice number associated with the transaction.
IpAddress string Optional The client's IP address.
IsTest boolean Optional True if is a test sale
KSN string Optional Pin pad data.
NameOnCard string Optional Cardholder Name. Not required if credit card is swiped.
OrderReference string Optional Optional reference for the order in case it applies
Password string Required Password of the client on the host.
PaymentLinkId string Optional Optional Payment Link identifier when the transaction is paid from a payment link.
PinBlock string Optional Pin pad block.
PosCode string — ECommerce, Moto, RecurringBilling, Retail Optional The condition in which the payment was captured
PosEntryMode string — KeyEntered, AmexContactless, CredentialOnFile, Contactless, Swiped, AmexDigitalWallet, Chip, ChipFallbackSwipe, ChipFallbackManual Optional The entry mode in which the payment was captured
PurchaseCardLevel2 PurchaseCardLevel2Data Optional Optional Purchase Card Level 2 data sent to Rapid Connect for commercial card processing.
SURI string Optional SURI number
SaveCustomer boolean Optional This optional parameter indicates if the merchant wants to save the customer
SaveToken boolean Optional Indicates to return a token for the card in case the transaction was successful
SecureData string Optional The 3D secure data present once the 3D secure flow has been triggered for the transaction
SecureTransactionId string Optional ID of the secure transaction
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
Street string Optional Cardholder�s billing street. Not required if credit card is swiped.
SurchargeAmount number (double) Optional Optional surcharge amount as a JSON number. Direct API callers calculate and supply this value;
the API does not derive it from the merchant's configured surcharge percentage.
TaxAmount number (double) Optional The amount dedicated to the tax (this is an optional charge configurable by the merchant)
TipAmount number (double) Optional The amount dedicated to the tip (this is an optional charge for the client with a default value configurable by the merchant)
Track2 string Optional Credit card track data. Not required if using the No Swipe method.
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 |
UserName string Required User credential of the client on the host.
UserTransactionNumber string Required The transaction identifier used for reference purposes only; must be unique.
ZipCode string Optional Cardholder�s zip code. Not required if credit card is swiped.
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/EbtTransaction/EbtFoodStampsSale' \
  --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
{
  "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
}

Responses

Status Description Schema
200 The EBT Food Stamps Sale Response SaleResponse
Example response
{
  "AppliedSurchargeAmount": 10.0,
  "AuthorizationNumber": "<authorization-number>",
  "Balance": "<balance>",
  "CardType": "<card-type>",
  "CustomerId": 1,
  "EmvData": "<emv-data>",
  "LastFour": "<last-four>",
  "Msg": [
    "<msg>"
  ],
  "PaymentPlanInfo": {
    "Description": "<description>",
    "DisplayName": false,
    "MonthlyFee": 1.0,
    "NonSwipeDiscount": 1.0,
    "NonSwipeTransactionFee": 1.0,
    "PlanId": 1,
    "PlanName": "<plan-name>",
    "SwipeDiscount": 1.0,
    "SwipeTransactionFee": 1.0
  },
  "ResponseCode": 200,
  "ServiceReferenceNumber": "<service-reference-number>",
  "Token": "<token>",
  "avs": "<avs>",
  "cv": "<cv>",
  "displayMessage": "<display-message>",
  "msoft_code": "<msoft-code>"
}