Gift Card¶
Gift card sales, balances, and adjustments.
Activate Gift Card¶
POST
/api/GiftCard/Activate
Activate a gift card.
Request body¶
Schema: SaleRequest
| 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. |
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 |
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. |
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/GiftCard/Activate' \
--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 Activate 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>"
}
Deactivate Gift Card¶
POST
/api/GiftCard/Deactivate
Deactivate a gift card.
Request body¶
Schema: SaleRequest
| 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. |
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 |
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. |
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/GiftCard/Deactivate' \
--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 Deactivate 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>"
}
Get Gift Card Balance¶
POST
/api/GiftCard/GetBalance
Get the balance on a gift card.
Request body¶
Schema: SaleRequest
| 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. |
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 |
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. |
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/GiftCard/GetBalance' \
--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 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>"
}
Gift Card Refund¶
POST
/api/GiftCard/Refund
Process a gift card refund. The request will fail if the transaction was previously fully refunded.
Request body¶
Schema: RefundRequest
| 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 |
Password |
string | Required | Password of the client on the host. |
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/GiftCard/Refund' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"ServiceTransactionNumber": "<service-transaction-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 Refund 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>"
}
Gift Card Reversal¶
POST
/api/GiftCard/Reversal
Reverse a gift card transaction where the user did not receive a response from the system.
Request body¶
Schema: ReversalRequest
| Field | Type | Requirement | Description |
|---|---|---|---|
AppInfo |
string | Optional | Application information including language, version, platform, device model and OS. Format: "Lang: XX. Version: X.X.X. Platform: XXXX. DeviceModel: XXXX. OS: XXXX" Example: "Lang: Es. Version: 3.11.8. Platform: android. DeviceModel: dedede. OS: Android OS 13 / API-33" |
AppKey |
string | Required | Application Key which uniquely identifies your application as provided by the Blackstone system. |
AppType |
integer (int32) | Required | Application Type as provided by the Blackstone system. |
IpAddress |
string | Optional | The client's IP address. |
IsTest |
boolean | Optional | True if is a test sale |
Password |
string | Required | Password of the client on the host. |
Source |
string — ApiClient, BpaydPortal, BPaydApp, BatchCloser, RecurringBillingTask, BPaydPlugin, PaymentFrame, VirtualTerminal, PaymentLink, Recurring, Invoice, QuickPayment, TakePayment, QuickPaymentMobileApp, WordPress, Zoho, Xero, Odoo, GoHighLevel, TakePaymentMobileApp |
Optional | The source of the request |
UserName |
string | Required | User credential of the client on the host. |
UserTransactionNumber |
string | Required | The user transaction number that was sent by the client at the time of the transaction. |
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/GiftCard/Reversal' \
--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
{
"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>"
}
Gift Card Sale¶
POST
/api/GiftCard/Sale
Process a sale using a gift card.
Request body¶
Schema: SaleRequest
| 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. |
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 |
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. |
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/GiftCard/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
{
"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>"
}