For any question, we are one click away

Contact us

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

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

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:

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

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

{
  "result" : true
}

Accounts

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

{
  "responseCode" : 00
}

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

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

getAccountData

Get account details.

Request parameters

Required Name Type Description
Mandatory accountNumber string Account number.
Optional returnCardNumber boolean Shows whether or not it is necessary to include full card number in response.

Response parameters

Required Name Type Description
Mandatory accountData Object Account parameters.
Mandatory accountData.number string Account number.
Mandatory accountData.currency integer Account currency.
Optional accountData.currencyAlphaCode string Account currency letter code.
Mandatory accountData.balance integer Account balance.
Optional accountData.creditLimit integer Credit limit.
Mandatory accountData.customerId string Client id.
Optional accountData.defaultAccount boolean Default account indicator.
Mandatory accountData.cards Object Card list for the account.
Optional cards.cardType string Card type.
Optional cards.cardNumber string Card number.
Optional cards.expiryDate string Card expiration date.
Optional cards.cardStatus string Card status.
Optional cards.accountNumber string Account number.
Optional cards.accountStatus string Account status.
Optional cards.gmfIndicator string Exempt GMF account indicator.
Optional cards.productNumber string Product number.
Mandatory cards.productId string Product id.

Request example

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getAccountData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber" : 3210978700000000579
}'

Response example

{
    "accountData": {
        "number": "3210978700000000579",
        "currency": 978,
        "currencyAlphaCode": "EUR",
        "balance": 0,
        "customerId": "3210_P004",
        "cards": [
            {
                "cardNumberMask": "414210******8086",
                "expiryDate": "202512",
                "cardId": "100000003347",
                "hotCardStatus": 0,
                "cardTypeName": "VISA - PLUS",
                "embossedName": "GENERAL POOL",
                "customerId": "3210_P004",
                "personId": "3210P_0000001",
                "pinDenialCounter": 0,
                "plasticNumber": 1,
                "hotCardStatusDescription": "VALID CARD",
                "cardIsPrimary": false,
                "cardBindToCustomer": false,
                "customerIsCardholder": false
            }
        ]
    }
}

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

{
  "responseCode": "00"
}

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

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

{
  "responseCode": "00"
}

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

{
  "mccList": [
    1750
  ]
}

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

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

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

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

{ }

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

{
  "responseCode" : 00
}

Cards & Wallets

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

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

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

{
  "responseCode" : 00
}

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": []
            }
        ]
    }

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

{
  "responseCode" : 00
}

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

{
  "responseCode" : 00
}

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

{
  "responseCode" : 00
}

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
}

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

{
  "responseCode" : 00
}

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

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

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

{
  "responseCode" : 00
}

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

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

{
  "hotCardStatus" : 0
}

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

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.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 ByteArray 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" : {
    "cardId" : 100000000873
  }
}'

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.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.
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. Always true for the Sandbox.

Response example

    {
        "cardData": {
            "cardNumber": "4140050021658271",
            "expiryDate": "202512",
            "cardId": "100000000873",
            "hotCardStatus": 0,
            "cardTypeName": "VISA - PLUS",
            "embossedName": "GENERAL POOL",
            "customerId": "3006P_0000003",
            "personId": "3006P_0000002",
            "pinDenialCounter": 0,
            "plasticNumber": 1,
            "hotCardStatusDescription": "VALID CARD",
            "cardIsPrimary": false,
            "cardBindToCustomer": false,
            "customerIsCardholder": false,
            "accounts": [
                {
                    "number": "3006978700000000108",
                    "accountType": 1,
                    "currency": 978,
                    "currencyAlphaCode": "EUR",
                    "balance": 0,
                    "creditLimit": 0,
                    "customerId": "3006P_0000003",
                    "defaultAccount": true
                }
            ],
            "customParameters": []
        }
    }

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

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

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": "************"
            }
          ]
        }
    }

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

{
  "responseCode" : 00
}

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

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

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

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

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

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

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
  ]
}
Categories:
Banking API V1
Categories
Search results