Get Started
Sandbox
Use Sandbox to try API.
You can download Postman collection of API requests to test some basic card management functions of SmartVista suite.
Download Postman collection
Start using the Sandbox
Click the log in link to create an account on the Sandbox platform:
/cabinet/You will get access to all of the API's and Merchant Portal.
Common characteristics
All Methods are HTTP POST
Content-Type: application/json
for both Requests and Responses
Authentication
Basic access authentication is a method for an HTTP user to provide a user name and password when making a request.
In basic HTTP authentication, a request contains a header field in the form of Authorization: Basic <credentials>
, where credentials is the Base64 encoding of ID and password joined by a single colon :
.
Customers
getAtmStatusExt
Get ATMs statuses. Allows to receive a status of some ATM (by pid or terminal identifier) or statuses of all institution ATMs (by institution identifier) or statuses of all registered ATMs.
Request parameters
Required |
Name |
Type |
Description |
Optional |
terminalId |
String |
Terminal identifier. |
Optional |
pid |
Integer [1..64] |
Internal SVFE terminal identifier (pid). |
Optional |
institutionId |
String |
Internal institution identifier. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountBalances \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"terminalId":"2111TEST",
"institutionId":"2111"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
atmStatusList |
Object |
Terminal list. |
Mandatory |
atmStatusList.terminalId
|
string |
Terminal id. |
Mandatory |
atmStatusList.linkStatus
|
string |
Connection status (1 - connected, 2- no connection). |
Mandatory |
atmStatusList.openFlag
|
string |
ATM status flag (0 - closed, 1 - opened). |
Optional |
atmStatusList.lastTransactionDate
|
DateTime |
Last transaction date/time. |
Optional |
atmStatusList.lastWithdrawalDate
|
DateTime |
Last cash withdrawal date/time. |
Optional |
atmStatusList.location
|
string |
ATM address. |
Mandatory |
atmStatusList.hopperStatusList
|
Array of objects. |
Cassette list. Each cassete is a hopperStatus object. See nested parameters. |
Mandatory |
atmStatusList.safeStatus
|
string |
Safe status (0 - closed, 1 - opened). |
Mandatory |
atmStatusList.supervisorMode
|
string |
Supervisor mode flag (0 - normal mode, 1 - supervisor mode). |
Mandatory |
atmStatusList.loadConfigurationStatus
|
string |
Configuration load mode flag (0 - normal mode, 1 - Configuration load mode). |
Optional |
atmStatusList.receiptPrinterStateInfo
|
object |
Receipt printer health details. See nested parameters. |
Optional |
atmStatusList.journalPrinterStateInfo
|
object |
Journal printer health details. See nested parameters. |
Optional |
atmStatusList.encryptorStateInfo
|
object |
Encryptor health details. See nested parameters. |
Optional |
atmStatusList.cardReaderStateInfo
|
object |
Card reader health details. See nested parameters. |
Optional |
atmStatusList.contactlessReaderStateInfo
|
object |
Contactless reader health details. See nested parameters. |
Optional |
atmStatusList.drawerStateInfo
|
object |
Bunch presenter health details. See nested parameters. |
Mandatory |
atmStatusList.bnaStateInfo
|
object |
BNA health details. See nested parameters. |
Optional |
atmStatusList.iptService
|
string |
IPT software version. |
Mandatory |
atmStatusList.ejStateInfo
|
object |
Electronic journal health details. See nested parameters. |
Optional |
atmStatusList.lastDepositDate
|
String (date-time) |
Last deposit operation date/time. |
Cassette parameters
The hopperStatus
block contains the following parameters.
Required |
Name |
Type |
Description |
Mandatory |
position |
Integer [1..64] |
Cassette position. |
Mandatory |
currency |
Integer [1..64] |
Currency code. |
Mandatory |
status |
string |
Cassette status (0 - disabled, 1 - enabled). |
Mandatory |
billsValue |
Integer [1..64] |
Bill value. |
Mandatory |
billsLoaded |
Integer [1..64] |
Number of loaded bills. |
Mandatory |
billsOut |
Integer [1..64] |
Number of withdrawn bills. |
Mandatory |
billsRejected |
Integer [1..64] |
Number of diverted and retracted bills. |
Mandatory |
billsEnd |
Integer [1..64] |
Number of remained bills. |
Device state information
This block contains the following parameters:
Required |
Name |
Type |
Description |
Mandatory |
status |
String |
Status (0 - no device, 1 - normal, 2 - warnings, 3 - errors). |
Optional |
errorDescription |
String |
Error description. |
Optional |
errorDate |
String (date-time) |
Error date. |
BNA state information
This block contains the following parameters:
Required |
Name |
Type |
Description |
Mandatory |
status |
String |
Status (0 - no device, 1 - normal, 2 - warnings, 3 - errors). |
Optional |
errorDescription |
String |
Error description. |
Optional |
errorDate |
String (date-time) |
Error date. |
Optional |
currencies |
Array of objects |
BNA currency list. See nested parameters. |
BNA currency parameters
This block contains the following parameters:
Required |
Name |
Type |
Description |
Mandatory |
code |
Integer [1..32] |
Numeric currency code. |
Mandatory |
amount |
Integer [1..64] |
Deposited amount. |
Mandatory |
notesCount |
Integer [1..32] |
Deposited banknotes counter. |
Mandatory |
denominationCounters |
Array of objects |
Deposited banknotes counter list. See nested parameters. |
Counter parameters
This block contains the following parameters:
Required |
Name |
Type |
Description |
Mandatory |
denomination |
Integer [1..32] |
Denomination. |
Mandatory |
value |
Integer [1..32] |
Counter. |
Response example
{
"atmStatusList": {
"atmStatus": {
"terminalId": "2111TEST",
"linkStatus": 2,
"openFlag": 0,
"lastTransactionDate": "2024-05-16T11:07:09",
"hopperStatusList": {
"hopperStatus": [
{
"position": 1,
"currency": "000",
"status": 3,
"billsValue": 0,
"billsLoaded": 0,
"billsOut": 0,
"billsRejected": 0,
"billsEnd": 0
},
{
"position": 2,
"currency": "000",
"status": 3,
"billsValue": 0,
"billsLoaded": 0,
"billsOut": 0,
"billsRejected": 0,
"billsEnd": 0
}
]
},
"safeStatus": 0,
"supervisorMode": 0,
"loadConfigurationStatus": 0,
"iptService": ""
}
}
}
getCustomerDetails
Get customer information.
Request parameters
Required |
Name |
Type |
Description |
Optional |
institutionId |
integer |
Institution id. |
Mandatory |
customerNumber |
string |
Client number. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCustomerDetails \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"customerNumber" : "2111_P012",
"institutionId" : 123
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
customerNumber |
string |
Client number. |
Mandatory |
customerId |
string |
Client id. |
Optional |
entityType |
string |
|
Optional |
entityTypeName |
string |
|
Optional |
firstName |
string |
First name. |
Optional |
secondName |
string |
Second name. |
Optional |
surname |
string |
Surname. |
Optional |
status |
string |
Customer status. |
Response example
{
"customerId": 100000000039,
"customerNumber": "2111_P012",
"entityType": "ENTTPERS",
"entityTypeName": "Person",
"firstName": "John",
"secondName": "A.",
"surname": "Smith",
"status": "CTST0010"
}
isCustomerExist
Check whether customer id exists.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
customerNumber |
string |
Customer number. |
Optional |
institutionId |
integer |
Institution id |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/isCustomerExist \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"customerNumber": 1002,
"institutionId": 7001
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
result |
boolean |
Institution id. |
Response example
registerCustomer
Registers a new customer in SmartVista and creates an account. You can create as many customers as you want. But only one account per customer can be created in the Sandbox — this restriction is added to simplify the Sandbox logic. In a real project you would be able to create as many accounts per customer as required for your business.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
productName |
string |
Customer template ID to be used for customer creation. The Sandbox has only one customer template and this value should always be "CRCU1001" for the Sandbox customers. |
Mandatory |
parameters |
Object |
Parameter list. The exact list depends on the customer creation template for a specific project. We have created one for the Sandbox and you can see the required parameters below this table |
Mandatory |
parameters.name
|
string |
Identify a parameter in the customer template for which the corresponding value is set. |
Mandatory |
parameters.value
|
string |
The value to be set for the specific parameter. |
The following parameters with their values should be transferred for a customer creation in the Sandbox:
-
institutionId
You got the value in the e-mail after the registration.
-
agent_number
Same as institutionId
.
-
customer_number
Any text. Has to be unique in your sandbox project.
-
product_id
You got the value in the e-mail after the registration.
-
start_date
Any date in the past. YYYY-MM-DD format.
-
service_id_acc
You got the value in the e-mail after the registration.
-
surname
firstName
secondName
email
mobile_phone
region
city
street
house
apartment
8 postal_code
Customer data parameters. Can be any text.
-
country_code
ISO 3166-1 numeric country code.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/registerCustomer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"productName": "CRCU1001",
"parameters": [
{
"name": "institutionId",
"value": "3006"
},
{
"name": "agent_number",
"value": "3006"
},
{
"name": "customer_number",
"value": "3006P_0000003"
},
{
"name": "product_id",
"value": "70000304"
},
{
"name": "start_date",
"value": "2021-09-06"
},
{
"name": "service_id_acc",
"value": "70000305"
},
{
"name": "surname",
"value": "Smith"
},
{
"name": "firstName",
"value": "John"
},
{
"name": "secondName",
"value": "A."
},
{
"name": "email",
"value": "johnsmith@email.com"
},
{
"name": "mobile_phone",
"value": "319220977338"
},
{
"name": "country_code",
"value": "528"
},
{
"name": "region",
"value": "BJ"
},
{
"name": "city",
"value": "Utrecht"
},
{
"name": "street",
"value": "Papendorpseweg"
},
{
"name": "house",
"value": "99"
},
{
"name": "apartament",
"value": "1"
},
{
"name": "postal_code",
"value": "3528"
}
]
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
customerNumber |
string |
Client number. You will receive the one you send in the request as the Sandbox configured to set the requested number to a created customer. |
Mandatory |
accountNumber |
string |
Account number. The Sandbox returns the account number it creates for the Customer. |
Response example
{
"customerNumber": "3006P_0000003",
"accountNumber": "3006978700000000108"
}
Accounts
changeAccountArrestAmount
Change account arrest amount.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
string |
Account number. |
Mandatory |
amount |
integer |
amount |
Mandatory |
currency |
integer |
Currency |
Request example
curl --request POST \
--url https://dev.bpcbt.com/payment/apigate/ws/rest/changeAccountArrestAmount \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber": "string",
"amount": 0,
"currency": 0
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
{
"responseCode": "string",
"processingCode": "string",
"systemTraceAuditNumber": 0,
"localTransactionDate": "2021-10-29T09:50:01.457Z",
"rrn": "string",
"authorizationIdResponse": "string",
"utrnno": 0
}
changeAccountLimit
Change account limit.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
string |
Account number. |
Mandatory |
limit |
Object |
Limit parameters. |
Mandatory |
limit.name
|
string |
Limit name at SVBO. |
Optional |
limit.startDate
|
DateTime |
Limit start date. format: date-time |
Optional |
limit.endDate
|
DateTime |
Limit end date. |
Optional |
limit.value
|
long |
Limit value |
Optional |
limit.cycleType
|
integer |
Cycle type |
Optional |
limit.cycleLength
|
integer |
Cycle length |
Optional |
limit.currency
|
integer |
Currency |
Optional |
limit.currentValue
|
long |
Current limit value |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeAccountLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber" : 4000010000000003,
"limit" : {
"name" : "LMTTC01",
"startDate" : "2015-02-15",
"endDate" : "2015-02-20",
"value" : 10000000,
"cycleType" : 4,
"cycleLength" : 1
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
changeAccountStatusInFe
Change account status.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
string |
Account number. |
Mandatory |
accountStatus |
integer |
Account status |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeAccountStatusInFe \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber": 3210978700000000579,
"accountStatus": 1
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
{
"responseCode": "00",
"processingCode": "810000",
"systemTraceAuditNumber": 320257,
"localTransactionDate": "2024-02-08T15:08:14"
}
getAccountBalanceFromBo
Get account balance from SVBO.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
String |
Account number. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountBalanceFromBo \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber":2111978700000000372
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
availableBalance |
Integer [1..64] |
Account available balance. |
Mandatory |
holdBalance |
Integer [1..64] |
Hold balance. |
Mandatory |
exceedBalance |
Integer [1..64] |
Exceed balance. |
Response example
{
"availableBalance": 0,
"holdBalance": 0,
"exceedBalance": 0
}
getAccountBalances
Get account balances from SVBO.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
String |
Account number. |
Optional |
accountId |
Integer [1..64] |
Account identifier. |
Mandatory |
institutionId |
String |
Internal institution identifier. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountBalances \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber":"2111978700000000372",
"institutionId":"2111"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
accountBalances |
Array of objects |
Array of account balances. Each balance is an account_balances object. See nested parameters
|
Below are the parameters of the account_balances
block (data about an account balances).
Required |
Name |
Type |
Description |
Optional |
balanceType |
String |
Balance type. |
Optional |
balanceTypeDescription |
String |
Balance type description. |
Optional |
amount |
String |
Balance amount. |
Optional |
currency |
String |
Balance currency. |
Optional |
amountAccCurrency |
String |
Amount of account currency. |
Mandatory |
accountCurrency |
String |
Account currency. |
|
Response example
{
"account_balances": [
{
"balance_type": "BLTP0001",
"balance_type_description": "Ledger",
"amount": 0,
"currency": 978,
"amount_acc_currency": 0,
"account_currency": 978
},
{
"balance_type": "BLTP0002",
"balance_type_description": "Hold",
"amount": 0,
"currency": 978,
"amount_acc_currency": 0,
"account_currency": 978
},
{
"balance_type": "BLTP1001",
"balance_type_description": "Assigned exceed limit",
"amount": 0,
"currency": 978,
"amount_acc_currency": 0,
"account_currency": 978
}
]
}
getAccountLimits
Get account limits list.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
accountNumber |
string |
account number. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountLimits \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber" : 4000010000000003
}'
Response example
{
"limits": [
{
"name": "LMTTC01",
"value": 10000000,
"cycleType": 4,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": [
{
"limitName": "LMTTA02",
"startDate": "2014-12-30",
"endDate": "2014-12-31",
"value": 10000,
"cycleType": 0,
"cycleLength": 0
}
]
}
getAccountListByOwner
Get a list of accounts belonged to a customer.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
customerId |
string |
Customer identifier. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountListByOwner \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"customerId":2111_1709647552366
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
accounts |
array of objects |
List of the customer's accounts. Each account is an account object. See nested parameters
|
Below are the parameters of the account
block (data about an account).
Required |
Name |
Type |
Description |
Mandatory |
number |
String |
Account number. |
Optional |
accountType |
Integer [1..32] |
Account type. |
Mandatory |
currency |
Integer [1..32] |
Account currency. |
Optional |
currencyAlphaCode |
String |
Alpha-code of account currency. |
Mandatory |
balance |
Integer [1..64] |
Account balance. |
Optional |
creditLimit |
Integer [1..64] |
Credit limit. |
Mandatory |
customerId |
String |
Client identifier. |
Optional |
defaultAccount |
Boolean |
Default account flag. |
Optional |
status |
Integer [1..2] |
Status of account arrest. See the list of values below. |
Optional |
statusDescription |
String |
Description of account arrest status. |
Statuses of account arrest
- 0 - NO RESTRICTIONS
- 1 - NO WITHDRAWALS
- 2 - NO WITHDRAWALS OR TRANSFERS
- 3 - ONLY BALANCE INQUIRY
- 4 - ONLY DEPOSITS
- 5 - ONLY BALANCE INQ AND DEPOSITS
- 6 - ONLY BALINQ, DEP, AND XFERS
- 7 - FULLY RESTRICTED ACCOUNT
- 8 - FULLY RESTRICTED ACCOUNT
- 9 - FULLY RESTRICTED ACCOUNT
- 10 - WARNING CASH DEP
- 11 - INOPERATIVE
- 12 - NO CREDIT
- 13 - NO DEBIT
- 14 - BLOCKED
- 15 - FRAUD
Response example
{
"accounts":[
{
"number":2111978700000000372,
"accountType":0,
"currency":978,
"balance":389,
"creditLimit":0,
"status":0,
"statusDescription":"NO RESTRICTIONS"
}
]
}
getAllowedBeneficiaries
Get a list of allowed beneficiaries for a card or an account.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAllowedBeneficiaries \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber" : 4000010000000003
}'
Response example
{
"beneficiaries": [
M0001
]
}
getAllowedMccList
Get a list of MCC allowed for a card or an account.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAllowedMccList \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber" : 4000010000000003
}'
Response example
setAllowedBeneficiaries
Set a list of allowed beneficiaries for a card or an account.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setAllowedBeneficiaries \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber": "4000010000000003",
"beneficiaries": [
"M0001"
]
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
setAllowedMccList
Set a list of MCC allowed for a card or an account.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setAllowedMccList \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"accountNumber": "4000010000000003",
"mccList" : [
1750
]
}'
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
Merchants
changeMerchantStatus
Change merchant status.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
merchantNumber |
string |
Merchant number. |
Mandatory |
institutionId |
string |
Internal institution id. |
Mandatory |
agentId |
string |
Agent id. |
Mandatory |
customerNumber |
string |
Client number. |
Mandatory |
contractNumber |
string |
Contract number. |
Mandatory |
status |
string |
Merchant status. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeMerchantStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantNumber": "M000001",
"institutionId": "3210",
"agentId": "32",
"customerNumber": "3210_P004",
"contractNumber": "201",
"status": "Valid Entity"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVisa. |
Response example
{
"responseCode" : "00"
}
changeTerminalStatus
Change terminal status.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
merchantNumber |
string |
Merchant number. |
Mandatory |
terminalNumber |
string |
Terminal number. |
Mandatory |
institutionId |
string |
Internal institution id. |
Mandatory |
agentId |
string |
Agent id. |
Mandatory |
customerNumber |
string |
Client number. |
Mandatory |
contractNumber |
string |
Contract number. |
Mandatory |
status |
string |
Terminal status. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeTerminalStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantNumber" : "M999201",
"terminalNumber" : "00999201",
"institutionId" : "3210",
"agentId" : "32",
"customerNumber" : "3210_P004",
"contractNumber" : "201",
"status" : "Valid Entity"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVisa. |
Response example
{
"responseCode" : "00"
}
generateKey
Generate key.
Request parameters
Required |
Name |
Type |
Description |
Optional |
terminalId |
long |
SVFE terminal internal id (pid) |
Optional |
terminalNumber |
string |
Terminal id. |
Optional |
merchantNumber |
string |
Merchant id. |
Mandatory |
hostId |
integer |
ZMK key internal id (PID), which should be used to export generated key. |
Mandatory |
keyType |
string |
Key type. |
Mandatory |
keyLength |
string |
Length of the generated key. Possible values: [ENKL_0016, ENKL_0032, ENKL_0048] |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/generateKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"hostId" : 54329,
"keyType": "string",
"keyLength": "ENKL_0016",
"keySerialNumber": "string",
"dukptId": 0
}'
Response parameters
Required |
Name |
Type |
Description |
Optional |
keyValue |
string |
Generated key (encrypted by ZMK). |
Optional |
checkValue |
string |
Check value |
Optional |
lmkHsmKeyValue |
string |
Generated key (encrypted by LMK). |
Response example
{
"keyValue" : "keyValue",
"lmkHsmKeyValue" : "lmkHsmKeyValue",
"checkValue" : "checkValue"
}
getMerchantTransactions
Get merchant's transaction list.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
merchantId |
string |
Merchant id. |
Optional |
terminalId |
string |
Terminal id. |
Mandatory |
institutionId |
string |
Internal institution id. |
Mandatory |
period |
Object |
Time span. |
Optional |
period.start
|
DateTime |
Start date. |
Optional |
period.end
|
DateTime |
End date. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getMerchantTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantIdn" : "M999101",
"institutionId": 2,
"period": {
"start": "2019-05-01",
"end": "2019-06-01"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
transactions |
Object |
Transactions. |
Mandatory |
transactions.utrnno
|
long |
Transaction id in SVFE |
Optional |
transactions.reversal
|
boolean |
Reversal flag. |
Mandatory |
transactions.merchantId
|
string |
Merchant id. |
Mandatory |
transactions.terminalId
|
string |
Terminal id. |
Mandatory |
transactions.transactionDate
|
DateTime |
Transaction date/time. |
Optional |
transactions.settlementDate
|
DateTime |
Settlement date/time. |
Mandatory |
transactions.cardNumberMask
|
string |
Masked card number. |
Mandatory |
transactions.cardNumber
|
string |
Card number. |
Optional |
transactions.transactionAmount
|
integer |
Transaction amount. |
Optional |
transactions.transactionCurrency
|
integer |
Transaction currency code |
Optional |
transactions.submittedAmount
|
integer |
Requested amount. |
Optional |
transactions.submittedCurrency
|
integer |
Requested currency |
Optional |
transactions.responseCode
|
integer |
Internal SVFE response code. |
Optional |
transactions.authorizationCode
|
string |
Authorization code. |
Optional |
transactions.cashbackAmount
|
integer |
Cashback amount. |
Optional |
transactions.transactionType
|
string |
Transaction type. |
Optional |
transactions.networkType
|
string |
Network type. |
Optional |
transactions.cardType
|
string |
Card type. |
Optional |
transactions.orderNumber
|
string |
Payment order number. |
Optional |
transactions.orderId
|
string |
Payment order id. |
Response example
{
"transactions": {
"transaction": [
{
"utrnno": 7220355,
"reversal": false,
"merchantId": "M999101",
"terminalId": 999101,
"transactionDate": "2019-05-15T13:08:07+04:00",
"cardNumber": 4440010000000001,
"transactionAmount": 10000,
"transactionCurrency": 978,
"responseCode": 802,
"authorizationCode": 0,
"cashbackAmount": 0,
"transactionType": 736,
"networkType": 28,
"cardType": 0
},
{
"utrnno": 7220403,
"reversal": false,
"merchantId": "M999101",
"terminalId": 999101,
"transactionDate": "2019-05-15T13:11:38+04:00",
"cardNumber": 4440010000000001,
"transactionAmount": 10000,
"transactionCurrency": 978,
"responseCode": 802,
"authorizationCode": 0,
"cashbackAmount": 0,
"transactionType": 736,
"networkType": 28,
"cardType": "DEF"
},
{
"utrnno": 7220431,
"reversal": false,
"merchantId": "M999101",
"terminalId": 999101,
"transactionDate": "2019-05-15T13:12:55+04:00",
"cardNumber": 4440010000000001,
"transactionAmount": 10000,
"transactionCurrency": 978,
"responseCode": 801,
"authorizationCode": 0,
"cashbackAmount": 0,
"transactionType": 736,
"networkType": 44,
"cardType": "DEF"
}
]
}
}
serviceAction
Perform an action on the service.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
serviceIdentification |
Object |
Service identification data. |
Mandatory |
serviceIdentification.serviceType
|
string |
Service type. |
Mandatory |
serviceIdentification.serviceId
|
string |
Service id. |
Mandatory |
serviceIdentification.serviceObjectType
|
string |
Object, which the service can be linked to. Possible values: [SERVICE_OBJECT_CARD, SERVICE_OBJECT_ACCOUNT] |
Mandatory |
actionCode |
string |
Action code. Possible values: [ACTION_CODE_ADD, ACTION_CODE_UPDATE, ACTION_CODE_DELETE, ACTION_CODE_CHECK, ACTION_CODE_CHANGE_ACCESS, ACTION_CODE_CHECK_PARAMETERS, ACTION_CODE_RESTORE_PARAMETERS, ACTION_CODE_INQUIRE, ACTION_CODE_ACTION] |
Mandatory |
cardIdentification |
Object |
Card identification parameters. expDate and (cardNumber ) or (barCode ) or (cardNumberMask and phoneNumber ) are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
accountNumber |
string |
Account number. |
Optional |
serviceParameters |
Object |
Service parameters. |
Optional |
serviceParameters.phoneNumber
|
string |
Phone number. |
Optional |
serviceParameters.email
|
string |
E-mail |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/serviceAction \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"serviceIdentification": {
"serviceType" : 7,
"serviceId" : 300,
"serviceObjectType": "SERVICE_OBJECT_CARD"
},
"actionCode": "ACTION_CODE_ADD",
"cardIdentification": {
"cardNumber": 4000010000000003
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVisa. |
Response example
setKey
Set key.
Request parameters
Required |
Name |
Type |
Description |
Optional |
terminalId |
long |
SVFE terminal internal id (pid) |
Optional |
terminalNumber |
string |
Terminal id. |
Optional |
merchantNumber |
string |
Merchant id. |
Mandatory |
hostId |
integer |
Host PID |
Mandatory |
keyType |
string |
Key type. Possible values: [ENKTTMKA, ENKTTMKP, ENKTTAK, ENKTIKEY] |
Optional |
inputKeyPrefix |
string |
Input key prefix. Possible values: [U, T, X, Y] |
Mandatory |
key |
string |
Key. |
Optional |
keyCheckValue |
string |
Check value |
Mandatory |
newKeyPrefix |
string |
New key prefix. Possible values: [U, T, X, Y] |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"terminalId": 0,
"terminalNumber": "string",
"merchantNumber": "string",
"hostId": 0,
"keyType": "ENKTTMKA",
"inputKeyPrefix": "U",
"key": "string",
"keyCheckValue": "string",
"newKeyPrefix": "U"
}'
Response parameters
Response example
Cards & Wallets
addCardLimitException
Add card limit exception.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMasked and cardholderId ) or (cardNumberMasked and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
limitException |
Object |
Limit exception parameters. |
Mandatory |
limitException.limitName
|
string |
Limit name at SVBO. |
Mandatory |
limitException.startDate
|
DateTime |
Exception start date. |
Mandatory |
limitException.endDate
|
DateTime |
Exception end date. |
Optional |
limitException.value
|
long |
Limit value |
Optional |
limitException.cycleType
|
integer |
Cycle type |
Optional |
limitException.cycleLength
|
integer |
Cycle length |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/addCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003
},
"limitException" : {
"limitName" : "LMTTC01",
"startDate" : "2015-04-20",
"endDate" : "2015-04-30",
"value" : 10000000,
"cycleType" : 4,
"cycleLength" : 1
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
bindCardToAccount
Bind card to an account.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. cardNumber and expDate are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
accountNumber |
string |
Account number to bind to. |
Mandatory |
accountType |
string |
Account type. Possible values: [ACCOUNT_TYPE_DEFAULT, ACCOUNT_TYPE_SAVING, ACCOUNT_TYPE_CHECKING, ACCOUNT_TYPE_CREDIT, ACCOUNT_TYPE_FIRST_OTHERS, ACCOUNT_TYPE_LOANS, ACCOUNT_TYPE_ENVELOPE, ACCOUNT_TYPE_ESCROW, ACCOUNT_TYPE_MONEY_MARKET, ACCOUNT_TYPE_LOYALTY] |
Optional |
accountCurrency |
integer |
Account currency ( only required for new accounts ). |
Optional |
personalData |
Object |
Cardholder personal information. |
Optional |
personalData.firstName
|
string |
|
Optional |
personalData.lastName
|
string |
|
Optional |
customerId |
string |
Client id. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/bindCardToAccount \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000001,
"expDate" : 202512
},
"accountNumber" : 4000010000000001,
"accountType" : "ACCOUNT_TYPE_DEFAULT",
"accountCurrency" : 978,
"personalData" : {
"firstName" : "IVAN",
"lastName" : "IVANOV"
},
"customerId" : "3210_P004"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
blockCard
Block card. Within the Sandbox a card has to be in active status (status code '0') to be blocked. You can get a card status code with getCardData
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
hotCardStatus |
integer |
Card status. Should be '6' for the Sandbox. This means the card is blocked and should be captured on usage attempt. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/blockCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 100000000873
},
"hotCardStatus" : 6
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVisa. '00' is for success. |
Response example
{
"responseCode": "00",
"processingCode": "910000",
"systemTraceAuditNumber": 620397,
"localTransactionDate": "2021-09-23T14:37:36"
}
cardStatusInquiry
Make card status inquiry.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ).Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/cardStatusInquiry \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
hotCardStatus |
integer |
Card status |
Response example
changeCardLimit
Change the limit values for a specific card. The limits set is defined for the card product and is predefined in the Sandbox. Initially the limits for a specific card are inherited from the product setting. Use getCardLimits
to get limits names.
The following limits are available (cycle types are specified for the default limit setting and can be changed with changeCardLimit
request):
LMTP0111 - MOTO\ECOM limit (amount) month.
LMTP0112 - MOTO\ECOM limit (amount) day.
LMTP0108 - purchase limit (amount) month.
LMTP0110 - purchase limit (amount) day.
LMTP0109 - cash disbursmenent limit (amount) month.
LMTP0107 - cash disbursmenent limit (amount) day. You can test this limit in the Sandbox with p2pTransfer request.
The following limits cycleType
are available:
0 - day. A 1-day cycle starts every day at 00:00:00.
1 - week. A 1 week cycle starts every 7 days at 00:00:00.
2 - calendar week. A cycle of 1 calendar week starts every Monday at 00:00:00.
3 - month. A 1-month cycle starts on the same day of each month at the same time.
4 - calendar month. A cycle of 1 calendar month starts at 00:00:00 on the first day of each month.
5 - quarter (3 months). A cycle of 1 quarter starts on the same day every 3 months at the same time.
6 - calendar quarter. A cycle of 1 calendar quarter starts on January 1, April 1, July 1, October 1 at 00:00:00.
7 - year. A cycle of 1 year begins on the same day and at the same time exactly one year later.
8 - calendar year. A cycle of 1 calendar year begins on January 1st at 00:00:00.
11 - hour. A one-hour cycle starts at the same minute and second of every hour (i.e. every 3600 seconds).
12 - calendar hour. The calendar hour starts at 0 minutes and 0 seconds of each hour and ends at 59 minutes 59 seconds of the same hour.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox.Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
limit |
Object |
Limit parameters. |
Mandatory |
limit.name
|
string |
Limit name. It is predefined in the Sandbox. You can get the limits list with getCardLimits() and get limit names from its response. |
Optional |
limit.startDate
|
DateTime |
Limit start date. Not for the Sandbox. |
Optional |
limit.endDate
|
DateTime |
Limit end date. Not for the Sandbox. |
Optional |
limit.value
|
long |
Limit value. |
Optional |
limit.cycleType
|
integer |
Cycle type. |
Optional |
limit.cycleLength
|
integer |
Cycle length. |
Optional |
limit.currency
|
integer |
Currency. Not for the Sandbox. |
Optional |
limit.currentValue
|
long |
Current limit value. Not for the Sandbox. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardId" : 100000000873
},
"limit" : {
"name" : "LMTP0112",
"value" : 13000000,
"cycleType" : 4,
"cycleLength" : 1
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. '00' is for success. |
Response example
{
"responseCode": "00",
"processingCode": "710000",
"systemTraceAuditNumber": 620394,
"localTransactionDate": "2021-09-23T14:35:24"
}
changeCardLimitException
Change card limit exception.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. cardNumber or cardId are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
limitException |
Object |
Limit exception parameters. |
Mandatory |
limitException.limitName
|
string |
Limit name at SVBO. |
Mandatory |
limitException.startDate
|
DateTime |
Exception start date. |
Mandatory |
limitException.endDate
|
DateTime |
Exception end date. |
Optional |
limitException.value
|
long |
Limit value |
Optional |
limitException.cycleType
|
integer |
Cycle type |
Optional |
limitException.cycleLength
|
integer |
Cycle length |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Response example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003,
"expDate" : 202512
},
"limitException" : {
"limitName" : "LMTTC01",
"startDate" : "2015-04-20",
"endDate" : "2015-04-30",
"value" : 10000000
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
changeCardStatus
Change card status. In the Sandbox you can change card status only for blocked cards (card status code is '6'). You can get the card status code with getCardData
request. To change card status from '0' to '6' (blocked) use blockCard
request.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
hotCardStatus |
integer |
Card status. For the Sandbox should be '0' to activate a blocked card. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardId" : 100000000873
},
"hotCardStatus" : 0
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. '00' is for success. |
Response example
{
"responseCode": "00",
"processingCode": "950000",
"systemTraceAuditNumber": 620398,
"localTransactionDate": "2021-09-23T14:38:26"
}
changePin
Change PIN.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. cardNumber or cardId are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
newPinData |
string |
New PIN. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003
},
"newPinData" : "059B2AA97DF72557"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
createVirtualCard
Creates a virtual card for a registered customer. Use registerCustomer
to create a customer and an account if you haven't done it yet.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Primary card identification parameters. There are many card attributes and their combinations to identify a card, supported by SmartVista, but the Sandbox uses the most simple one - the card number. All other options are provided as examples. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. This is the way we will use in all Sandbox's requests to identify a card. For this request always use "visaBin0000000000" card number, where [visaBin] is the number from the e-mail you got after the registration. For the all other requests use card number you will get after creating a card with this request. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. It is commonly used as one of the possible card identification params, but not in this Sandbox project to avoid keys management. Do not use it here. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Common way to identify the card combined with a phone number or some other card data, but not the one used in the Sandbox. Do not use it here. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Common way to identify the card combined with a phone number, but not the one used in the Sandbox. Do not use it here. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Frequently used with some other card attributes. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Frequently used with some other card attributes. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
virtualCardIdentification |
Object |
Virtual card parameters. expDate and productType are required. |
Mandatory |
virtualCardIdentification.expDate
|
string |
Card expiration date. Any future date in "YYYYMM" format. |
Mandatory |
virtualCardIdentification.productType
|
string |
Product type. Identifies the card product for a card. In the Sandbox should always be constant number '5C' as we set up a one product for you. |
Optional |
virtualCardIdentification.cardNumber
|
string |
Card number. Not for the Sandbox. |
Optional |
virtualCardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
virtualCardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
virtualCardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
virtualCardIdentification.cvv2
|
string |
CVV2/CVC2. Not for the Sandbox. |
Mandatory |
amount |
integer |
Default limit for newly created virtual cards. Should be constant number '0' in the Sandbox. |
Mandatory |
currency |
integer |
Currency. ISO 4217 numeric currency code. Use '978' for the Sandbox. |
Mandatory |
accountNumber |
string |
Account number for primary card identification. Use the account number you got from registerCustomer(). |
Optional |
deliveryMethod |
string |
Virtual card parameters delivery method. Possible values: [WS, HALF_AND_HALF] . WS - all parameters delivered in Web Service response. HALF_AND_HALF - some parameters delivered in Web Service response, some in SMS. For HALF_AND_HALF, the Web Service response will contain masked card number (for example **** 1111 1111 ****) and the SMS will contain the CVV2 and other half of the masked card number (for example 1111 **** **** 1111). Use 'WS' value for the Sandbox. |
Optional |
personalData |
Object |
Card owner personal data. Not for the Sandbox. |
Optional |
personalData.firstName
|
string |
Not for the Sandbox. |
Optional |
personalData.lastName
|
string |
Not for the Sandbox. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4140050000000000,
"phoneNumber" : "319220977337",
"customerId" : "3006P_0000002"
},
"virtualCardIdentification" : {
"expDate" : 202512,
"productType" : "5C"
},
"amount" : 0,
"currency" : 978,
"accountNumber" : "3006978700000000108",
"deliveryMethod" : "WS"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
virtualCardIdentification |
Object |
Virtual card Parameters. |
Optional |
virtualCardIdentification.cardNumber
|
string |
Card number. Here you will get the card number of the created card in the Sandbox. Save it for all further operations with the created card. |
Optional |
virtualCardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
virtualCardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Mandatory |
virtualCardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Mandatory |
virtualCardIdentification.productType
|
string |
Product type. Not for the Sandbox. |
Optional |
virtualCardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
virtualCardIdentification.cvv2
|
string |
CVV2/CVC2. Not for the Sandbox. |
Response example
{
"virtualCardIdentification": {
"cardNumber": "4140050021658271",
"cardId": "100000000873",
"expDate": "202512",
"productType": "5C"
}
}
deleteCardLimitException
Delete card limit exception.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
limitException |
Object |
Limit exception parameters. |
Mandatory |
limitException.limitName
|
string |
Limit name at SVBO. |
Mandatory |
limitException.startDate
|
DateTime |
Exception start date. |
Mandatory |
limitException.endDate
|
DateTime |
Exception end date. |
Optional |
limitException.value
|
long |
Limit value |
Optional |
limitException.cycleType
|
integer |
Cycle type |
Optional |
limitException.cycleLength
|
integer |
Cycle length |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/deleteCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003,
"expDate" : 202512
},
"limitException" : {
"limitName" : "LMTTC01",
"startDate" : "2015-02-15",
"endDate" : "2015-02-20"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
generateCVC2
Generate CVC2.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Must be passed if deliveryMethod is SMS and phoneNumber is NOT used as identification option. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
deliveryMethod |
string |
Code delivery method. Possible values: [SMS, WS, HALF_AND_HALF, WS_ENCRYPTED, NONE] |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/generateCVC2 \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4149070067595816
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
SVFE operation completion code. |
Optional |
cardNumberMask |
string |
Masked card number. |
Optional |
cardNumber |
string |
Card number. |
Optional |
cvc2 |
string |
Generated CVV2 value. |
Response example
{
"responseCode": "00",
"cardNumberMask": "****07006759****",
"cvc2": "692"
}
generatePin
Generate PIN.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. (encryptedCardNumber ) or (cardNumberMask and phoneNumber ) or external card id are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
pinDeliveryMethod |
string |
PIN delivery method. Possible values: [SMS - in SMS, WS - in Web Service response, HALF_AND_HALF - 1st two digits in WS response, 2nd two digits in SMS, WS_ENCRYPTED - in Web Service response using public RSA encryption in ECB mode, NONE - do not deliver PIN] |
Optional |
encryptedPinValue |
ByteArray |
Encrypted PIN. |
Optional |
pinValue |
string |
PIN. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Optional |
parameters |
Object |
List of arbitrary parameters. |
Optional |
parameters.name
|
string |
|
Optional |
parameters.value
|
string |
|
Optional |
checkCardOnly |
boolean |
Flag, showing whether it is necessary to only check existence and card status and not form and change PIN. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/generatePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumberMask" : "400001%0003",
"phoneNumber" : 79021111111
},
"pinDeliveryMethod" : "WS"
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista (00 - success). |
Optional |
pinValue |
string |
PIN. |
Optional |
encryptedPinValue |
ByteArray |
Encrypted PIN. |
Response example
{
"encryptedPinValue" : [ "encryptedPinValue", "encryptedPinValue" ],
"pinValue" : 1111,
"responseCode" : 00
}
getCardBalance
Get card balance.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
accountNumber |
string |
Account number. |
Optional |
accountType |
string |
Account type. Possible values: [ACCOUNT_TYPE_DEFAULT, ACCOUNT_TYPE_SAVING, ACCOUNT_TYPE_CHECKING, ACCOUNT_TYPE_CREDIT, ACCOUNT_TYPE_FIRST_OTHERS, ACCOUNT_TYPE_LOANS, ACCOUNT_TYPE_ENVELOPE, ACCOUNT_TYPE_ESCROW, ACCOUNT_TYPE_MONEY_MARKET, ACCOUNT_TYPE_LOYALTY] |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Response parameters
Required |
Name |
Type |
Description |
Optional |
cardIdentification |
Object |
Card parameters (number and expiration date). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
balance |
integer |
Balance. |
Optional |
currency |
integer |
Currency |
Optional |
availableExceedLimit |
integer |
Credit limit. |
Optional |
availableExceedLimitCurrency |
integer |
Credit limit currency |
Optional |
ownFunds |
integer |
Own funds. |
Optional |
ownFundsCurrency |
integer |
Own funds currency |
Optional |
totalAmountDue |
integer |
Total amount due. |
Optional |
minimumAmountDue |
integer |
Minimum payment amount. |
Optional |
dueDate |
DateTime |
Payment due date. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/payment/apigate/ws/rest/getCardBalance \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000001,
"expDate" : 202012
}
}'
Response example
{
"balance" : 0,
"availableExceedLimit" : 1,
"availableExceedLimitCurrency" : 5,
"ownFunds" : 5,
"dueDate" : "2000-01-23T04:56:07.000+00:00",
"totalAmountDue" : 7,
"currency" : 6,
"cardIdentification" : {
"cvv2" : "cvv2",
"cardholderId" : "cardholderId",
"externalCardId" : "externalCardId",
"institutionId" : "institutionId",
"plasticNumber" : 0,
"customerNumber" : "customerNumber",
"expDate" : "expDate",
"cardNumberMask" : "cardNumberMask",
"barCode" : "barCode",
"token" : "token",
"encryptedCardNumber" : [ "encryptedCardNumber", "encryptedCardNumber" ],
"phoneNumber" : "phoneNumber",
"cardLastDigitMask" : "cardLastDigitMask",
"cardId" : "cardId",
"customerId" : "customerId",
"cardTypeCode" : "cardTypeCode",
"cardNumber" : "cardNumber",
"email" : "email"
},
"ownFundsCurrency" : 978,
"minimumAmountDue" : 9
}
getCardData
Returns you the data about the cards you created. Can be used after creating a card with createVirtualCard
.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. cardNumber is required. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.idNumber
|
string |
Identification document number. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Optional |
rsaPublicKey |
Array of string |
Open key for card number encryption in return message. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification":{
"cardNumber":"4000000000000000",
"expDate":"203001"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
cardData |
Object |
Card parameters. |
Optional |
cardData.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardData.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Mandatory |
cardData.cardNumber
|
string |
Card number. |
Optional |
cardData.expiryDate
|
string |
Card expiration date. Comes in YYYYMM format. |
Optional |
cardData.expiryTime
|
string (date-time) |
Card expiration time. |
Optional |
cardData.formattedExpiryDate
|
string |
User-formatted card expiration date. Not for the Sandbox. |
Optional |
cardData.cardId
|
string |
Card id. This is internal SmartVista card ID that can be used to identify the card for non PCI DSS compliant apps. |
Optional |
cardData.hotCardStatus
|
integer |
Card status. |
Optional |
cardData.cardTypeName
|
string |
Card type. |
Optional |
cardData.embossedName
|
string |
Embossed name. Would have a real value only for embossed plastic cards and not for virtual cards in the Sanbox. |
Optional |
cardData.customerId
|
string |
Client id. |
Optional |
cardData.customerName
|
string |
Client name. Not for the Sandbox. |
Optional |
cardData.personId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardData.pinDenialCounter
|
integer |
Incorrect PIN attempts count |
Optional |
cardData.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
cardData.hotCardStatusDescription
|
string |
Card status description. |
Optional |
cardData.cardIsPrimary
|
boolean |
Primary card flag. Always false for the Sandbox. |
Optional |
cardData.cardBindToCustomer
|
boolean |
Card binded to client flag. Always false for the Sandbox. |
Optional |
cardData.customerIsCardholder
|
boolean |
Is client a cardholder flag. Always false for the Sandbox. |
Optional |
cardData.cardContractId
|
string |
Card contract id. Not for the Sandbox. |
Optional |
cardData.cardPlasticId
|
string |
Plastic type id. Not for the Sandbox. |
Optional |
cardData.cardPlasticDescription
|
string |
Plastic type description. Not for the Sandbox. |
Optional |
cardData.memorableWord
|
string |
Secret word. Not for the Sandbox. |
Optional |
cardData.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardData.lastWrongPinDate
|
DateTime |
Last incorrect PIN attempt date/time. Not for the Sandbox. |
Optional |
cardData.cardCreationDate
|
DateTime |
Card issue date. Not for the Sandbox. |
Optional |
cardData.cardBlockingDate
|
DateTime |
Card lock date/time. Not for the Sandbox. |
Optional |
cardData.directDebitAccount
|
string |
Account used for auto-payments. Not for the Sandbox. |
Optional |
cardData.cardholderMobilePhoneNumber
|
string |
Cardholder's phone number. Not for the Sandbox. |
Optional |
cardData.accounts
|
Object |
List of accounts for the card. There should be only one account in the Sandbox. |
Mandatory |
accounts.number
|
string |
Account number. |
Optional |
accounts.accountType
|
string |
Account type. |
Mandatory |
accounts.currency
|
integer |
Account currency |
Optional |
accounts.currencyAlphaCode
|
string |
Account currency letter code. |
Mandatory |
accounts.balance
|
integer |
Account balance. |
Optional |
accounts.creditLimit
|
integer |
Credit limit. |
Mandatory |
accounts.customerId
|
string |
Client identifier. |
Optional |
accounts.defaultAccount
|
boolean |
Default account indicator. Always true for the Sandbox. |
Response example
{
"cardData": {
"cardNumber": 4000000000000000,
"expiryDate": 203001,
"cardId": 1001,
"hotCardStatus": "",
"cardTypeName": "VISA - PLUS",
"embossedName": "GENERAL POOL",
"customerId": "1001V_0000000",
"personId": "1001V_0000000",
"pinDenialCounter": 0,
"plasticNumber": 1,
"hotCardStatusDescription": "VALID CARD",
"cardIsPrimary": false,
"cardBindToCustomer": false,
"customerIsCardholder": false,
"cardContractId": "000125",
"cardCreationDate": "2021-09-01",
"cardBlockingDate": "2002-02-28T00:00:00",
"accounts": {
"accountData": [
{
"number": 1001978000000000000,
"accountType": 1,
"currency": 978,
"currencyAlphaCode": "EUR",
"balance": 0,
"creditLimit": 0,
"customerId": "1001V_0000000",
"defaultAccount": true
}
]
}
}
}
getCardFees
Get card fees.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardNumber |
string |
Card number. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardFees \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardNumber" : 4000010000000003
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
fees |
Object |
Fee list. |
Mandatory |
fees.feeType
|
string |
Fee type. |
Mandatory |
fees.feeValue
|
number |
Fee value. |
Response example
{
"fees" : [ {
"feeValue" : 1.46581298050294517310021547018550336360931396484375,
"feeType" : "feeType"
}, {
"feeValue" : 1.46581298050294517310021547018550336360931396484375,
"feeType" : "feeType"
} ]
}
getCardLimits
Get limits for a specific card. The limits set is defined for the card product and is predefined in the Sandbox. Initially the limits for a specific card are inherited from the product setting. You can change the limit values for a specific card with changeCardLimits
.
The following limits are available (cycle types are specified for the default limit setting and can be changed with changeCardLimit
request):
LMTP0111 - MOTO\ECOM limit (amount) month.
LMTP0112 - MOTO\ECOM limit (amount) day.
LMTP0108 - purchase limit (amount) month.
LMTP0110 - purchase limit (amount) day.
LMTP0109 - cash disbursmenent limit (amount) month.
LMTP0107 - cash disbursmenent limit (amount) day. You can test this limit in the Sandbox with p2pTransfer request.
The following limits cycleType are available:
0 - day. A 1-day cycle starts every day at 00:00:00.
1 - week. A 1 week cycle starts every 7 days at 00:00:00.
2 - calendar week. A cycle of 1 calendar week starts every Monday at 00:00:00.
3 - month. A 1-month cycle starts on the same day of each month at the same time.
4 - calendar month. A cycle of 1 calendar month starts at 00:00:00 on the first day of each month.
5 - quarter (3 months). A cycle of 1 quarter starts on the same day every 3 months at the same time.
6 - calendar quarter. A cycle of 1 calendar quarter starts on January 1, April 1, July 1, October 1 at 00:00:00.
7 - year. A cycle of 1 year begins on the same day and at the same time exactly one year later.
8 - calendar year. A cycle of 1 calendar year begins on January 1st at 00:00:00.
11 - hour. A one-hour cycle starts at the same minute and second of every hour (i.e. every 3600 seconds).
12 - calendar hour. The calendar hour starts at 0 minutes and 0 seconds of each hour and ends at 59 minutes 59 seconds of the same hour.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardLimits \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardId" : 100000000873
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
limits |
Object |
List of card limits. |
Mandatory |
limits.name
|
string |
Limit name. |
Optional |
limits.startDate
|
DateTime |
Limit start date. Not for the Sandbox. |
Optional |
limits.endDate
|
DateTime |
Limit end date. Not for the Sandbox. |
Optional |
limits.value
|
long |
Limit value. |
Optional |
limits.cycleType
|
integer |
Cycle type. There several possible types of limits cycles - daily, monthly etc. |
Optional |
limits.cycleLength
|
integer |
Cycle length. For example, value 2 for monthly limit types means 2 months. |
Optional |
limits.currency
|
integer |
Currency. |
Optional |
limits.currentValue
|
long |
Current limit value. |
Mandatory |
limits.limitExceptions
|
Object |
Limit exception list. Not for the Sandbox. |
Response example
{
"limits": [
{
"name": "LMTP0111",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0112",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0108",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0110",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0109",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0107",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
}
]
}
getCardListByOwner
Get card list using client ID and/or cardholder ID.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. (customerId ) or (phoneNumber ) or (email ) are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardListByOwner \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"customerId" : 10022830
}
}'
Response parameters
Required |
Name |
Type |
Description |
Optional |
cards |
Object |
|
Optional |
cards.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cards.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cards.cardNumber
|
string |
Card number. |
Optional |
cards.expiryDate
|
string |
Card expiration date. |
Optional |
cards.formattedExpiryDate
|
string |
User-formatted card expiration date. |
Optional |
cards.cardId
|
string |
Card id. |
Optional |
cards.hotCardStatus
|
integer |
Card status |
Optional |
cards.cardTypeName
|
string |
Card type. |
Optional |
cards.embossedName
|
string |
Embossed name. |
Optional |
cards.customerId
|
string |
Client id. |
Optional |
cards.customerName
|
string |
Client name. |
Optional |
cards.personId
|
string |
Cardholder id. |
Optional |
cards.pinDenialCounter
|
integer |
Incorrect PIN attempts count |
Optional |
cards.plasticNumber
|
integer |
Plastic number |
Optional |
cards.hotCardStatusDescription
|
string |
Card status description. |
Optional |
cards.cardIsPrimary
|
boolean |
Primary card flag. |
Optional |
cards.cardBindToCustomer
|
boolean |
Card binded to client flag. |
Optional |
cards.customerIsCardholder
|
boolean |
Is client a cardholder flag. |
Optional |
cards.cardContractId
|
string |
Card contract id. |
Optional |
cards.cardPlasticId
|
string |
Plastic type id. |
Optional |
cards.cardPlasticDescription
|
string |
Plastic type description. |
Optional |
cards.memorableWord
|
string |
Secret word. |
Optional |
cards.email
|
string |
E-mail. |
Optional |
cards.lastWrongPinDate
|
DateTime |
Last incorrect PIN attempt date/time. |
Optional |
cards.cardCreationDate
|
DateTime |
Card issue date. |
Optional |
cards.cardBlockingDate
|
DateTime |
Card lock date/time. |
Optional |
cards.directDebitAccount
|
string |
Account used for auto-payments. |
Optional |
cards.cardholderMobilePhoneNumber
|
string |
Cardholder's phone number. |
Optional |
cards.accounts
|
Object |
List of accounts for the card. |
Mandatory |
accounts.number
|
string |
Account number. |
Mandatory |
accounts.currency
|
integer |
Account currency |
Optional |
accounts.currencyAlphaCode
|
string |
Account currency letter code. |
Mandatory |
accounts.balance
|
integer |
Account balance. |
Optional |
accounts.creditLimit
|
integer |
Credit limit. |
Mandatory |
accounts.customerId
|
string |
Client id. |
Optional |
accounts.defaultAccount
|
boolean |
Default account indicator. |
Response example
{
"cards": {
"card": [
{
"cardNumberMask": "400001******0004",
"expiryDate": 202512,
"cardId": 99,
"hotCardStatus": 0,
"cardTypeName": "EC/MC Virtual",
"embossedName": "TEST FOR_BO_TRANS1",
"customerId": 10022830,
"personId": 40000004,
"pinDenialCounter": 0,
"plasticNumber": 0,
"hotCardStatusDescription": "VALID CARD",
"cardIsPrimary": true,
"cardBindToCustomer": true,
"customerIsCardholder": false
},
{
"cardNumberMask": "400001******0008",
"expiryDate": 202512,
"hotCardStatus": 8,
"cardTypeName": "EC/MC Virtual",
"embossedName": "TEST FOR_BO_TRANS1",
"customerId": 10022830,
"personId": 40000008,
"pinDenialCounter": 0,
"plasticNumber": 0,
"hotCardStatusDescription": "CALL SECURITY, CAPTURE",
"cardIsPrimary": true,
"cardBindToCustomer": true,
"customerIsCardholder": false
},
{
"cardNumberMask": "400001******0017",
"expiryDate": 202512,
"hotCardStatus": 0,
"cardTypeName": "EC/MC Virtual",
"embossedName": "TEST FOR_BO_TRANS1",
"customerId": 10022830,
"personId": 40000017,
"pinDenialCounter": 0,
"plasticNumber": 0,
"hotCardStatusDescription": "VALID CARD",
"cardIsPrimary": true,
"cardBindToCustomer": true,
"customerIsCardholder": false
}
]
}
}
getGeoRestrictions
Get geo-restrictions list for a card. Only the rules that impose limitations for the card are returned.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Posible identification options: cardNumber or cardId . |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getGeoRestrictions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000001
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
regions |
Object |
Region list. |
Mandatory |
regions.id
|
integer |
Region id. |
Mandatory |
regions.description
|
string |
Description. |
Optional |
countries |
Object |
Country list. |
Mandatory |
countries.id
|
integer |
Country id. |
Mandatory |
countries.description
|
string |
Description. |
Mandatory |
transactionGroups |
Object |
Transaction group list. |
Mandatory |
transactionGroups.id
|
integer |
Group id |
Mandatory |
transactionGroups.description
|
string |
Description. |
Mandatory |
restrictions |
Object |
Restriction list. |
Mandatory |
restrictions.countryId
|
integer |
Country id. |
Mandatory |
restrictions.regionId
|
integer |
Region id. |
Mandatory |
restrictions.transactionGroupId
|
integer |
Transaction group id. |
Mandatory |
restrictions.status
|
string |
Restriction status. Possible values: [ENABLED, DISABLED] |
Optional |
restrictions.startDate
|
DateTime |
The date when restrictions come into effect. |
Optional |
restrictions.endDate
|
DateTime |
The date when restrictions are removed. |
Response example
{
"regions": {
"region": [
{
"id": 1,
"description": "NETHERLANDS"
},
{
"id": 2,
"description": "EUROPEAN UNION"
}
]
},
"countries": {
"country": [
{
"id": 978,
"description": "NETHERLANDS"
},
{
"id": 840,
"description": "UNITED STATES"
}
]
},
"transactionGroups": {
"transactionGroup": [
{
"id": 1,
"description": "Purchase Or Payments"
},
{
"id": 2,
"description": "Cash Withdrawal"
}
]
},
"restrictions": {
"restriction": [
{
"regionId": 1,
"transactionGroupId": 1,
"status": "DISABLED"
},
{
"countryId": 640,
"transactionGroupId": 1,
"status": "DISABLED",
"startDate": "2021-05-01T00:00:00+03:00",
"endDate": "2021-05-09T23:59:59+03:00"
}
]
}
}
getTransactionSchemeAdditions
Get additional transaction scheme rules.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: cardId . |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
templateSchemeId |
long |
Id for the scheme used as a template |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactionSchemeAdditions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": 1000
},
"templateSchemeId": 10
}'
Response parameters
Required |
Name |
Type |
Description |
Optional |
transactionSchemeAdditions |
Object |
Additional transaction scheme rules list. |
Mandatory |
transactionSchemeAdditions.id
|
long |
Rule id |
Mandatory |
transactionSchemeAdditions.domain
|
string |
Issuer institution id. |
Mandatory |
transactionSchemeAdditions.countryGroup
|
integer |
Country group id |
Mandatory |
transactionSchemeAdditions.mccGroup
|
integer |
MCC group id |
Mandatory |
transactionSchemeAdditions.transactionType
|
integer |
Transaction type: format |
Mandatory |
transactionSchemeAdditions.posDataCode
|
string |
POS data code value. |
Response example
{
"transactionSchemeAdditions": {
"addition": [
{
"id": 141,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 781,
"posDataCode": "************"
},
{
"id": 142,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 781,
"posDataCode": "************"
},
{
"id": 143,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 781,
"posDataCode": "************"
}
]
}
}
resetPinCounter
Reset incorrect PIN attempts counter.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. cardNumber or cardId are required. |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/resetPinCounter \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": 4142100007657181
},
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVisa. |
Response example
{
"responseCode": "00",
"processingCode": "890000",
"systemTraceAuditNumber": 452018,
"localTransactionDate": "2021-11-11T12:28:19",
"rrn": "000000224348",
"authorizationIdResponse": "224348"
}
setGeoRestrictions
Set geo-restrictions for the card. Only the rules that can be changed are returned.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Posible identification options: (cardNumber ) or (cardId ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
restrictions |
Object |
Restriction list. |
Mandatory |
restrictions.countryId
|
integer |
Country ID. |
Mandatory |
restrictions.regionId
|
integer |
Region id. |
Mandatory |
restrictions.transactionGroupId
|
integer |
Transaction group id. |
Mandatory |
restrictions.status
|
string |
Restriction status. Possible values: [ENABLED, DISABLED] |
Optional |
restrictions.startDate
|
DateTime |
The date when restrictions come into effect. |
Optional |
restrictions.endDate
|
DateTime |
The date when restrictions are removed. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setGeoRestrictions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber" : 4000010000000001
},
"restrictions": {
"restriction": [
{
"regionId": 5,
"transactionGroupId": 999,
"status": "DISABLED",
"startDate": "2021-05-01T00:00:00",
"endDate": "2021-05-09T23:59:59"
},
{
"regionId" : 11,
"transactionGroupId" : 3,
"status" : "DISABLED"
}
]
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
setTransactionSchemeAdditions
Set rules list for the additional transaction scheme.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: cardId . |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
transactionSchemeAdditions |
Object |
Additional transaction scheme rules list. |
Mandatory |
transactionSchemeAdditions.id
|
long |
Rule id |
Mandatory |
transactionSchemeAdditions.domain
|
string |
Issuer institution id. |
Mandatory |
transactionSchemeAdditions.countryGroup
|
integer |
Country group id |
Mandatory |
transactionSchemeAdditions.mccGroup
|
integer |
MCC group id |
Mandatory |
transactionSchemeAdditions.transactionType
|
integer |
Transaction type: format |
Mandatory |
transactionSchemeAdditions.posDataCode
|
string |
POS data code value. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setTransactionSchemeAdditions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": 1000
},
"transactionSchemeAdditions": {
"addition": [
{
"id": 141,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 793,
"posDataCode": "************"
},
{
"id": 142,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 781,
"posDataCode": "************"
},
{
"id": 143,
"domain": 9999,
"countryGroup": 9987,
"mccGroup": -1,
"transactionType": 781,
"posDataCode": "************"
}
]
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
topUp
Top up a card or an account.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/topUp \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"pan": "string",
"expiryMonth": "string",
"expiryYear": "string",
"cvc": "string",
"cardholderName": "string"
}'
Response example
{
"preAuthorization": false,
"cardIdentification": {
"encryptedCardNumber": [
"string"
],
"cardNumberMask": "string",
"cardLastDigitMask": "string",
"cardNumber": "string",
"cardId": "string",
"expDate": "string",
"plasticNumber": 0,
"phoneNumber": "string",
"cardholderId": "string",
"customerId": "string",
"customerNumber": "string",
"barCode": "string",
"cvv2": "string",
"externalCardId": "string",
"token": "string",
"cardTypeCode": "string",
"email": "string",
"institutionId": "string"
},
"amount": 0,
"currency": 0,
"accountType": "ACCOUNT_TYPE_DEFAULT",
"accountIndex": 0,
"accountNumber": "string",
"account2Type": "ACCOUNT_TYPE_DEFAULT",
"account2Index": 0,
"account2Number": "string",
"tds": {
"xid": "string",
"cavv": "string",
"ucaf": "string",
"authenticationIndicator": "NOT_PERFORMED"
},
"senderReceiverInfo": {
"senderName": "string",
"senderAddress": "string",
"senderCity": "string",
"senderCountry": "string",
"senderPostalCode": "string",
"receiverName": "string"
},
"pointOfServiceDataCode": "string",
"pointOfServiceConditionCode": "string",
"fee": {
"feeAmount": 0,
"feeCurrency": 0
},
"cardAcceptorParameters": {
"terminalIdentification": "string",
"merchantIdentification": "string",
"merchantType": "string",
"nameAndLocation": "string"
},
"securityLevelIndicator": "string",
"fundingSource": 0,
"externalTransactionId": "string",
"originalTransactionParameters": {
"systemTraceAuditNumber": 0,
"localTransactionDate": "2021-10-29T11:57:14.481Z",
"rrn": "string"
},
"posCardholderPresence": 0,
"uniqueReferenceNumber": "string",
"otp": "string",
"serviceId": "string",
"paymentSpecificData": {
"f57": "string",
"f58": "string",
"f59": "string",
"f60": "string",
"f61": "string",
"f62": "string",
"f63": "string",
"f64": "string",
"f65": "string",
"f66": "string",
"f67": "string",
"f68": "string",
"f69": "string",
"f70": "string",
"f71": "string",
"f72": "string",
"f73": "string"
},
"transactionComment": "string",
"additionalAmounts": [
{
"accountType": "ACCOUNT_TYPE_DEFAULT",
"amountType": "string",
"currency": 0,
"amount": 0
}
]
}
validateCard
Unlock card.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId" : 100000000873
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code in SmartVista. |
Response example
{
"responseCode": "00",
"processingCode": "980000",
"systemTraceAuditNumber": 320252,
"localTransactionDate": "2024-02-08T15:06:53"
}
Transactions
creditCard
Deposit funds to the card.
Request parameters
Required |
Name |
Type |
Description |
Optional |
preAuthorization |
boolean |
Pre-authorization flag. |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
amount |
integer |
Amount. |
Mandatory |
currency |
integer |
Currency. ISO 4217 numeric currency code. Use '978' for the Sandbox. |
Optional |
tds |
Object |
3DS transaction parameters. |
Optional |
tds.xid
|
string |
VISA 3DS transaction id. Not for the Sandbox. |
Optional |
tds.cavv
|
string |
VISA authentication check value. Not for the Sandbox. |
Optional |
tds.ucaf
|
string |
Mastercard universal authentification field. Not for the Sandbox. |
Optional |
tds.authenticationIndicator
|
string |
E-commerce transaction authentification type. Possible values: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Not for the Sandbox. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/creditCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4140050021658271,
"expDate" : 202512
},
"amount" : 10000,
"currency" : 978,
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
SVFE operation completion code. '00' is for success. |
Mandatory |
processingCode |
string |
processing code. |
Mandatory |
systemTraceAuditNumber |
integer |
Audit record number |
Mandatory |
localTransactionDate |
DateTime |
Transaction date. format: date-time |
Mandatory |
rrn |
string |
External id RNN. |
Optional |
authorizationIdResponse |
string |
Authorization id. |
Optional |
uniqueReferenceNumber |
string |
Unique reference number for the operation. |
Optional |
otp |
string |
One-time password. Not for the Sandbox. |
Optional |
acquirerFeeAmount |
string |
Acquirer fee amount. Not for the Sandbox. |
Optional |
issuerFeeAmount |
string |
Issuer fee amount. Not for the Sandbox. |
Optional |
paymentSpecificData |
Object |
Payment specific data. |
Response example
{
"responseCode": "00",
"processingCode": "270000",
"systemTraceAuditNumber": 620399,
"localTransactionDate": "2021-09-23T14:39:15",
"rrn": "000000154798",
"authorizationIdResponse": "154798",
"paymentSpecificData": {}
}
debitCard
Withdraw funds from the card.
Request parameters
Required |
Name |
Type |
Description |
Optional |
preAuthorization |
boolean |
Pre-authorization flag. |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
amount |
integer |
Amount. |
Mandatory |
currency |
integer |
Currency |
Optional |
fee |
Object |
Acquirer fee parameters. |
Mandatory |
fee.feeType
|
string |
Fee type. |
Mandatory |
fee.feeValue
|
number |
Fee value. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Optional |
tds |
Object |
3DS transaction parameters. |
Optional |
tds.xid
|
string |
VISA 3DS transaction id. |
Optional |
tds.cavv
|
string |
VISA authentication check value. |
Optional |
tds.ucaf
|
string |
Mastercard universal authentification field. |
Optional |
tds.authenticationIndicator
|
string |
E-commerce transaction authentification type. Possible values: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH] |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/debitCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber" : 4000010000000003
},
"amount" : 100000,
"currency" : 978,
"fee" : {
"feeAmount" : 1000
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
SVFE operation completion code. |
Mandatory |
processingCode |
string |
processing code. |
Mandatory |
systemTraceAuditNumber |
integer |
Audit record number |
Mandatory |
localTransactionDate |
DateTime |
Transaction date. format: date-time |
Mandatory |
rrn |
string |
External id RNN. |
Optional |
authorizationIdResponse |
string |
Authorization id. |
Optional |
uniqueReferenceNumber |
string |
Unique reference number for the operation. |
Optional |
otp |
string |
One-time password. |
Optional |
acquirerFeeAmount |
string |
Acquirer fee amount. |
Optional |
issuerFeeAmount |
string |
Issuer fee amount. |
Optional |
paymentSpecificData |
Object |
Payment specific data. |
Optional |
paymentSpecificData.f57
|
string |
Specific field 57. |
Optional |
paymentSpecificData.f58
|
string |
Specific field 58. |
Optional |
paymentSpecificData.f59
|
string |
Specific field 59. |
Optional |
paymentSpecificData.f60
|
string |
Specific field 60. |
Optional |
paymentSpecificData.f61
|
string |
Specific field 61. |
Optional |
paymentSpecificData.f62
|
string |
Specific field 62. |
Optional |
paymentSpecificData.f63
|
string |
Specific field 63. |
Optional |
paymentSpecificData.f64
|
string |
Specific field 64. |
Optional |
paymentSpecificData.f65
|
string |
Specific field 65. |
Optional |
paymentSpecificData.f66
|
string |
Specific field 66. |
Optional |
paymentSpecificData.f67
|
string |
Specific field 67. |
Optional |
paymentSpecificData.f68
|
string |
Specific field 68. |
Optional |
paymentSpecificData.f69
|
string |
Specific field 69. |
Optional |
paymentSpecificData.f70
|
string |
Specific field 70. |
Optional |
paymentSpecificData.f71
|
string |
Specific field 71. |
Optional |
paymentSpecificData.f72
|
string |
Specific field 72. |
Optional |
paymentSpecificData.f73
|
string |
Specific field 73. |
Response example
{
"systemTraceAuditNumber" : 51106,
"paymentSpecificData" : {
"f61" : "f61",
"f72" : "f72",
"f60" : "f60",
"f71" : "f71",
"f63" : "f63",
"f62" : "f62",
"f73" : "f73",
"f65" : "f65",
"f64" : "f64",
"f67" : "f67",
"f66" : "f66",
"f58" : "f58",
"f69" : "f69",
"f57" : "f57",
"f68" : "f68",
"f59" : "f59",
"f70" : "f70"
},
"acquirerFeeAmount" : "acquirerFeeAmount",
"processingCode" : 170000,
"issuerFeeAmount" : "issuerFeeAmount",
"localTransactionDate" : "2000-01-23T04:56:07.000+00:00",
"otp" : "otp",
"authorizationIdResponse" : "123ABC",
"responseCode" : 00,
"rrn" : 987654321987,
"uniqueReferenceNumber" : "uniqueReferenceNumber"
}
getOrderDetails
Get payment order detailed information.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
orderId |
long |
Payment order id |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getOrderDetails \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"orderId": 2343
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
transactionList |
Object |
Transaction list. |
Mandatory |
transactionList.merchantId
|
string |
Merchant id. |
Mandatory |
transactionList.terminalId
|
string |
Terminal id. |
Mandatory |
transactionList.transactionDate
|
DateTime |
Transaction date/time. |
Optional |
transactionList.cardNumber
|
string |
Card number. |
Optional |
transactionList.transactionAmount
|
integer |
Transaction amount. |
Optional |
transactionList.transactionCurrency
|
integer |
Transaction currency code |
Optional |
transactionList.submittedAmount
|
integer |
Requested amount. |
Optional |
transactionList.submittedCurrency
|
integer |
Requested currency |
Optional |
transactionList.authorizationCode
|
string |
Authorization code. |
Optional |
transactionList.cashbackAmount
|
integer |
Cashback amount. |
Optional |
transactionList.transactionType
|
string |
Transaction type. |
Optional |
transactionList.networkType
|
string |
Network type. |
Optional |
transactionList.cardType
|
string |
Card type. |
Optional |
transactionList.orderNumber
|
string |
Payment order number. |
Response example
{
"transactionList" : [ {
"terminalId" : "00999201",
"transactionDate" : "2000-01-23T04:56:07.000+00:00",
"merchantId" : "M000001",
} ]
}
getPaymentOrders
Get payment orders list.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
merchantNumber |
string |
Merchant number. |
Mandatory |
institutionId |
string |
Internal institution id. |
Mandatory |
period |
Object |
Time span. |
Optional |
period.start
|
DateTime |
Start date. |
Optional |
period.end
|
DateTime |
End date. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getPaymentOrders \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantNumber" : "M000001",
"institutionId": "3012",
"period": {
"start": "2020-04-20",
"end": "2020-04-30"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
orderList |
Object |
Payment orders list. |
Mandatory |
orderList.id
|
long |
Payment order id |
Optional |
orderList.eventDate
|
DateTime |
Event date. |
Optional |
orderList.purpose
|
string |
Purpose. |
Optional |
orderList.currency
|
integer |
Currency code |
Optional |
orderList.amount
|
integer |
Amount. |
Optional |
orderList.status
|
string |
Date of the last status update. |
Optional |
orderList.orderNumber
|
string |
Payment order number. |
Response example
{
"orderList" : [ {
"amount" : 1,
"orderNumber" : "2344552",
"id" : 3,
"eventDate" : "2020-04-30",
} ]
}
getTokenList
Get token list.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number. If not passed, all plastic cards of the card will be returned. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/payment/apigate/ws/rest/getTokenList \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber": 4000010000000001
}
}'
Response parameters
Required |
Name |
Type |
Description |
Optional |
tokenList |
Object |
|
Mandatory |
tokenList.tokenValue
|
string |
Token value. |
Optional |
tokenList.plasticNumber
|
integer |
Plastic number |
Optional |
tokenList.expiryDate
|
string |
Expiration date. |
Mandatory |
tokenList.active
|
boolean |
Token activity flag. |
Optional |
tokenList.seid
|
string |
Application id. |
Optional |
tokenList.payId
|
string |
Id assigned by service provider. |
Response example
{
"tokenList": {
"token": [
{
"tokenValue": 4795780171000290,
"plasticNumber": 0,
"expiryDate": 2012,
"active": true,
"seid": "1234567890ABCDEFGHIJ1234567890ABCDEFGHIJ00000000",
"payId": 103
},
{
"tokenValue": 4795780171111290,
"plasticNumber": 1,
"expiryDate": 2212,
"active": true,
"seid": "1234567890ABCDEFGHIJ1234567890ABCDEFGHIJ00000000"
}
]
}
}
getTransactions
Get transactions history for the specific card.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
cardIdentification |
Object |
Card identification parameters. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
cardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
cardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
cardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
cardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
cardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
cardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
period |
Object |
Time span. |
Optional |
period.start
|
DateTime |
Start date. YYYY-MM-DD format. |
Optional |
period.end
|
DateTime |
End date. YYYY-MM-DD format. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": 100000000873
},
"period": {
"start": "2020-04-01",
"end": "2020-05-01"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
transactions |
Object |
Transactions. |
Optional |
transactions.boWriteOffDate
|
DateTime |
SVBO write-off time and date. Not for the Sandbox. |
Mandatory |
transactions.authorizationDate
|
DateTime |
Authorization date/time. |
Mandatory |
transactions.transactionType
|
string |
Transaction type. |
Mandatory |
transactions.operationDirection
|
string |
Transaction direction. Possible values: [CREDIT, DEBIT, NOOP] |
Mandatory |
transactions.amount
|
integer |
Transaction amount. |
Mandatory |
transactions.currency
|
integer |
Currency. |
Mandatory |
transactions.amountInAccountCurrency
|
integer |
Transaction amount in account currency. |
Mandatory |
transactions.utrnno
|
long |
Transaction id in SVFE (SmartVista internal ID). |
Optional |
transactions.boUtrnno
|
long |
Transaction ID in SVBO. (SmartVista internal ID). |
Optional |
transactions.transactionDescription
|
string |
Transaction description. |
Optional |
transactions.feeDirection
|
string |
Fee direction. Possible values: [CREDIT, DEBIT, NOOP] |
Optional |
transactions.acquireFeeAmount
|
integer |
Acquirer fee amount. |
Optional |
transactions.feIssuerFeeAmount
|
integer |
Issuer online fee amount. |
Optional |
transactions.boIssuerFeeAmount
|
integer |
Issuer offline fee amount. |
Optional |
transactions.mcc
|
long |
MCC. |
Optional |
transactions.merchantCountry
|
string |
Merchant country. |
Optional |
transactions.merchantCity
|
string |
Merchant city. |
Optional |
transactions.merchantName
|
string |
Merchant name. |
Optional |
transactions.merchantId
|
string |
Merchant id. |
Optional |
transactions.terminalAddress
|
string |
Terminal address. |
Optional |
transactions.posDataCode
|
string |
POS data code. |
Optional |
transactions.authorizationIdResponse
|
string |
Authorization id. |
Optional |
transactions.reversalDate
|
DateTime |
Reversal date/time. |
Optional |
transactions.reversal
|
boolean |
Reversal flag. |
Optional |
transactions.requestAmount
|
integer |
Requested amount for the transaction. |
Optional |
transactions.terminalId
|
string |
Terminal id. |
Optional |
transactions.payId
|
string |
ID assigned by service provider. |
Response example
{
"transactions": [
{
"authorizationDate": "2021-09-23T14:35:24",
"transactionType": "578",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154793,
"transactionDescription": "Change limit",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:37:36",
"transactionType": "493",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154796,
"transactionDescription": "Card blocking",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154796",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:38:26",
"transactionType": "672",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154797,
"transactionDescription": "Card status change",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154797",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:39:15",
"transactionType": "760",
"operationDirection": "CREDIT",
"amount": 10000,
"currency": 978,
"amountInAccountCurrency": 10000,
"utrnno": 154798,
"transactionDescription": "Credit account presentment",
"feeDirection": "CREDIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154798",
"reversal": false,
"requestAmount": 10000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:40:05",
"transactionType": "781",
"operationDirection": "DEBIT",
"amount": 1000,
"currency": 978,
"amountInAccountCurrency": 1000,
"utrnno": 154800,
"transactionDescription": "P2P Debit part",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154800",
"reversal": false,
"requestAmount": 1000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:40:05",
"transactionType": "689",
"operationDirection": "NOOP",
"amount": 1000,
"currency": 978,
"amountInAccountCurrency": 1000,
"utrnno": 154799,
"transactionDescription": "Card-to-Card money transfer",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154801",
"reversal": false,
"requestAmount": 1000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
}
]
}
getTransactionDetails
Get transaction details.
Request parameters
Required |
Name |
Type |
Description |
Mandatory |
utrnno |
long |
Transaction id in SVFE |
Optional |
reversal |
boolean |
Reversal flag. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactionDetails \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"utrnno": 2203248,
"reversal": true
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
transaction |
Object |
Transaction parameters. |
Optional |
transaction.boWriteOffDate
|
DateTime |
SVBO write-off time and date. |
Mandatory |
transaction.authorizationDate
|
DateTime |
Authorization date/time. |
Mandatory |
transaction.transactionType
|
string |
Transaction type. |
Mandatory |
transaction.operationDirection
|
string |
Transaction direction. Possible values: [CREDIT, DEBIT, NOOP] |
Mandatory |
transaction.amount
|
integer |
Transaction amount. |
Mandatory |
transaction.currency
|
integer |
Operation currency |
Mandatory |
transaction.amountInAccountCurrency
|
integer |
Transaction amount in account currency. |
Mandatory |
transaction.utrnno
|
long |
Transaction id in SVFE |
Optional |
transaction.boUtrnno
|
long |
Transaction ID in SVBO. |
Optional |
transaction.transactionDescription
|
string |
Transaction description. |
Optional |
transaction.feeDirection
|
string |
Fee direction. Possible values: [CREDIT, DEBIT, NOOP] |
Optional |
transaction.acquireFeeAmount
|
integer |
Acquirer fee amount, calculated for SVFE operation. |
Optional |
transaction.feIssuerFeeAmount
|
integer |
Issuer fee amount, calculated for SVFE operation. |
Optional |
transaction.boIssuerFeeAmount
|
integer |
Issuer fee amount, calculated for SVBO operation. |
Optional |
transaction.mcc
|
long |
MCC. |
Optional |
transaction.merchantCountry
|
string |
Merchant country. |
Optional |
transaction.merchantCity
|
string |
Merchant city. |
Optional |
transaction.merchantName
|
string |
Merchant name. |
Optional |
transaction.merchantId
|
string |
Merchant id. |
Optional |
transaction.terminalAddress
|
string |
Terminal address. |
Optional |
transaction.posDataCode
|
string |
POS data code. |
Optional |
transaction.authorizationIdResponse
|
string |
Authorization id. |
Optional |
transaction.reversalDate
|
DateTime |
Reversal date/time. |
Optional |
transaction.reversal
|
boolean |
Reversal flag. |
Optional |
transaction.requestAmount
|
integer |
Requested amount for the transaction. |
Optional |
transaction.terminalId
|
string |
Terminal id. |
Optional |
transaction.payId
|
string |
ID assigned by service provider. |
Response example
{
"transaction": {
"authorizationDate": "2015-04-09T11:15:35+04:00",
"transactionType": 774,
"operationDirection": "debit",
"amount": 10000,
"currency": 978,
"amountInAccountCurrency": 0,
"utrnno": 2203248,
"transactionDescription": "POS purchase",
"feeDirection": "debit",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 5999,
"merchantCountry": "NLD",
"merchantCity": "NETHERLANDS1234512345123451234512345",
"merchantName": "PREDPRINIMATEL",
"merchantId": "M999101",
"terminalAddress": "MERCHANT2 NLD NETHERLANDS ELANDSGRACHT 50/A",
"authorizationIdResponse": 0,
"requestAmount": 10,
"terminalId": 1
}
}
getTransactionCurrencies
Get transaction currencies.
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactionCurrencies \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardId" : "1000"
}
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
transaction.currency
|
integer |
Currency code |
Response example
{
"currencies": [
978
]
}
p2pCredit
p2pCredit. The method also allows getting the transaction status. To check status, send a request identical to the original request but add the originalTransactionParameters
element with values received in response to original request.
Request parameters
Required |
Name |
Type |
Description |
Optional |
cardIdentification |
Object |
Card identification parameters. Possible identification options: (cardNumber ) or (cardId ) or (barCode ) or (cardNumberMask and cardholderId ) or (cardNumberMask and phoneNumber ). |
Mandatory |
cardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. |
Mandatory |
cardIdentification.cardNumberMask
|
string |
Masked card number. |
Mandatory |
cardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. |
Mandatory |
cardIdentification.cardNumber
|
string |
Card number. |
Optional |
cardIdentification.cardId
|
string |
Card id. |
Optional |
cardIdentification.expDate
|
string |
Card expiration date. |
Optional |
cardIdentification.plasticNumber
|
integer |
Plastic number |
Optional |
cardIdentification.phoneNumber
|
string |
Client phone number. |
Optional |
cardIdentification.cardholderId
|
string |
Cardholder id. |
Optional |
cardIdentification.customerId
|
string |
Client id. |
Optional |
cardIdentification.customerNumber
|
string |
Client number in SVB02. |
Optional |
cardIdentification.barCode
|
string |
Bar code. |
Optional |
cardIdentification.cvv2
|
string |
CVV2. |
Optional |
cardIdentification.externalCardId
|
string |
Card id in the bank's external system. |
Optional |
cardIdentification.token
|
string |
Token. |
Optional |
cardIdentification.cardTypeCode
|
string |
Card type code. |
Optional |
cardIdentification.email
|
string |
E-mail. |
Optional |
cardIdentification.institutionId
|
string |
Internal institution id. |
Mandatory |
amount |
integer |
Amount. |
Mandatory |
currency |
integer |
Currency |
Optional |
accountNumber |
string |
Account number. |
Optional |
tds |
Object |
3DS transaction parameters. |
Optional |
tds.xid
|
string |
VISA 3DS transaction id. |
Optional |
tds.cavv
|
string |
VISA authentication check value. |
Optional |
tds.ucaf
|
string |
Mastercard universal authentification field. |
Optional |
tds.authenticationIndicator
|
string |
E-commerce transaction authentification type. Possible values: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH] |
Optional |
senderReceiverInfo |
Object |
Information about the sender and recipient of the payment. |
Optional |
senderReceiverInfo.senderName
|
string |
Sender name in 'Lastname, Firstname' fromat. |
Optional |
senderReceiverInfo.senderAddress
|
string |
Sender address. |
Optional |
senderReceiverInfo.senderCity
|
string |
Sender city. |
Optional |
senderReceiverInfo.senderCountry
|
string |
Sender country code. |
Optional |
senderReceiverInfo.senderPostalCode
|
string |
Sender postcode. |
Optional |
senderReceiverInfo.receiverName
|
string |
Recipient name in 'Lastname, Firstname' fromat. |
Optional |
pointOfServiceDataCode |
string |
A set of codes that determine the capabilities of the terminal, the parameters of its environment and the use of security tools during a transaction. |
Optional |
pointOfServiceConditionCode |
string |
A code that defines the conditions for conducting a transaction at a service point. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. |
Mandatory |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. |
Mandatory |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. |
Mandatory |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. |
Optional |
securityLevelIndicator |
string |
Security level indicator. |
Optional |
debitedCardNumber |
string |
Number of a card being debited. |
Optional |
externalRRN |
string |
Debit transaction RNN. |
Optional |
originalTransactionParameters |
Object |
Initial transaction parameters. Must be included in transaction status check request. |
Mandatory |
originalTransactionParameters.systemTraceAuditNumber
|
integer |
Audit record number |
Mandatory |
originalTransactionParameters.localTransactionDate
|
DateTime |
Transaction date. format: date-time |
Mandatory |
originalTransactionParameters.rrn
|
string |
External id RNN. |
Optional |
posCardholderPresence |
integer |
Cardholder presense at a service point type |
Optional |
businessApplicationIdentifier |
string |
Business application id. |
Optional |
mcTransactionTypeIndicator |
string |
MC transaction type id. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/payment/apigate/ws/rest/p2PCredit \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": 4000010000000003,
"expDate": 202012
},
"amount": 10000,
"currency": 978,
"tds": {
"xid": "F6657773EF51322AB339823A59412D4D2F535D52",
"cavv": 1.018951e+34,
"authenticationIndicator": "TDS_PERFORMED"
},
"senderReceiverInfo": {
"senderName": "IVANOV, IVAN",
"receiverName": "PETROV, PETR"
},
"pointOfServiceDataCode": 1
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
SVFE operation completion code. |
Mandatory |
processingCode |
string |
processing code. |
Mandatory |
systemTraceAuditNumber |
integer |
Audit record number |
Mandatory |
localTransactionDate |
DateTime |
Transaction date. format: date-time |
Mandatory |
rrn |
string |
External id RNN. |
Optional |
authorizationIdResponse |
string |
Authorization id. |
Optional |
uniqueReferenceNumber |
string |
Unique reference number for the operation. |
Optional |
otp |
string |
One-time password. |
Optional |
acquirerFeeAmount |
string |
Acquirer fee amount. |
Optional |
issuerFeeAmount |
string |
Issuer fee amount. |
Optional |
paymentSpecificData |
Object |
Payment specific data. |
Optional |
paymentSpecificData.f57
|
string |
Specific field 57. |
Optional |
paymentSpecificData.f58
|
string |
Specific field 58. |
Optional |
paymentSpecificData.f59
|
string |
Specific field 59. |
Optional |
paymentSpecificData.f60
|
string |
Specific field 60. |
Optional |
paymentSpecificData.f61
|
string |
Specific field 61. |
Optional |
paymentSpecificData.f62
|
string |
Specific field 62. |
Optional |
paymentSpecificData.f63
|
string |
Specific field 63. |
Optional |
paymentSpecificData.f64
|
string |
Specific field 64. |
Optional |
paymentSpecificData.f65
|
string |
Specific field 65. |
Optional |
paymentSpecificData.f66
|
string |
Specific field 66. |
Optional |
paymentSpecificData.f67
|
string |
Specific field 67. |
Optional |
paymentSpecificData.f68
|
string |
Specific field 68. |
Optional |
paymentSpecificData.f69
|
string |
Specific field 69. |
Optional |
paymentSpecificData.f70
|
string |
Specific field 70. |
Optional |
paymentSpecificData.f71
|
string |
Specific field 71. |
Optional |
paymentSpecificData.f72
|
string |
Specific field 72. |
Optional |
paymentSpecificData.f73
|
string |
Specific field 73. |
Response example
{
"responseCode": 0,
"processingCode": 220000,
"systemTraceAuditNumber": 149554,
"localTransactionDate": "2017-07-04T10:51:15+04:00",
"rrn": 987654321987,
"authorizationIdResponse": 123456
}
p2pTransfer
p2pTransfer from a card to a card.
Request parameters
Required |
Name |
Type |
Description |
Optional |
preAuthorization |
boolean |
Pre-authorization flag. |
Mandatory |
sourceCardIdentification |
Object |
Card identification parameters for the source card. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
sourceCardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Mandatory |
sourceCardIdentification.expDate
|
string |
Card expiration date. YYYYMM format. |
Optional |
sourceCardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
sourceCardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
sourceCardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
sourceCardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
sourceCardIdentification.plasticNumber
|
integer |
Plastic number. Not for the Sandbox. |
Optional |
sourceCardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
sourceCardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
sourceCardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
sourceCardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
sourceCardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
sourceCardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
sourceCardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
sourceCardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
sourceCardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
sourceCardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
sourceCardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
destinationCardIdentification |
Object |
Identification parameters for the card being credited. For bit of details on other card identification options which can be used in the real project and not in this Sandbox - please check the createVirtualCard description. |
Mandatory |
destinationCardIdentification.cardNumber
|
string |
Card number. You will get it in CreateVirtualCard() response. |
Optional |
destinationCardIdentification.encryptedCardNumber
|
ByteArray |
Encrypted card number. Not for the Sandbox. |
Optional |
destinationCardIdentification.cardNumberMask
|
string |
Masked card number. Not for the Sandbox. |
Optional |
destinationCardIdentification.cardLastDigitMask
|
string |
Last digits of the card number. Not for the Sandbox. |
Optional |
destinationCardIdentification.cardId
|
string |
Card id. Not for the Sandbox. |
Optional |
destinationCardIdentification.expDate
|
string |
Card expiration date. Not for the Sandbox. |
Optional |
destinationCardIdentification.plasticNumber
|
integer |
Plastic number Not for the Sandbox. |
Optional |
destinationCardIdentification.phoneNumber
|
string |
Client phone number. Not for the Sandbox. |
Optional |
destinationCardIdentification.cardholderId
|
string |
Cardholder id. Not for the Sandbox. |
Optional |
destinationCardIdentification.customerId
|
string |
Client id. Not for the Sandbox. |
Optional |
destinationCardIdentification.customerNumber
|
string |
Client number in SVB02. Not for the Sandbox. |
Optional |
destinationCardIdentification.barCode
|
string |
Bar code. Not for the Sandbox. |
Optional |
destinationCardIdentification.cvv2
|
string |
CVV2. Not for the Sandbox. |
Optional |
destinationCardIdentification.externalCardId
|
string |
Card id in the bank's external system. Not for the Sandbox. |
Optional |
destinationCardIdentification.token
|
string |
Token. Not for the Sandbox. |
Optional |
destinationCardIdentification.cardTypeCode
|
string |
Card type code. Not for the Sandbox. |
Optional |
destinationCardIdentification.email
|
string |
E-mail. Not for the Sandbox. |
Optional |
destinationCardIdentification.institutionId
|
string |
Internal institution id. Not for the Sandbox. |
Mandatory |
amount |
integer |
Amount. |
Mandatory |
currency |
integer |
Currency. ISO 4217 numeric currency code. Use '978' for the Sandbox. |
Optional |
sourceAccountNumber |
string |
Card number for the card being debited. Not for the Sandbox. |
Optional |
destinationAccountNumber |
string |
Card number for the card being credited. Not for the Sandbox. |
Optional |
tds |
Object |
3DS transaction parameters. Not for the Sandbox. |
Optional |
tds.xid
|
string |
VISA 3DS transaction id. Not for the Sandbox. |
Optional |
tds.cavv
|
string |
VISA authentication check value. Not for the Sandbox. |
Optional |
tds.ucaf
|
string |
Mastercard universal authentification field. Not for the Sandbox. |
Optional |
tds.authenticationIndicator
|
string |
E-commerce transaction authentification type. Possible values: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Not for the Sandbox. |
Mandatory |
senderReceiverInfo |
Object |
Information about the sender and recipient of the payment. Not for the Sandbox. |
Mandatory |
senderReceiverInfo.senderName
|
string |
Sender name in 'Lastname, Firstname' format. |
Mandatory |
senderReceiverInfo.senderAddress
|
string |
Sender address. |
Optional |
senderReceiverInfo.senderCity
|
string |
Sender city. Not for the Sandbox. |
Optional |
senderReceiverInfo.senderCountry
|
string |
Sender country code. Not for the Sandbox. |
Optional |
senderReceiverInfo.senderPostalCode
|
string |
Sender postcode. Not for the Sandbox. |
Optional |
senderReceiverInfo.receiverName
|
string |
Recipient name in 'Lastname, Firstname' format. Not for the Sandbox. |
Optional |
pointOfServiceDataCode |
string |
A set of codes that determine the capabilities of the terminal, the parameters of its environment and the use of security tools during a transaction. Not for the Sandbox. |
Mandatory |
pointOfServiceConditionCode |
string |
A code that defines the conditions for conducting a transaction at a service point. Any text. |
Optional |
cardAcceptorParameters |
Object |
Terminal parameters. Not for the Sandbox. |
Optional |
cardAcceptorParameters.terminalIdentification
|
string |
Terminal id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantIdentification
|
string |
Merchant id. Not for the Sandbox. |
Optional |
cardAcceptorParameters.merchantType
|
string |
Merchant category code. Not for the Sandbox. |
Optional |
cardAcceptorParameters.nameAndLocation
|
string |
Terminal location address. Not for the Sandbox. |
Optional |
securityLevelIndicator |
string |
Security level indicator. Not for the Sandbox. |
Optional |
originalTransactionParameters |
Object |
Initial transaction parameters. Must be included in transaction status check request. Not for the Sandbox. |
Optional |
originalTransactionParameters.systemTraceAuditNumber
|
integer |
Audit record number. Not for the Sandbox. |
Optional |
originalTransactionParameters.localTransactionDate
|
DateTime |
Transaction date. Not for the Sandbox. |
Optional |
originalTransactionParameters.rrn
|
string |
External id RNN. Not for the Sandbox. |
Optional |
posCardholderPresence |
integer |
Cardholder presense at a service point type. Not for the Sandbox. |
Optional |
businessApplicationIdentifier |
string |
MC transaction type id. Not for the Sandbox. |
Request example
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/p2PTransfer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": 4140050021658271,
"expDate": 202512
},
"amount": 10000,
"currency": 978,
"senderReceiverInfo": {
"senderName": "Tor, John",
"senderAddress": "New York, USA"
},
"pointOfServiceDataCode": 810
}'
Response parameters
Required |
Name |
Type |
Description |
Mandatory |
responseCode |
string |
Operation completion code. 00' is for success. |
Mandatory |
processingCode |
string |
processing code. |
Mandatory |
systemTraceAuditNumber |
integer |
Audit record number |
Mandatory |
localTransactionDate |
DateTime |
Transaction date. format: date-time |
Mandatory |
rrn |
string |
External id RNN. |
Optional |
authorizationIdResponse |
string |
Authorization id. |
Optional |
paymentSpecificData |
Object |
Payment specific data. |
Response example
{
"responseCode": "00",
"processingCode": "490000",
"systemTraceAuditNumber": 620400,
"localTransactionDate": "2021-09-23T14:40:05",
"rrn": "000000154799",
"authorizationIdResponse": "154801",
"paymentSpecificData": {}
}
Categories:
Banking
API V1