Pour toute question, nous sommes à un clic

Poser une question

Commencer

Environnement de test

Utilisez l'environnement de test pour essayer l'API. Vous pouvez télécharger la collection de requêtes API Postman pour tester certaines fonctionnalités de base de gestion des cartes dans le package SmartVista.

Télécharger la collection Postman
Commencez à travailler avec Sandbox
Suivez le lien et cliquez sur "Se connecter" pour créer un compte dans Sandbox :
/cabinet/
Vous obtiendrez l'accès à toutes les API et au Cabinet Personnel.
icon

Caractéristiques générales

Toutes les méthodes fonctionnent via HTTP POST.

Content-Type: application/json tant pour les requêtes que pour les réponses.

Authentification

L'authentification de base d'accès est une méthode par laquelle un utilisateur HTTP peut fournir un nom d'utilisateur et un mot de passe lors de l'envoi d'une requête. Avec l'authentification HTTP de base, la requête contient un champ d'en-tête sous la forme Authorization: Basic <credentials>, où les identifiants sont une représentation en Base64 de la combinaison de l'identifiant et du mot de passe, reliés par deux-points :.

Clients

registerCustomer

Enregistre un nouveau client dans SmartVista et crée un compte. Vous pouvez créer autant de clients que vous le souhaitez. Mais dans l'environnement de test, vous ne pouvez créer qu'un seul compte pour chaque client — cette limitation a été ajoutée pour simplifier la logique de l'environnement de test. Dans un projet réel, vous pourrez créer autant de comptes pour chaque client que nécessaire pour votre entreprise.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoireproductNameStringIdentifiant du modèle de client qui sera utilisé pour créer le client. Dans l'environnement de test, il n'y a qu'un seul modèle de client, et pour les clients de l'environnement de test, cette valeur doit toujours être « CRCU1001 ».
ObligatoireparametersObjectListe des paramètres. La liste exacte dépend du modèle de création de client pour le projet spécifique. Nous l'avons créé pour l'environnement de test, et vous pouvez voir les paramètres nécessaires sous ce tableau.
Obligatoireparameters.nameStringDéfinir le paramètre dans le modèle de client pour lequel la valeur correspondante est définie.
Obligatoireparameters.valueStringValeur qui doit être définie pour le paramètre spécifique.

Pour créer un client dans l'environnement de test, il est nécessaire de transmettre les paramètres suivants avec leurs valeurs :

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoirecustomerNumberStringNuméro du client. Vous recevrez celui que vous envoyez dans la requête car l'environnement de test est configuré pour définir le numéro demandé pour le client créé.
ObligatoireaccountNumberStringNuméro de compte. L'environnement de test retourne le numéro de compte qu'il crée pour le Client.

Exemple de réponse

{
      "customerNumber": "3006P_0000003",
      "accountNumber": "3006978700000000108"
    }

getCustomerInfo

Obtenir les informations sur le client.

Paramètres de la requête

ObligatoireNomTypeDescription
FacultatifaccountNumberStringNuméro de compte.
ObligatoirecustomerNumberStringNuméro du client.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoirecustomerNumberStringNuméro du client.
ObligatoirecustomerNameStringNom du client.
FacultatiflimitsObjectListe des limites.
Obligatoirelimits.limitNameStringDénomination de la limite.
Obligatoirelimits.limitTypeStringDénomination de la limite.
Facultatiflimits.valueLongValeur de la limite.
Facultatiflimits.currentValueLongValeur actuelle.
FacultatifaccountsObjectListe des comptes.
Obligatoireaccounts.accountNumberStringNuméro de compte.
Obligatoireaccounts.accountTypeStringType de compte.
Obligatoireaccounts.productObjectParamètres du produit.
Obligatoireproduct.productNumberStringNuméro du produit.
Obligatoireproduct.productNameStringDénomination du produit.
Facultatifaccounts.balancesObjectListe des soldes des comptes.
Obligatoirebalances.typeStringType de solde.
Obligatoirebalances.valueLongValeur du solde.

Exemple de réponse

{
    "customerNumber": "3210_P004",
    "customerName": "Smith John A.",
    "limits": [
        {
            "limitName": "Customer-level credit limit",
            "limitType": "LMTP0901",
            "value": 0,
            "currentValue": 0
        },
        {
            "limitName": "Customer-level cash advance credit limit",
            "limitType": "LMTP0902",
            "value": 0,
            "currentValue": 0
        }
    ],
    "accounts": [
        {
            "accountNumber": "3210978700000000579",
            "accountType": "ACTP0100",
            "balances": []
        }
    ]
}

isCustomerExist

Vérification de l'existence de l'identifiant du client.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecustomerNumberStringNuméro du client.
FacultatifinstitutionIdIntegerIdentifiant de l'établissement

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresultBooleanIdentifiant de l'établissement.

Exemple de réponse

{
  "result" : true
}

Comptes

changeAccountLimit

Modifier la limite du compte.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoireaccountNumberStringNuméro de compte.
ObligatoirelimitObjectParamètres de la limite.
Obligatoirelimit.nameStringNom de la limite dans SVBO.
Facultatiflimit.startDateDateTimeDate de début de la limite. format: date-heure
Facultatiflimit.endDateDateTimeDate de fin de la limite.
Facultatiflimit.valueLongValeur de la limite
Facultatiflimit.cycleTypeIntegerType de cycle
Facultatiflimit.cycleLengthIntegerDurée du cycle
Facultatiflimit.currencyIntegerDevise
Facultatiflimit.currentValueLongValeur actuelle de la limite
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

getAccountLimits

Obtenir la liste des limites du compte.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoireaccountNumberStringNuméro de compte.

Exemple de requête

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

Exemple de réponse

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

changeAccountStatus

Changer le statut du compte.

Paramètres de la requête

RequisNomTypeDescription
ObligatoireaccountNumberstringNuméro de compte.
ObligatoireaccountStatusintegerStatut du compte

Exemple de requête

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

Paramètres de la réponse

RequisNomTypeDescription
ObligatoireresponseCodestringCode de finalisation de l'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

changeAccountStatusInFe

Modifier le statut du compte.

Paramètres de la demande

Caractère obligatoireNomTypeDescription
ObligatoireaccountNumberStringNuméro de compte.
ObligatoireaccountStatusIntegerStatut du compte
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de demande

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

Paramètres de la réponse

Caractère obligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
    "responseCode": "00",
    "processingCode": "810000",
    "systemTraceAuditNumber": 320257,
    "localTransactionDate": "2024-02-08T15:08:14"
}

getAccountData

Obtenir les données du compte.

Paramètres de la demande

ObligatoireNomTypeDescription
ObligatoireaccountNumberStringNuméro de compte.
FacultatifreturnCardNumberBooleanIndique s'il faut spécifier le numéro complet de la carte dans la réponse.

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireaccountDataObjectParamètres du compte.
ObligatoireaccountData.numberStringNuméro de compte.
ObligatoireaccountData.currencyIntegerDevise du compte.
FacultatifaccountData.currencyAlphaCodeStringCode alphabétique de la devise du compte.
ObligatoireaccountData.balanceIntegerSolde du compte.
FacultatifaccountData.creditLimitIntegerLimite de crédit.
ObligatoireaccountData.customerIdStringID du client.
FacultatifaccountData.defaultAccountBooleanIndicateur de compte par défaut.
ObligatoireaccountData.cardsObjectListe des cartes pour le compte.
Facultatifcards.cardTypeStringType de carte.
Facultatifcards.cardNumberStringNuméro de carte.
Facultatifcards.expiryDateStringDate d'expiration de la carte.
Facultatifcards.cardStatusStringStatut de la carte.
Facultatifcards.accountNumberStringNuméro de compte.
Facultatifcards.accountStatusStringStatut du compte.
Facultatifcards.gmfIndicatorStringIndicateur de compte GMF.
Facultatifcards.productNumberStringNuméro de produit.
Obligatoirecards.productIdStringNuméro d'identification du produit.

Exemple de demande

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

Exemple de réponse

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

Définir la liste des bénéficiaires autorisés pour la carte ou le compte.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode": "00"
}

getAllowedBeneficiaries

Obtenir la liste des bénéficiaires autorisés par carte ou compte.

Exemple de demande

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

Exemple de réponse

{
  "beneficiaries": [
    M0001
  ]
}

setAllowedMccList

Définition de la liste des MCC autorisés pour la carte ou le compte.

Exemple de requête

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
  ]
}'
ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode": "00"
}

getAllowedMccList

Obtenir la liste des MCC autorisés pour une carte ou un compte.

Exemple de requête

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

Exemple de réponse

{
  "mccList": [
    1750
  ]
}

Marchands

changeMerchantStatus

Modifier le statut du vendeur.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoiremerchantNumberStringNuméro du vendeur.
ObligatoireinstitutionIdStringIdentifiant interne de l'établissement.
ObligatoireagentIdStringIdentifiant de l'agent.
ObligatoirecustomerNumberStringNuméro du client.
ObligatoirecontractNumberStringNuméro du contrat.
ObligatoirestatusStringStatut du marchand.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation de l'opération dans SmartVisa.

Exemple de réponse

{
  "responseCode" : "00"
}

getMerchantTransactions

Obtenir la liste des transactions du marchand

Paramètres de la requête

Caractère obligatoireNomTypeDescription
ObligatoiremerchantIdStringIdentifiant du vendeur.
FacultatifterminalIdStringIdentifiant du terminal.
ObligatoireinstitutionIdStringIdentifiant interne de l'établissement.
ObligatoireperiodObjectPériode de temps.
Facultatifperiod.startDateTimeDate de début.
Facultatifperiod.endDateTimeDate de fin.

Exemple de requête

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

Paramètres de la réponse

Caractère obligatoireNomTypeDescription
ObligatoiretransactionsObjectTransactions.
Obligatoiretransactions.utrnnoLongIdentifiant de la transaction dans SVFE
Facultatiftransactions.reversalBooleanIndicateur d'annulation.
Obligatoiretransactions.merchantIdStringIdentifiant du vendeur.
Obligatoiretransactions.terminalIdStringIdentifiant du terminal.
Obligatoiretransactions.transactionDateDateTimeDate/heure de la transaction.
Facultatiftransactions.settlementDateDateTimeDate/heure du règlement.
Obligatoiretransactions.cardNumberMaskStringNuméro de carte masqué.
Obligatoiretransactions.cardNumberStringNuméro de carte.
Facultatiftransactions.transactionAmountIntegerMontant de la transaction.
Facultatiftransactions.transactionCurrencyIntegerCode de devise de la transaction
Facultatiftransactions.submittedAmountIntegerMontant demandé.
Facultatiftransactions.submittedCurrencyIntegerDevise demandée
Facultatiftransactions.responseCodeIntegerCode de réponse interne SVFE.
Facultatiftransactions.authorizationCodeStringCode d'autorisation.
Facultatiftransactions.cashbackAmountIntegerMontant de cashback.
Facultatiftransactions.transactionTypeStringType de transaction.
Facultatiftransactions.networkTypeStringType de réseau.
Facultatiftransactions.cardTypeStringType de carte.
Facultatiftransactions.orderNumberStringNuméro d'ordre de paiement.
Facultatiftransactions.orderIdStringIdentifiant d'ordre de paiement.

Exemple de réponse

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

Modifier le statut du terminal.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoiremerchantNumberStringNuméro du marchand.
ObligatoireterminalNumberStringNuméro du terminal.
ObligatoireinstitutionIdStringIdentifiant interne de l'établissement.
ObligatoireagentIdStringIdentifiant de l'agent.
ObligatoirecustomerNumberStringNuméro du client.
ObligatoirecontractNumberStringNuméro du contrat.
ObligatoirestatusStringStatut du terminal.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation de l'opération dans SmartVisa.

Exemple de réponse

{
  "responseCode" : "00"
}

generateKey

Générer une clé.

Paramètres de la requête

ObligatoireNomTypeDescription
FacultatifterminalIdLongIdentifiant interne du terminal SVFE (pid)
FacultatifterminalNumberStringIdentifiant du terminal.
FacultatifmerchantNumberStringIdentifiant du vendeur.
ObligatoirehostIdIntegerIdentifiant interne de la clé ZMK (PID), qui doit être utilisé pour exporter la clé générée.
ObligatoirekeyTypeStringType de clé.
ObligatoirekeyLengthStringLongueur de la clé générée. Valeurs possibles : [ENKL_0016, ENKL_0032, ENKL_0048]

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
FacultatifkeyValueStringClé générée (chiffrée ZMK).
FacultatifcheckValueStringValeur de vérification
FacultatiflmkHsmKeyValueStringClé générée (chiffrée LMK).

Exemple de réponse

{
  "keyValue" : "keyValue",
  "lmkHsmKeyValue" : "lmkHsmKeyValue",
  "checkValue" : "checkValue"
}

setKey

Définir la clé.

Paramètres de la requête

ObligatoireNomTypeDescription
FacultatifterminalIdLongIdentifiant interne du terminal SVFE (pid)
FacultatifterminalNumberStringIdentifiant du terminal.
FacultatifmerchantNumberStringIdentifiant du vendeur.
ObligatoirehostIdIntegerPID de l'hôte
ObligatoirekeyTypeStringType de clé. Valeurs possibles : [ENKTTMKA, ENKTTMKP, ENKTTAK, ENKTIKEY]
FacultatifinputKeyPrefixStringSaisir le préfixe de la clé. Valeurs possibles : [U, T, X, Y]
ObligatoirekeyStringClé.
FacultatifkeyCheckValueStringValeur de vérification
ObligatoirenewKeyPrefixStringNouveau préfixe de la clé. Valeurs possibles : [U, T, X, Y]

Exemple de requête

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

Paramètres de la réponse

Exemple de réponse

{ }

serviceAction

Exécuter une action avec le service.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoireserviceIdentificationObjectDonnées d'identification du service.
ObligatoireserviceIdentification.serviceTypeStringType de service.
ObligatoireserviceIdentification.serviceIdStringIdentifiant du service.
ObligatoireserviceIdentification.serviceObjectTypeStringObjet auquel le service peut être lié. Valeurs possibles : [SERVICE_OBJECT_CARD, SERVICE_OBJECT_ACCOUNT]
ObligatoireactionCodeStringCode d'action. Valeurs possibles : [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]
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. expDate et (cardNumber) ou (barCode) ou (cardNumberMask et phoneNumber) sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte crypté.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro du plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du détenteur de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution.
FacultatifaccountNumberStringNuméro de compte.
FacultatifserviceParametersObjectParamètres du service.
FacultatifserviceParameters.phoneNumberStringNuméro de téléphone.
FacultatifserviceParameters.emailStringCourrier électronique
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVisa.

Exemple de réponse

{
  "responseCode" : 00
}

Cartes et portefeuilles

blockCard

Bloquer la carte. Pour bloquer la carte dans l'environnement de test, elle doit être dans un statut actif (code de statut '0'). Vous pouvez obtenir le code de statut de la carte à l'aide de getCardData.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur les autres options d'identification de cartes qui peuvent être utilisées dans un projet réel, et non dans cet environnement de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'environnement de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'environnement de test.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique Pas pour l'environnement de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour l'environnement de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du titulaire de la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.customerIdStringID client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02. Pas pour l'environnement de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour l'environnement de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour l'environnement de test.
FacultatifcardIdentification.tokenStringJeton. Pas pour l'environnement de test.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.emailStringAdresse électronique. Pas pour l'environnement de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution.
ObligatoirehotCardStatusIntegerStatut de carte. Pour l'environnement de test doit être '6'. Cela signifie que la carte est bloquée et doit être saisie lors d'une tentative d'utilisation.
FacultatifcardAcceptorParametersObjectParamètres de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant de commerçant. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie de commerçant. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal. Pas pour l'environnement de test.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation d'opération dans SmartVisa. «00» signifie succès.

Exemple de réponse

{
        "responseCode": "00",
        "processingCode": "910000",
        "systemTraceAuditNumber": 620397,
        "localTransactionDate": "2021-09-23T14:37:36"
    }

validateCard

Débloquer la carte.

Paramètres de la demande

ObligationNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes d'identification possibles : (cardNumber) ou (cardId) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du titulaire de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de demande

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

Paramètres de la réponse

ObligationNomTypeDescription
ObligatoireresponseCodeStringCode d'achèvement de l'opération dans SmartVista.

Exemple de réponse

{
    "responseCode": "00",
    "processingCode": "980000",
    "systemTraceAuditNumber": 320252,
    "localTransactionDate": "2024-02-08T15:06:53"
}

bindCardToAccount

Lier une carte à un compte.

Paramètres de la demande

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. cardNumber et expDate sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoireaccountNumberStringNuméro de compte pour la liaison.
ObligatoireaccountTypeStringType de compte. Valeurs possibles : [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, ACCO UNT_TYPE_LOYALTY]
FacultatifaccountCurrencyIntegerDevise du compte (requis uniquement pour les nouveaux comptes).
FacultatifpersonalDataObjectDonnées personnelles du porteur de carte.
FacultatifpersonalData.firstNameString
FacultatifpersonalData.lastNameString
FacultatifcustomerIdStringID du client.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de demande

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

getCardLimits

Obtenir les limites pour une carte spécifique. L'ensemble des limites est défini pour le produit de carte et prédéfini dans l'environnement de test. Initialement, les limites pour une carte spécifique héritent des paramètres du produit. Vous pouvez modifier les valeurs des limites pour une carte spécifique à l'aide de changeCardLimits.

Les limites suivantes sont disponibles (les types de cycles sont indiqués pour la configuration de limite par défaut et peuvent être modifiés par la requête changeCardLimit) :


Les types de limites CycleType suivants sont disponibles :


Paramètres de requête

Caractère obligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur d'autres options d'identification de cartes qui peuvent être utilisées dans un projet réel, et non dans cet environnement de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'environnement de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'environnement de test.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique Pas pour l'environnement de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour l'environnement de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.customerIdStringID client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02. Pas pour l'environnement de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour l'environnement de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour l'environnement de test.
OptionnelcardIdentification.tokenStringToken. Pas pour la plateforme de test.
OptionnelcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour la plateforme de test.
OptionnelcardIdentification.emailStringCourrier électronique. Pas pour la plateforme de test.
OptionnelcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour la plateforme de test.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoirelimitsObjectListe des limites de carte.
Obligatoirelimits.nameStringDénomination de la limite.
Optionnellimits.startDateDateTimeDate de début de la limite Pas pour la plateforme de test.
Optionnellimits.endDateDateTimeDate de fin de la limite. Pas pour la plateforme de test.
Optionnellimits.valueLongValeur de la limite.
Optionnellimits.cycleTypeIntegerType de cycle. Plusieurs types de cycles de limites sont possibles – quotidiens, mensuels, etc.
Optionnellimits.cycleLengthIntegerDurée du cycle. Par exemple, la valeur 2 pour une limite mensuelle signifie 2 mois.
Optionnellimits.currencyIntegerDevise.
Optionnellimits.currentValueLongValeur actuelle de la limite.
Obligatoirelimits.limitExceptionsObjectLimiter la liste des exceptions. Pas pour la plateforme de test.

Exemple de réponse

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

Ajouter une exception de limite de carte.

Paramètres de la demande

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Options d'identification possibles : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMasked et cardholderId) ou (cardNumberMasked et ```phoneNumber``).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte crypté.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du titulaire de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringAdresse électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoirelimitExceptionObjectParamètres de l'exception de limite.
ObligatoirelimitException.limitNameStringNom de la limite dans SVBO.
ObligatoirelimitException.startDateDateTimeDate de début de l'exception.
ObligatoirelimitException.endDateDateTimeDate de fin de l'exception.
FacultatiflimitException.valueLongValeur de la limite
FacultatiflimitException.cycleTypeIntegerType de cycle
FacultatiflimitException.cycleLengthIntegerDurée du cycle
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de demande

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

changeCardLimit

Modifier les valeurs de limites pour une carte spécifique. L'ensemble de limites est défini pour le produit de carte et prédéfini dans la plateforme de test. Initialement, les limites pour une carte spécifique héritent des paramètres du produit. Utilisez getCardLimits pour obtenir les noms des limites.

Les limites suivantes sont disponibles (les types de cycles sont spécifiés pour la configuration de limite par défaut et peuvent être modifiés par la requête changeCardLimit) :


Les restrictions cycleType suivantes sont disponibles :


Paramètres de requête

ObligationNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de carte. Pour obtenir des informations plus détaillées sur les autres options d'identification de cartes qui peuvent être utilisées dans un projet réel, et non dans cette plateforme de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la plateforme de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la plateforme de test.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.cardIdStringIdentifiant de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour la plateforme de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour la plateforme de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la plateforme de test. Pas pour la plateforme de test.
FacultatifcardIdentification.customerIdStringID client. Pas pour la plateforme de test.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02. Pas pour la plateforme de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour la plateforme de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour la plateforme de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
FacultatifcardIdentification.tokenStringJeton. Pas pour la plateforme de test.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour la plateforme de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour la plateforme de test.
ObligatoirelimitObjectParamètres de limite.
Obligatoirelimit.nameStringNom de la limite. Il est prédéfini dans la plateforme de test. Vous pouvez obtenir la liste des limites avec getCardLimits() et obtenir les noms des limites à partir de sa réponse.
Facultatiflimit.startDateDateTimeDate de début de la limite Pas pour la plateforme de test.
Facultatiflimit.endDateDateTimeDate de fin de la limite. Pas pour la plateforme de test.
Facultatiflimit.valueLongValeur de la limite.
Facultatiflimit.cycleTypeIntegerType de cycle.
Facultatiflimit.cycleLengthIntegerDurée du cycle.
Facultatiflimit.currencyIntegerDevise. Pas pour la plateforme de test.
Facultatiflimit.currentValueLongValeur actuelle de la limite. Pas pour la plateforme de test.
FacultatifcardAcceptorParametersObjectParamètres du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du marchand. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal. Pas pour la plateforme de test.

Exemple de demande

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

Paramètres de réponse

Caractère obligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista. «00» signifie succès.

Exemple de réponse

{
        "responseCode": "00",
        "processingCode": "710000",
        "systemTraceAuditNumber": 620394,
        "localTransactionDate": "2021-09-23T14:35:24"
    }

changeCardLimitException

Modifier l'exception de limite de carte.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. cardNumber ou cardId sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro du plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoirelimitExceptionObjectParamètres de l'exception de limite.
ObligatoirelimitException.limitNameStringNom de la limite dans SVBO.
ObligatoirelimitException.startDateDateTimeDate de début de l'exception.
ObligatoirelimitException.endDateDateTimeDate de fin de l'exception.
FacultatiflimitException.valueLongValeur de la limite
FacultatiflimitException.cycleTypeIntegerType de cycle
FacultatiflimitException.cycleLengthIntegerDurée du cycle
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de réponse

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

deleteCardLimitException

Supprimer une exception de limite de carte.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Options d'identification possibles : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID client.
FacultatifcardIdentification.customerNumberStringNuméro client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoirelimitExceptionObjectParamètres d'exception de limite.
ObligatoirelimitException.limitNameStringNom de limite dans SVBO.
ObligatoirelimitException.startDateDateTimeDate de début de l'exception.
ObligatoirelimitException.endDateDateTimeDate de fin de l'exception.
FacultatiflimitException.valueLongValeur de limite
FacultatiflimitException.cycleTypeIntegerType de cycle
FacultatiflimitException.cycleLengthIntegerDurée du cycle
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de completion de l'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

generatePin

Générer un code PIN.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. (encryptedCardNumber) ou (cardNumberMask et phoneNumber) ou identifiant de carte externe.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID client.
FacultatifcardIdentification.customerNumberStringNuméro client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne d'établissement.
FacultatifpinDeliveryMethodStringMéthode de livraison du code PIN. Valeurs possibles : [SMS — par SMS, WS — dans la réponse du service web, HALF_AND_HALF — les deux premiers chiffres dans la réponse WS, les deux seconds chiffres par SMS, WS_ENCRYPTED — dans la réponse du service web en utilisant le chiffrement public RSA en mode ECB, NONE — ne pas livrer le PIN]
FacultatifencryptedPinValueByteArrayCode PIN chiffré.
FacultatifpinValueStringPIN.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.
FacultatifparametersObjectListe de paramètres arbitraires.
Facultatifparameters.nameString
Facultatifparameters.valueString
FacultatifcheckCardOnlyBooleanDrapeau indiquant s'il faut seulement vérifier la présence et le statut de la carte, et non générer et modifier le PIN.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation d'opération dans SmartVista (00 – succès).
FacultatifpinValueStringPIN.
FacultatifencryptedPinValueByteArrayCode PIN chiffré.

Exemple de réponse

{
  "encryptedPinValue" : [ "encryptedPinValue", "encryptedPinValue" ],
  "pinValue" : 1111,
  "responseCode" : 00
}

changePin

Modifier le code PIN.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. cardNumber ou cardId sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du titulaire de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoirenewPinDataStringNouveau code PIN.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

resetPinCounter

Remise à zéro du compteur de tentatives incorrectes de saisie du code PIN.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. cardNumber ou cardId sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVisa.

Exemple de réponse

{
    "responseCode": "00",
    "processingCode": "890000",
    "systemTraceAuditNumber": 452018,
    "localTransactionDate": "2021-11-11T12:28:19",
    "rrn": "000000224348",
    "authorizationIdResponse": "224348"
}

generateCVC2

Générer CVC2.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de carte. Variantes possibles d'identification : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
OptionnelcardIdentification.cardIdStringIdentifiant de carte.
OptionnelcardIdentification.expDateStringDate d'expiration de la carte.
OptionnelcardIdentification.plasticNumberIntegerNuméro de plastique
OptionnelcardIdentification.phoneNumberStringTéléphone du client. Doit être transmis, si deliveryMethod — c'est SMS, et phoneNumber N'EST PAS utilisé en tant que paramètre d'identification.
OptionnelcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
OptionnelcardIdentification.customerIdStringID client.
OptionnelcardIdentification.customerNumberStringNuméro client dans SVB02.
OptionnelcardIdentification.barCodeStringCode-barres.
OptionnelcardIdentification.cvv2StringCVV2.
OptionnelcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque.
OptionnelcardIdentification.tokenStringToken.
OptionnelcardIdentification.cardTypeCodeStringCode de type de carte.
OptionnelcardIdentification.emailStringCourrier électronique.
OptionnelcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
OptionneldeliveryMethodStringMéthode de livraison du code. Valeurs possibles : [SMS, WS, HALF_AND_HALF, WS_ENCRYPTED, NONE]
OptionnelcardAcceptorParametersObjectParamètres de terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant de terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
OptionnelcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération SVFE.
OptionnelcardNumberMaskStringNuméro de carte masqué.
OptionnelcardNumberStringNuméro de carte.
Optionnelcvc2StringValeur générée CVV2.

Exemple de réponse

{
    "responseCode": "00",
    "cardNumberMask": "****07006759****",
    "cvc2": "692"
}

setGeoRestrictions

Définir les restrictions géographiques pour la carte. Seules les règles qui peuvent être modifiées sont retournées.

Paramètres de la requête

ObligationNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes d'identification possibles : (cardNumber) ou (cardId).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoirerestrictionsObjectListe des restrictions.
Obligatoirerestrictions.countryIdIntegerIdentifiant du pays.
Obligatoirerestrictions.regionIdIntegerIdentifiant de la région.
Obligatoirerestrictions.transactionGroupIdIntegerIdentifiant du groupe de transactions.
Obligatoirerestrictions.statusStringStatut de la restriction. Valeurs possibles : [ENABLED, DISABLED]
Facultatifrestrictions.startDateDateTimeDate d'entrée en vigueur des restrictions.
Facultatifrestrictions.endDateDateTimeDate de levée des restrictions.

Exemple de requête

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

Paramètres de la réponse

ObligationNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

getGeoRestrictions

Obtenir la liste des restrictions géographiques pour la carte. Seules les règles imposant des restrictions pour la carte sont renvoyées.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes d'identification possibles : cardNumber ou cardId.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte crypté.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID client.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne d'établissement.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireregionsObjectListe des régions.
Obligatoireregions.idIntegerIdentifiant de région.
Obligatoireregions.descriptionStringDescription.
FacultatifcountriesObjectListe des pays.
Obligatoirecountries.idIntegerIdentifiant de pays.
Obligatoirecountries.descriptionStringDescription.
ObligatoiretransactionGroupsObjectListe des groupes de transactions.
ObligatoiretransactionGroups.idIntegerIdentifiant de groupe
ObligatoiretransactionGroups.descriptionStringDescription.
ObligatoirerestrictionsObjectListe des restrictions.
Obligatoirerestrictions.countryIdIntegerIdentifiant de pays.
Obligatoirerestrictions.regionIdIntegerIdentifiant de région.
Obligatoirerestrictions.transactionGroupIdIntegerIdentifiant de groupe de transactions.
Obligatoirerestrictions.statusStringStatut de restriction. Valeurs possibles : [ENABLED, DISABLED]
Facultatifrestrictions.startDateDateTimeDate d'entrée en vigueur des restrictions.
Facultatifrestrictions.endDateDateTimeDate de levée des restrictions.

Exemple de réponse

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

Faire une demande sur le statut de la carte.

Paramètres de la demande

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes d'identification possibles : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber). Paramètres d'identification de la carte. Variantes d'identification possibles : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro du plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du détenteur de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
FacultatifcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.

Exemple de demande

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoirehotCardStatusIntegerStatut de la carte

Exemple de réponse

{
  "hotCardStatus" : 0
}

changeCardStatus

Modifier le statut de la carte. Dans l'environnement de test, vous pouvez modifier le statut de la carte uniquement pour les cartes bloquées (code de statut de carte — '6'). Vous pouvez obtenir le code de statut de carte à l'aide de la requête getCardData. Pour modifier le statut de carte de «0» à «6» (bloquée), utilisez la requête blockCard.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de carte. Pour obtenir plus d'informations détaillées sur d'autres variantes d'identification de cartes, qui peuvent être utilisées dans un projet réel, et non dans cet environnement de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'environnement de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.expDateStringDate d'expiration de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour l'environnement de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour l'environnement de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du propriétaire de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.customerIdStringID client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02. Pas pour l'environnement de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour l'environnement de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour l'environnement de test.
FacultatifcardIdentification.tokenStringToken. Pas pour l'environnement de test.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.emailStringE-mail. Pas pour l'environnement de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour l'environnement de test.
ObligatoirehotCardStatusIntegerStatut de carte. Pour l'environnement de test doit être «0», pour activer une carte bloquée.
FacultatifcardAcceptorParametersObjectParamètres de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du marchand. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal. Pas pour l'environnement de test.

Exemple de requête

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardId" : 100000000873
  },
  "hotCardStatus" : 0
}'

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de finalisation d'opération dans SmartVista. «00» signifie succès.

Exemple de réponse

{
        "responseCode": "00",
        "processingCode": "950000",
        "systemTraceAuditNumber": 620398,
        "localTransactionDate": "2021-09-23T14:38:26"
    }

createVirtualCard

Crée une carte virtuelle pour un client enregistré. Utilisez registerCustomer pour créer un client et un compte si vous ne l'avez pas encore fait.

Paramètres de la demande

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de base de la carte. Il existe de nombreux attributs de carte et leurs combinaisons pour l'identification de carte pris en charge par SmartVista, mais dans l'environnement de test, le plus simple d'entre eux est utilisé — le numéro de carte. Toutes les autres options sont données à titre d'exemple.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. C'est cette méthode que nous utiliserons dans toutes les demandes de l'environnement de test pour identifier la carte. Pour cette demande, utilisez toujours le numéro de carte "visaBin0000000000", où [visaBin] est le numéro de l'e-mail que vous avez reçu après l'inscription. Pour toutes les autres demandes, utilisez le numéro de carte que vous obtiendrez après avoir créé la carte avec cette demande.
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Généralement utilisé comme l'un des paramètres possibles d'identification de carte, mais pas dans ce projet d'environnement de test, pour éviter la gestion des clés. Ne l'utilisez pas ici.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Méthode courante d'identification de carte en combinaison avec le numéro de téléphone ou d'autres données de carte, mais pas celle utilisée dans l'environnement de test. Ne l'utilisez pas ici.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Méthode courante d'identification de carte en combinaison avec le numéro de téléphone, et non celle utilisée dans l'environnement de test. Ne l'utilisez pas ici.
FacultatifcardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Souvent utilisée avec d'autres attributs de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour l'environnement de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Souvent utilisé avec d'autres attributs de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.customerIdStringID client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro client dans SVB02. Pas pour l'environnement de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour l'environnement de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour l'environnement de test.
FacultatifcardIdentification.tokenStringToken. Pas pour l'environnement de test.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour l'environnement de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution. Pas pour l'environnement de test.
ObligatoirevirtualCardIdentificationObjectParamètres de la carte virtuelle. expDate et productType sont obligatoires.
ObligatoirevirtualCardIdentification.expDateStringDate d'expiration de la carte. Toute date future au format «AAAAMMJ».
ObligatoirevirtualCardIdentification.productTypeStringType de produit. Identifie le produit de carte pour la carte. Dans l'environnement de test doit toujours être un numéro constant «5C», car nous configurons un produit pour vous.
FacultatifvirtualCardIdentification.cardNumberStringNuméro de carte. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.cvv2StringCVV2/CVC2. Pas pour l'environnement de test.
ObligatoireamountIntegerLimite par défaut pour les cartes virtuelles nouvellement créées. Dans l'environnement de test doit être un nombre constant «0».
ObligatoirecurrencyIntegerDevise. Code numérique de devise ISO 4217. Utilisez «978» pour l'environnement de test.
ObligatoireaccountNumberStringNuméro de compte pour l'identification primaire de la carte. Utilisez le numéro de compte obtenu avec la méthode registerCustomer().
FacultatifdeliveryMethodStringMéthode de livraison des paramètres de carte virtuelle. Valeurs possibles : [WS, HALF_AND_HALF] . WS — tous les paramètres, sont transmis dans la réponse du service web. HALF_AND_HALF — certains paramètres sont livrés dans la réponse du service web, certains — par SMS. Pour HALF_AND_HALF la réponse du service web contiendra le numéro de carte masqué (par exemple, //// 1111 1111 ////), et le SMS contiendra CVV2 et l'autre moitié du numéro de carte masqué (1111 //// //// 1111). Utilisez la valeur «WS» pour l'environnement de test.
FacultatifpersonalDataObjectDonnées personnelles du titulaire de carte. Pas pour l'environnement de test.
FacultatifpersonalData.firstNameStringPas pour l'environnement de test.
FacultatifpersonalData.lastNameStringPas pour l'environnement de test.
FacultatifcardAcceptorParametersObjectParamètres de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant de terminal. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant de marchand. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie de marchand. Pas pour l'environnement de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal. Pas pour l'environnement de test.

Exemple de requête

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

Paramètres de réponse

Caractère obligatoireNomTypeDescription
ObligatoirevirtualCardIdentificationObjectParamètres de carte virtuelle.
FacultatifvirtualCardIdentification.cardNumberStringNuméro de carte. Ici vous recevrez le numéro de carte créée dans l'environnement de test. Sauvegardez-le pour toutes les opérations ultérieures avec la carte créée.
FacultatifvirtualCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.cardIdStringIdentifiant de carte. Pas pour l'environnement de test.
ObligatoirevirtualCardIdentification.expDateStringDate d'expiration de carte. Pas pour l'environnement de test.
ObligatoirevirtualCardIdentification.productTypeStringType de produit. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
FacultatifvirtualCardIdentification.cvv2StringCVV2/CVC2. Pas pour l'environnement de test.

Exemple de réponse

{
	    "virtualCardIdentification": {
	        "cardNumber": "4140050021658271",
	        "cardId": "100000000873",
	        "expDate": "202512",
	        "productType": "5C"
	    }
	}

getCardData

Retourne les données sur les cartes que vous avez créées. Peut être utilisé après la création d'une carte à l'aide de createVirtualCard.

Paramètres de la requête

Caractère obligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. cardNumber est requis. Pour obtenir des informations plus détaillées sur les autres options d'identification des cartes qui peuvent être utilisées dans un projet réel, et non dans cette zone de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Non pour la zone de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Non pour la zone de test.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Non pour la zone de test.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte. Non pour la zone de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Non pour la zone de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique Non pour la zone de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Non pour la zone de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du titulaire de la carte. Non pour la zone de test.
FacultatifcardIdentification.customerIdStringID du client. Non pour la zone de test.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02. Non pour la zone de test.
FacultatifcardIdentification.barCodeStringCode-barres. Non pour la zone de test.
FacultatifcardIdentification.cvv2StringCVV2. Non pour la zone de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque. Non pour la zone de test.
FacultatifcardIdentification.tokenStringJeton. Non pour la zone de test.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte. Non pour la zone de test.
FacultatifcardIdentification.emailStringCourrier électronique. Non pour la zone de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Non pour la zone de test.
FacultatifrsaPublicKeyByteArrayClé publique pour chiffrer le numéro de carte dans le message de réponse. Non pour la zone de test.

Exemple de requête

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

Paramètres de réponse

Caractère obligatoireNomTypeDescription
ObligatoirecardDataObjectParamètres de la carte.
FacultatifcardData.encryptedCardNumberByteArrayNuméro de carte chiffré. Non pour la zone de test.
FacultatifcardData.cardNumberMaskStringNuméro de carte masqué. Non pour la zone de test.
ObligatoirecardData.cardNumberStringNuméro de carte.
FacultatifcardData.expiryDateStringDate d'expiration de la carte. Au format AAAANM.
FacultatifcardData.formattedExpiryDateStringDate d'expiration de la carte, formatée par l'utilisateur. Non pour la zone de test.
FacultatifcardData.cardIdStringIdentifiant de la carte. Il s'agit de l'identifiant interne de la carte SmartVista, qui peut être utilisé pour identifier la carte pour les applications non compatibles avec PCI DSS.
FacultatifcardData.hotCardStatusIntegerStatut de la carte.
FacultatifcardData.cardTypeNameStringType de carte.
FacultatifcardData.embossedNameStringNom sur le plastique. Cela a du sens pour les cartes plastiques embossées, et non pour les cartes virtuelles dans la zone de test.
OptionnelcardData.customerIdStringID du client.
OptionnelcardData.customerNameStringNom du client. Pas pour l'environnement de test.
OptionnelcardData.personIdStringIdentifiant du propriétaire de la carte. Pas pour l'environnement de test.
OptionnelcardData.pinDenialCounterIntegerNombre de tentatives incorrectes de saisie du code PIN
OptionnelcardData.plasticNumberIntegerNuméro du plastique. Pas pour l'environnement de test.
OptionnelcardData.hotCardStatusDescriptionStringDescription du statut de la carte.
OptionnelcardData.cardIsPrimaryBooleanIndicateur de carte principale. Toujours false pour l'environnement de test.
OptionnelcardData.cardBindToCustomerBooleanIndicateur de liaison de la carte au client. Toujours false pour l'environnement de test.
OptionnelcardData.customerIsCardholderBooleanIndicateur si le client est porteur de carte. Toujours false pour l'environnement de test.
OptionnelcardData.cardContractIdStringIdentifiant du contrat de carte. Pas pour l'environnement de test.
OptionnelcardData.cardPlasticIdStringIdentifiant du type de plastique. Pas pour l'environnement de test.
OptionnelcardData.cardPlasticDescriptionStringDescription du type de plastique. Pas pour l'environnement de test.
OptionnelcardData.memorableWordStringMot secret. Pas pour l'environnement de test.
OptionnelcardData.emailStringCourrier électronique. Pas pour l'environnement de test.
OptionnelcardData.lastWrongPinDateDateTimeDate/heure de la dernière tentative de saisie de code PIN incorrect. Pas pour l'environnement de test.
OptionnelcardData.cardCreationDateDateTimeDate d'émission de la carte. Pas pour l'environnement de test.
OptionnelcardData.cardBlockingDateDateTimeDate/heure de blocage de la carte. Pas pour l'environnement de test.
OptionnelcardData.directDebitAccountStringCompte utilisé pour les paiements automatiques. Pas pour l'environnement de test.
OptionnelcardData.cardholderMobilePhoneNumberStringNuméro de téléphone du propriétaire de la carte. Pas pour l'environnement de test.
OptionnelcardData.accountsObjectListe des comptes pour la carte. Dans l'environnement de test, il ne devrait y avoir qu'un seul compte.
Obligatoireaccounts.numberStringNuméro de compte.
Obligatoireaccounts.currencyIntegerDevise du compte
Optionnelaccounts.currencyAlphaCodeStringCode alphabétique de la devise du compte.
Obligatoireaccounts.balanceIntegerSolde du compte.
Optionnelaccounts.creditLimitIntegerLimite de crédit.
Obligatoireaccounts.customerIdStringID du client.
Optionnelaccounts.defaultAccountBooleanIndicateur de compte par défaut. Toujours true pour l'environnement de test.

Exemple de réponse

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

Obtenir les commissions par carte.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardNumberStringNuméro de carte.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoirefeesObjectListe des commissions.
Obligatoirefees.feeTypeStringType de commission.
Obligatoirefees.feeValuenumberMontant de la commission.

Exemple de réponse

{
  "fees" : [ {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  }, {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  } ]
}

getCardListByOwner

Obtenir la liste des cartes en utilisant l'identifiant du client et/ou l'identifiant du propriétaire de la carte.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. (customerId), (phoneNumber) ou (email) sont obligatoires.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte crypté.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du propriétaire de la carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
FacultatifcardsObject
Facultatifcards.encryptedCardNumberByteArrayNuméro de carte crypté.
Obligatoirecards.cardNumberMaskStringNuméro de carte masqué.
Obligatoirecards.cardNumberStringNuméro de carte.
Facultatifcards.expiryDateStringDate d'expiration de la carte.
Facultatifcards.formattedExpiryDateStringDate d'expiration de la carte formatée par l'utilisateur.
Facultatifcards.cardIdStringIdentifiant de la carte.
Facultatifcards.hotCardStatusIntegerStatut de la carte
Facultatifcards.cardTypeNameStringType de carte.
Facultatifcards.embossedNameStringNom sur le plastique.
Facultatifcards.customerIdStringID du client.
Facultatifcards.customerNameStringNom du client.
Facultatifcards.personIdStringIdentifiant du propriétaire de la carte.
Facultatifcards.pinDenialCounterIntegerNombre de tentatives de saisie incorrecte du code PIN
Facultatifcards.plasticNumberIntegerNuméro de plastique
Facultatifcards.hotCardStatusDescriptionStringDescription du statut de la carte.
Facultatifcards.cardIsPrimaryBooleanIndicateur de carte principale.
Facultatifcards.cardBindToCustomerBooleanIndicateur de liaison de la carte au client.
Facultatifcards.customerIsCardholderBooleanIndicateur si le client est porteur de la carte.
Facultatifcards.cardContractIdStringIdentifiant du contrat de carte.
Facultatifcards.cardPlasticIdStringIdentifiant du type de plastique.
Facultatifcards.cardPlasticDescriptionStringDescription du type de plastique.
Facultatifcards.memorableWordStringMot secret.
Facultatifcards.emailStringCourrier électronique.
Optionnelcards.lastWrongPinDateDateTimeDate/heure de la dernière tentative de saisie d'un code PIN incorrect.
Optionnelcards.cardCreationDateDateTimeDate d'émission de la carte.
Optionnelcards.cardBlockingDateDateTimeDate/heure de blocage de la carte.
Optionnelcards.directDebitAccountStringCompte utilisé pour les paiements automatiques.
Optionnelcards.cardholderMobilePhoneNumberStringNuméro de téléphone du titulaire de la carte.
Optionnelcards.accountsObjectListe des comptes pour la carte.
Obligatoireaccounts.numberStringNuméro de compte.
Obligatoireaccounts.currencyIntegerDevise du compte
Optionnelaccounts.currencyAlphaCodeStringCode alphabétique de la devise du compte.
Obligatoireaccounts.balanceIntegerSolde du compte.
Optionnelaccounts.creditLimitIntegerLimite de crédit.
Obligatoireaccounts.customerIdStringID du client.
Optionnelaccounts.defaultAccountBooleanIndicateur de compte par défaut.

Exemple de réponse

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

Obtenez les règles supplémentaires du schéma de transactions.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de carte. Variantes possibles d'identification : cardId.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID client.
FacultatifcardIdentification.customerNumberStringNuméro de client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte.
FacultatifcardIdentification.emailStringAdresse électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
FacultatiftemplateSchemeIdLongIdentifiant du schéma utilisé comme modèle

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

Paramètres de réponse

ObligatoireNomTypeDescription
FacultatiftransactionSchemeAdditionsObjectListe des règles supplémentaires du schéma de transactions.
ObligatoiretransactionSchemeAdditions.idLongIdentifiant de règle
ObligatoiretransactionSchemeAdditions.domainStringIdentifiant de l'établissement émetteur.
ObligatoiretransactionSchemeAdditions.countryGroupIntegerIdentifiant du groupe de pays
ObligatoiretransactionSchemeAdditions.mccGroupIntegerIdentifiant du groupe MCC
ObligatoiretransactionSchemeAdditions.transactionTypeIntegerType de transaction : format
ObligatoiretransactionSchemeAdditions.posDataCodeStringValeur du code de données POS.

Exemple de réponse

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

Définissez la liste des règles pour le schéma de transaction supplémentaire.

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes possibles d'identification : cardId.
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique
FacultatifcardIdentification.phoneNumberStringTéléphone du client.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte.
FacultatifcardIdentification.customerIdStringID du client.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02.
FacultatifcardIdentification.barCodeStringCode-barres.
FacultatifcardIdentification.cvv2StringCVV2.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
FacultatifcardIdentification.tokenStringJeton.
FacultatifcardIdentification.cardTypeCodeStringCode de type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoiretransactionSchemeAdditionsObjectListe des règles supplémentaires du schéma de transactions.
ObligatoiretransactionSchemeAdditions.idLongIdentifiant de la règle
ObligatoiretransactionSchemeAdditions.domainStringIdentifiant de l'établissement émetteur.
ObligatoiretransactionSchemeAdditions.countryGroupIntegerIdentifiant du groupe de pays
ObligatoiretransactionSchemeAdditions.mccGroupIntegerIdentifiant du groupe MCC
ObligatoiretransactionSchemeAdditions.transactionTypeIntegerType de transaction : format
ObligatoiretransactionSchemeAdditions.posDataCodeStringValeur du code de données POS.

Exemple de requête

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

Paramètres de la réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération dans SmartVista.

Exemple de réponse

{
  "responseCode" : 00
}

topUp

Recharger la carte ou le compte.

Exemple de demande

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

Exemple de réponse

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

Dépôt de fonds sur la carte.

Paramètres de la requête

ObligatoireNomTypeDescription
FacultatifpreAuthorizationBooleanIndicateur de pré-autorisation.
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur d'autres options d'identification des cartes qui peuvent être utilisées dans un projet réel, et non dans ce terrain d'essai, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour le terrain d'essai.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour le terrain d'essai.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.plasticNumberIntegerNuméro du plastique. Pas pour le terrain d'essai.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour le terrain d'essai.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.customerIdStringID client. Pas pour le terrain d'essai.
FacultatifcardIdentification.customerNumberStringNuméro client dans SVB02. Pas pour le terrain d'essai.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour le terrain d'essai.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour le terrain d'essai.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque. Pas pour le terrain d'essai.
FacultatifcardIdentification.tokenStringToken. Pas pour le terrain d'essai.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour le terrain d'essai.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution. Pas pour le terrain d'essai.
ObligatoireamountIntegerMontant.
ObligatoirecurrencyIntegerDevise. Code numérique de devise ISO 4217. Utilisez « 978 » pour le terrain d'essai.
FacultatiftdsObjectParamètres de transaction 3DS.
Facultatiftds.xidStringIdentifiant de transaction VISA 3DS. Pas pour le terrain d'essai.
Facultatiftds.cavvStringValeur de vérification d'authentification VISA. Pas pour le terrain d'essai.
Facultatiftds.ucafStringChamp d'authentification universelle Mastercard. Pas pour le terrain d'essai.
Facultatiftds.authenticationIndicatorStringType d'authentification de transaction de commerce électronique. Valeurs possibles : [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Pas pour le terrain d'essai.
FacultatifcardAcceptorParametersObjectParamètres du terminal. Pas pour le terrain d'essai.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal. Pas pour le terrain d'essai.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand. Pas pour le terrain d'essai.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du marchand. Pas pour le terrain d'essai.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal. Pas pour le terrain d'essai.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode de fin d'opération SVFE. « 00 » signifie succès.
ObligatoireprocessingCodeStringcode de traitement.
ObligatoiresystemTraceAuditNumberIntegerNuméro d'enregistrement d'audit
ObligatoirelocalTransactionDateDateTimeDate de transaction. Format : date-heure
ObligatoirerrnStringIdentifiant externe RNN.
OptionnelauthorizationIdResponseStringIdentifiant d'autorisation.
OptionneluniqueReferenceNumberStringNuméro de référence unique de l'opération.
OptionnelotpStringMot de passe à usage unique. Pas pour la plateforme de test.
OptionnelacquirerFeeAmountStringMontant de commission de l'acquéreur. Pas pour la plateforme de test.
OptionnelissuerFeeAmountStringMontant de commission de l'émetteur. Pas pour la plateforme de test.
OptionnelpaymentSpecificDataObjectDonnées spéciales sur le paiement.

Exemple de réponse

{
        "responseCode": "00",
        "processingCode": "270000",
        "systemTraceAuditNumber": 620399,
        "localTransactionDate": "2021-09-23T14:39:15",
        "rrn": "000000154798",
        "authorizationIdResponse": "154798",
        "paymentSpecificData": {}
    }

debitCard

Retirer des fonds de la carte.

Paramètres de la demande

ObligatoireNomTypeDescription
OptionnelpreAuthorizationBooleanDrapeau de pré-autorisation.
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes d'identification possibles : (cardNumber) ou (cardId) ou (barCode) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
ObligatoirecardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré.
ObligatoirecardIdentification.cardNumberMaskStringNuméro de carte masqué.
ObligatoirecardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte.
ObligatoirecardIdentification.cardNumberStringNuméro de carte.
OptionnelcardIdentification.cardIdStringIdentifiant de la carte.
OptionnelcardIdentification.expDateStringDate d'expiration de la carte.
OptionnelcardIdentification.plasticNumberIntegerNuméro de plastique
OptionnelcardIdentification.phoneNumberStringTéléphone du client.
OptionnelcardIdentification.cardholderIdStringIdentifiant du porteur de la carte.
OptionnelcardIdentification.customerIdStringID du client.
OptionnelcardIdentification.customerNumberStringNuméro du client dans SVB02.
OptionnelcardIdentification.barCodeStringCode-barres.
OptionnelcardIdentification.cvv2StringCVV2.
OptionnelcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque.
OptionnelcardIdentification.tokenStringJeton.
OptionnelcardIdentification.cardTypeCodeStringCode du type de carte.
OptionnelcardIdentification.emailStringCourrier électronique.
OptionnelcardIdentification.institutionIdStringIdentifiant interne de l'établissement.
ObligatoireamountIntegerMontant.
ObligatoirecurrencyIntegerDevise
OptionnelfeeObjectParamètres de commission de l'acquéreur.
Obligatoirefee.feeTypeStringType de commission.
Obligatoirefee.feeValuenumberMontant de la commission.
OptionnelcardAcceptorParametersObjectParamètres du terminal.
ObligatoirecardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal.
ObligatoirecardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand.
ObligatoirecardAcceptorParameters.merchantTypeStringCode de catégorie du marchand.
OptionnelcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal.
OptionneltdsObjectParamètres de transaction 3DS.
Optionneltds.xidStringIdentifiant de transaction VISA 3DS.
Optionneltds.cavvStringValeur de vérification d'authentification VISA.
Optionneltds.ucafStringChamp d'authentification universelle Mastercard.
Optionneltds.authenticationIndicatorStringType d'authentification de transaction de commerce électronique. Valeurs possibles : [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]

Exemple de demande

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode d'achèvement d'opération SVFE.
ObligatoireprocessingCodeStringcode de traitement.
ObligatoiresystemTraceAuditNumberIntegerNuméro d'enregistrement d'audit
ObligatoirelocalTransactionDateDateTimeDate de transaction. Format : date-heure
ObligatoirerrnStringIdentifiant externe RNN.
OptionnelauthorizationIdResponseStringIdentifiant d'autorisation.
FacultatifuniqueReferenceNumberStringNuméro de référence unique de l'opération.
FacultatifotpStringMot de passe à usage unique.
FacultatifacquirerFeeAmountStringMontant de la commission de l'acquéreur.
FacultatifissuerFeeAmountStringMontant de la commission de l'émetteur.
FacultatifpaymentSpecificDataObjectDonnées spécifiques du paiement.
FacultatifpaymentSpecificData.f57StringChamp spécial 57.
FacultatifpaymentSpecificData.f58StringChamp spécial 58.
FacultatifpaymentSpecificData.f59StringChamp spécial 59.
FacultatifpaymentSpecificData.f60StringChamp spécial 60.
FacultatifpaymentSpecificData.f61StringChamp spécial 61.
FacultatifpaymentSpecificData.f62StringChamp spécial 62.
FacultatifpaymentSpecificData.f63StringChamp spécial 63.
FacultatifpaymentSpecificData.f64StringChamp spécial 64.
FacultatifpaymentSpecificData.f65StringChamp spécial 65.
FacultatifpaymentSpecificData.f66StringChamp spécial 66.
FacultatifpaymentSpecificData.f67StringChamp spécial 67.
FacultatifpaymentSpecificData.f68StringChamp spécial 68.
FacultatifpaymentSpecificData.f69StringChamp spécial 69.
FacultatifpaymentSpecificData.f70StringChamp spécial 70.
FacultatifpaymentSpecificData.f71StringChamp spécial 71.
FacultatifpaymentSpecificData.f72StringChamp spécial 72.
FacultatifpaymentSpecificData.f73StringChamp spécial 73.

Exemple de réponse

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

Virement p2p de carte à carte.

Paramètres de la demande

ObligatoireNomTypeDescription
FacultatifpreAuthorizationBooleanIndicateur de pré-autorisation.
ObligatoiresourceCardIdentificationObjectParamètres d'identification de la carte pour la carte source. Pour obtenir des informations plus détaillées sur les autres options d'identification des cartes qui peuvent être utilisées dans un projet réel, et non dans cette aire de test, consultez la description de createVirtualCard.
ObligatoiresourceCardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
ObligatoiresourceCardIdentification.expDateStringDate d'expiration de la carte. Format AAAANNM.
FacultatifsourceCardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cardIdStringIdentifiant de carte. Pas pour l'aire de test.
FacultatifsourceCardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour l'aire de test.
FacultatifsourceCardIdentification.phoneNumberStringTéléphone du client. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour l'aire de test.
FacultatifsourceCardIdentification.customerIdStringID client. Pas pour l'aire de test.
FacultatifsourceCardIdentification.customerNumberStringNuméro de client dans SVB02. Pas pour l'aire de test.
FacultatifsourceCardIdentification.barCodeStringCode-barres. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cvv2StringCVV2. Pas pour l'aire de test.
FacultatifsourceCardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour l'aire de test.
FacultatifsourceCardIdentification.tokenStringToken. Pas pour l'aire de test.
FacultatifsourceCardIdentification.cardTypeCodeStringCode de type de carte. Pas pour l'aire de test.
FacultatifsourceCardIdentification.emailStringCourrier électronique. Pas pour l'aire de test.
FacultatifsourceCardIdentification.institutionIdStringIdentifiant interne d'établissement. Pas pour l'aire de test.
ObligatoiredestinationCardIdentificationObjectParamètres d'identification de la carte de crédit. Pour obtenir des informations plus détaillées sur les autres options d'identification des cartes qui peuvent être utilisées dans un projet réel, et non dans cette aire de test, consultez la description de createVirtualCard.
ObligatoiredestinationCardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifdestinationCardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'aire de test.
FacultatifdestinationCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour l'aire de test.
FacultatifdestinationCardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour l'aire de test.
FacultatifdestinationCardIdentification.cardIdStringIdentifiant de carte. Pas pour l'aire de test.
FacultatifdestinationCardIdentification.expDateStringDate d'expiration de la carte. Pas pour l'aire de test.
FacultatifdestinationCardIdentification.plasticNumberIntegerNuméro de plastique Pas pour l'aire de test.
FacultatifdestinationCardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.customerIdStringID du client. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.customerNumberStringNuméro du client dans SVB02. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.barCodeStringCode-barres. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cvv2StringCVV2. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.tokenStringToken. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardTypeCodeStringCode de type de carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.emailStringCourrier électronique. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour la plateforme de test.
ObligatoireamountIntegerMontant.
ObligatoirecurrencyIntegerDevise. Code numérique de devise ISO 4217. Utilisez « 978 » pour la plateforme de test.
FacultatifsourceAccountNumberStringNuméro de carte depuis laquelle le débit des fonds est effectué. Pas pour la plateforme de test.
FacultatifdestinationAccountNumberStringNuméro de carte sur laquelle le crédit est effectué. Pas pour la plateforme de test.
FacultatiftdsObjectParamètres de transaction 3DS. Pas pour la plateforme de test.
Facultatiftds.xidStringIdentifiant de transaction VISA 3DS. Pas pour la plateforme de test.
Facultatiftds.cavvStringValeur de vérification d'authentification VISA. Pas pour la plateforme de test.
Facultatiftds.ucafStringChamp d'authentification universelle Mastercard. Pas pour la plateforme de test.
Facultatiftds.authenticationIndicatorStringType d'authentification de transaction de commerce électronique. Valeurs possibles : [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Pas pour la plateforme de test.
ObligatoiresenderReceiverInfoObjectInformation sur l'expéditeur et le destinataire du paiement. Pas pour la plateforme de test.
ObligatoiresenderReceiverInfo.senderNameStringNom de l'expéditeur au format « Nom de famille, Prénom ».
ObligatoiresenderReceiverInfo.senderAddressStringAdresse de l'expéditeur.
FacultatifsenderReceiverInfo.senderCityStringVille de l'expéditeur. Pas pour la plateforme de test.
FacultatifsenderReceiverInfo.senderCountryStringCode pays de l'expéditeur. Pas pour la plateforme de test.
FacultatifsenderReceiverInfo.senderPostalCodeStringCode postal de l'expéditeur. Pas pour la plateforme de test.
FacultatifsenderReceiverInfo.receiverNameStringNom du destinataire au format « Nom de famille, Prénom ». Pas pour la plateforme de test.
FacultatifpointOfServiceDataCodeStringEnsemble de codes définissant les capacités du terminal, les paramètres de son environnement et l'utilisation des moyens de sécurité pendant la transaction. Pas pour la plateforme de test.
ObligatoirepointOfServiceConditionCodeStringCode définissant les conditions de réalisation de la transaction au point de service. N'importe quel texte.
FacultatifcardAcceptorParametersObjectParamètres du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du marchand. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal. Pas pour la plateforme de test.
FacultatifsecurityLevelIndicatorStringIndicateur du niveau de sécurité. Pas pour la plateforme de test.
FacultatiforiginalTransactionParametersObjectParamètres de la transaction d'origine. Doit être inclus dans la demande de vérification du statut de la transaction. Pas pour la plateforme de test.
FacultatiforiginalTransactionParameters.systemTraceAuditNumberIntegerNuméro d'enregistrement d'audit. Pas pour la plateforme de test.
FacultatiforiginalTransactionParameters.localTransactionDateDateTimeDate de transaction. Pas pour la plateforme de test.
FacultatiforiginalTransactionParameters.rrnStringIdentifiant externe RNN. Pas pour la plateforme de test.
FacultatifposCardholderPresenceIntegerType de présence du porteur de carte au point de service. Pas pour la plateforme de test.
FacultatifbusinessApplicationIdentifierStringIdentifiant du type de transaction MC. Pas pour la plateforme de test.

Exemple de demande

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

Paramètres de réponse

ObligationNomTypeDescription
ObligatoireresponseCodeStringCode d'achèvement de l'opération. « 00 » signifie succès.
ObligatoireprocessingCodeStringCode de traitement.
ObligatoiresystemTraceAuditNumberIntegerNuméro d'enregistrement d'audit
ObligatoirelocalTransactionDateDateTimeDate de transaction. Format : date-heure
ObligatoirerrnStringIdentifiant externe RNN.
FacultatifauthorizationIdResponseStringIdentifiant d'autorisation.
FacultatifpaymentSpecificDataObjectDonnées spéciales sur le paiement.

Exemple de réponse

{
        "responseCode": "00",
        "processingCode": "490000",
        "systemTraceAuditNumber": 620400,
        "localTransactionDate": "2021-09-23T14:40:05",
        "rrn": "000000154799",
        "authorizationIdResponse": "154801",
        "paymentSpecificData": {}
    }

getOrderDetails

Obtenir des informations détaillées sur l'ordre de paiement.

Paramètres de demande

ObligatoireNomTypeDescription
ObligatoireorderIdLongIdentifiant de l'ordre de paiement

Exemple de demande

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoiretransactionListObjectListe des transactions.
ObligatoiretransactionList.merchantIdStringIdentifiant du vendeur.
ObligatoiretransactionList.terminalIdStringIdentifiant du terminal.
ObligatoiretransactionList.transactionDateDateTimeDate/heure de la transaction.
FacultatiftransactionList.cardNumberStringNuméro de carte.
FacultatiftransactionList.transactionAmountIntegerMontant de la transaction.
FacultatiftransactionList.transactionCurrencyIntegerCode de devise de la transaction
FacultatiftransactionList.submittedAmountIntegerMontant demandé.
FacultatiftransactionList.submittedCurrencyIntegerDevise demandée
FacultatiftransactionList.authorizationCodeStringCode d'autorisation.
FacultatiftransactionList.cashbackAmountIntegerMontant du cashback.
FacultatiftransactionList.transactionTypeStringType de transaction.
FacultatiftransactionList.networkTypeStringType de réseau.
FacultatiftransactionList.cardTypeStringType de carte.
FacultatiftransactionList.orderNumberStringNuméro de l'ordre de paiement.

Exemple de réponse

{
  "transactionList" : [ {
    "terminalId" : "00999201",
    "transactionDate" : "2000-01-23T04:56:07.000+00:00",
    "merchantId" : "M000001",
  } ]
}

getPaymentOrders

Obtenir la liste des ordres de paiement.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoiremerchantNumberStringNuméro du marchand.
ObligatoireinstitutionIdStringIdentifiant interne de l'établissement.
ObligatoireperiodObjectPériode de temps.
Facultatifperiod.startDateTimeDate de début.
Facultatifperiod.endDateTimeDate de fin.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireorderListObjectListe des ordres de paiement.
ObligatoireorderList.idLongIdentifiant de l'ordre de paiement
FacultatiforderList.eventDateDateTimeDate de l'événement.
FacultatiforderList.purposeStringObjectif.
FacultatiforderList.currencyIntegerCode de devise
FacultatiforderList.amountIntegerMontant.
FacultatiforderList.statusStringDate de dernière mise à jour du statut.
FacultatiforderList.orderNumberStringNuméro de l'ordre de paiement.

Exemple de réponse

{
  "orderList" : [ {
    "amount" : 1,
    "orderNumber" : "2344552",
    "id" : 3,
    "eventDate" : "2020-04-30",
  } ]
}

getTransactionDetails

Obtenez les détails de la transaction.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoireutrnnoLongIdentifiant de transaction dans SVFE
FacultatifreversalBooleanIndicateur de reversal.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoiretransactionObjectParamètres de transaction.
Facultatiftransaction.boWriteOffDateDateTimeHeure et date de débit SVBO.
Obligatoiretransaction.authorizationDateDateTimeDate/heure d'autorisation.
Obligatoiretransaction.transactionTypeStringType de transaction.
Obligatoiretransaction.operationDirectionStringDirection de l'opération. Valeurs possibles : [CREDIT, DEBIT, NOOP]
Obligatoiretransaction.amountIntegerMontant de la transaction.
Obligatoiretransaction.currencyIntegerDevise de l'opération
Obligatoiretransaction.amountInAccountCurrencyIntegerMontant de la transaction dans la devise du compte.
Obligatoiretransaction.utrnnoLongIdentifiant de transaction dans SVFE
Facultatiftransaction.boUtrnnoLongIdentifiant de transaction dans SVBO.
Facultatiftransaction.transactionDescriptionStringDescription de la transaction.
Facultatiftransaction.feeDirectionStringDirection de commission. Valeurs possibles : [CREDIT, DEBIT, NOOP]
Facultatiftransaction.acquireFeeAmountIntegerMontant de commission acquéreur, calculé pour l'opération SVFE.
Facultatiftransaction.feIssuerFeeAmountIntegerMontant de commission émetteur, calculé pour le fonctionnement SVFE.
Facultatiftransaction.boIssuerFeeAmountIntegerMontant de commission émetteur, calculé pour l'opération SVBO.
Facultatiftransaction.mccLongMCC.
Facultatiftransaction.merchantCountryStringPays du marchand.
Facultatiftransaction.merchantCityStringVille du marchand.
Facultatiftransaction.merchantNameStringNom du marchand.
Facultatiftransaction.merchantIdStringIdentifiant du vendeur.
Facultatiftransaction.terminalAddressStringAdresse du terminal.
Facultatiftransaction.posDataCodeStringCode de données POS.
Facultatiftransaction.authorizationIdResponseStringIdentifiant d'autorisation.
Facultatiftransaction.reversalDateDateTimeDate/heure de reversal.
Facultatiftransaction.reversalBooleanIndicateur de reversal.
Facultatiftransaction.requestAmountIntegerMontant demandé pour la transaction.
Facultatiftransaction.terminalIdStringIdentifiant du terminal.
Facultatiftransaction.payIdStringIdentifiant assigné par le fournisseur de services.

Exemple de réponse

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

Obtenir l'historique des transactions pour une carte spécifique.

Paramètres de requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur d'autres variantes d'identification des cartes, qui peuvent être utilisées dans un projet réel, et non dans cette plateforme de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de la carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la plateforme de test.
FacultatifcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la plateforme de test.
FacultatifcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.cardIdStringIdentifiant de la carte. Pas pour la plateforme de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour la plateforme de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour la plateforme de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.customerIdStringID du client. Pas pour la plateforme de test.
FacultatifcardIdentification.customerNumberStringNuméro du client dans SVB02. Pas pour la plateforme de test.
FacultatifcardIdentification.barCodeStringCode-barres. Pas pour la plateforme de test.
FacultatifcardIdentification.cvv2StringCVV2. Pas pour la plateforme de test.
FacultatifcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque. Pas pour la plateforme de test.
FacultatifcardIdentification.tokenStringToken. Pas pour la plateforme de test.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte. Pas pour la plateforme de test.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour la plateforme de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour la plateforme de test.
ObligatoireperiodObjectPériode de temps.
Facultatifperiod.startDateTimeDate de début. Format AAAA-MM-JJ.
Facultatifperiod.endDateTimeDate de fin. Format AAAA-MM-JJ.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoiretransactionsObjectTransactions.
Facultatiftransactions.boWriteOffDateDateTimeHeure et date de débit SVBO. Pas pour la plateforme de test.
Obligatoiretransactions.authorizationDateDateTimeDate/heure d'autorisation.
Obligatoiretransactions.transactionTypeStringType de transaction.
Obligatoiretransactions.operationDirectionStringDirection de la transaction. Valeurs possibles : [CREDIT, DEBIT, NOOP]
Obligatoiretransactions.amountIntegerMontant de la transaction.
Obligatoiretransactions.currencyIntegerDevise.
Obligatoiretransactions.amountInAccountCurrencyIntegerMontant de la transaction dans la devise du compte.
Obligatoiretransactions.utrnnoLongIdentifiant de la transaction dans SVFE (identifiant interne SmartVista).
Facultatiftransactions.boUtrnnoLongIdentifiant de la transaction dans SVBO. (identifiant interne SmartVista).
Facultatiftransactions.transactionDescriptionStringDescription de la transaction.
Optionneltransactions.feeDirectionStringDirection de la commission. Valeurs possibles : [CREDIT, DEBIT, NOOP]
Optionneltransactions.acquireFeeAmountIntegerMontant de la commission de l'acquéreur.
Optionneltransactions.feIssuerFeeAmountIntegerMontant de la commission en ligne de l'émetteur.
Optionneltransactions.boIssuerFeeAmountIntegerMontant de la commission hors ligne de l'émetteur.
Optionneltransactions.mccLongMCC.
Optionneltransactions.merchantCountryStringPays du marchand.
Optionneltransactions.merchantCityStringVille du marchand.
Optionneltransactions.merchantNameStringNom du marchand.
Optionneltransactions.merchantIdStringIdentifiant du vendeur.
Optionneltransactions.terminalAddressStringAdresse du terminal.
Optionneltransactions.posDataCodeStringCode de données POS.
Optionneltransactions.authorizationIdResponseStringIdentifiant d'autorisation.
Optionneltransactions.reversalDateDateTimeDate/heure d'annulation.
Optionneltransactions.reversalBooleanIndicateur d'annulation.
Optionneltransactions.requestAmountIntegerMontant demandé pour la transaction.
Optionneltransactions.terminalIdStringIdentifiant du terminal.
Optionneltransactions.payIdStringIdentifiant assigné par le fournisseur de services.

Exemple de réponse

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

Obtenir la devise des transactions.

Exemple de requête

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

Paramètres de réponse

ObligatoireNomTypeDescription
Obligatoiretransaction.currencyIntegerCode de devise

Exemple de réponse

{
  "currencies": [
    978
  ]
}
Catégories:
BanqueAPI V1
Catégories
Résultats de recherche