Pour toute question, nous sommes à un clic

Poser une question

API Bancaire v.1

La plateforme de test vous donne la possibilité de tester certaines fonctions de base de gestion des cartes du package SmartVista — enregistrer des clients, créer des comptes, émettre des cartes virtuelles, définir des limites de cartes, transférer des fonds, etc.

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

Commencer

Utilisez la plateforme de test pour essayer les fonctions de base de gestion des cartes, telles que : enregistrement des porteurs de cartes, émission de cartes, définition des limites de cartes, transfert de fonds, etc.

Avant de commencer à utiliser la plateforme de test, vous devez créer un compte et obtenir un token de sécurité API.

Le token de sécurité API fournit un accès d'autorisation à l'API de la plateforme de test.

Guide de référence API

Il existe deux versions de l'API. L'API v.2 est une API RESTful. L'API v.1 est plutôt JSON via HTTP. Bien que les deux puissent être décrites dans la spécification Open API. Vous pouvez trouver la description technique complète ici :

Exemple de collection Postman

Vous pouvez télécharger la collection de requêtes API Postman pour tester certaines fonctions de base de gestion des cartes dans le package SmartVista.

sandbox_sv_v1.postman_collection.jsonTéléchargez la collection Postman pour le cas d'usage

Caractéristiques générales

Toutes les requêtes sont des requêtes HTTP POST. Le type de contenu pour les requêtes et les réponses est application / json.

API Bancaire v.1. Cas d'usage

Vous pouvez télécharger la collection de requêtes API Postman pour tester certaines fonctions de base de gestion des cartes dans la plateforme de test.

sandbox_sv_v1_scenario.postman_collection.jsonTéléchargez la collection Postman pour le cas d'usage

Commencez l'utilisation de l'API bancaire avec les étapes suivantes :

  1. Enregistrez un nouveau client avec la requête registerCustomer. Cette requête crée également un compte pour le client. Vous pouvez créer autant de clients que vous le souhaitez. Mais dans la plateforme de test, vous ne pouvez créer qu'un seul compte pour chaque client — cette limitation est ajoutée pour simplifier la logique de la plateforme de test. Dans un projet réel, vous pourrez créer autant de comptes pour chaque client que nécessaire pour votre entreprise.
  2. Émettez une nouvelle carte virtuelle avec createVirtualCard pour les comptes clients. Vous pouvez émettre autant de cartes que vous le souhaitez. Les cartes de la plateforme de test sont émises en état actif et sont instantanément prêtes à l'utilisation.

Maintenant vous pouvez tester les fonctions suivantes (dans un ordre arbitraire) :

Veuillez consulter les informations pour chaque requête ci-dessous, y compris les exemples avec une brève description de ce qu'il faut modifier pour faire ces requêtes vous-même. Utilisez les liens vers la documentation détaillée pour obtenir des informations supplémentaires.

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 requête

ObligatoireNomTypeDescription
ObligatoireproductNameStringIdentifiant du modèle client qui sera utilisé pour créer le client. Dans l'environnement de test, il n'y a qu'un seul modèle 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 client pour un projet spécifique. Nous l'avons créé pour l'environnement de test, et vous pouvez voir les paramètres nécessaires sous ce tableau.
ObligatoirenameStringDéfinit le paramètre dans le modèle client pour lequel la valeur correspondante est définie.
ObligatoirevalueStringValeur 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"
      }
    ]  
}'
POST

{
    "productName": "CRCU1001",
    "parameters": [
        {
            "name": "institutionId",
            "value": "@institutionId@"
        },
        {
            "name": "agent_number",
            "value": "@institutionId@"
        },
        {
            "name": "customer_number",
            "value": "@institutionId@_P015"
        },
        {
            "name": "product_id",
            "value": "@productId@"
        },
        {
            "name": "start_date",
            "value": "2021-09-06"
        },
        {
            "name": "service_id_acc",
            "value": "@serviceId@"
        },
        {
            "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 réponse

ObligatoireNomTypeDescription
ObligatoirecustomerNumberStringNuméro du client. Vous obtiendrez 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"
    }

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 requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification principaux de la carte. Il existe de nombreux attributs de carte et leurs combinaisons pour identifier une 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 variantes sont données à titre d'exemple.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. C'est cette méthode que nous utiliserons dans toutes les requêtes de l'environnement de test pour identifier la carte. Pour cette requête, utilisez toujours le numéro de carte "visaBin0000000000", où [visaBin] est le numéro du courrier électronique que vous avez reçu après l'enregistrement. Pour toutes les autres requêtes, utilisez le numéro de carte que vous obtiendrez après avoir créé la carte avec cette requête.
OptionnelcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Habituellement utilisé comme l'un des paramètres possibles d'identification de carte, mais pas dans ce projet de terrain d'essai, pour éviter la gestion des clés. Ne l'utilisez pas ici.
OptionnelcardIdentification.cardNumberMaskStringNuméro de carte masqué. Méthode commune d'identification de carte en combinaison avec le numéro de téléphone ou quelques autres données de carte, mais pas celle qui est utilisée dans le terrain d'essai. Ne l'utilisez pas ici.
OptionnelcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Méthode commune d'identification de carte en combinaison avec le numéro de téléphone, et non celle qui est utilisée dans le terrain d'essai. Ne l'utilisez pas ici.
OptionnelcardIdentification.cardIdStringIdentifiant de carte. Pas pour le terrain d'essai.
OptionnelcardIdentification.expDateStringDate d'expiration de la carte. Souvent utilisée avec certains autres attributs de carte. Pas pour le terrain d'essai.
OptionnelcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour le terrain d'essai.
OptionnelcardIdentification.phoneNumberStringTéléphone du client. Souvent utilisé avec certains autres attributs de carte. Pas pour le terrain d'essai.
OptionnelcardIdentification.cardholderIdStringIdentifiant du titulaire de carte. Pas pour le terrain d'essai.
OptionnelcardIdentification.customerIdStringID client. Pas pour le terrain d'essai.
OptionnelcardIdentification.customerNumberStringNuméro client dans SVB02. Pas pour le terrain d'essai.
OptionnelcardIdentification.barCodeStringCode-barres. Pas pour le terrain d'essai.
OptionnelcardIdentification.cvv2StringCVV2. Pas pour le terrain d'essai.
OptionnelcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour le terrain d'essai.
OptionnelcardIdentification.tokenStringJeton. Pas pour le terrain d'essai.
OptionnelcardIdentification.cardTypeCodeStringCode de type de carte. Pas pour le terrain d'essai.
OptionnelcardIdentification.emailStringCourrier électronique. Pas pour le terrain d'essai.
OptionnelcardIdentification.institutionIdStringIdentifiant interne d'établissement. Pas pour le terrain d'essai.
ObligatoirevirtualCardIdentificationObjectParamètres de carte virtuelle. expDate et productType sont obligatoires.
ObligatoirevirtualCardIdentification.expDateStringDate d'expiration de la carte. N'importe quelle date future au format «AAAAAMM».
ObligatoirevirtualCardIdentification.productTypeStringType de produit. Identifie le produit de carte pour la carte. Dans le terrain d'essai doit toujours être le numéro constant «16», car nous configurons un produit pour vous.
OptionnelvirtualCardIdentification.cardNumberStringNuméro de carte. Pas pour le terrain d'essai.
OptionnelvirtualCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour le terrain d'essai.
OptionnelvirtualCardIdentification.cardIdStringIdentifiant de carte. Pas pour le terrain d'essai.
OptionnelvirtualCardIdentification.barCodeStringCode-barres. Pas pour le terrain d'essai.
OptionnelvirtualCardIdentification.cvv2StringCVV2/CVC2. Pas pour le terrain d'essai.
ObligatoireamountIntegerLimite par défaut pour les cartes virtuelles nouvellement créées. Dans le terrain d'essai doit être le nombre constant «0».
ObligatoirecurrencyIntegerDevise. Code numérique de devise ISO 4217. Utilisez «978» pour le terrain d'essai.
ObligatoireaccountNumberStringNuméro de compte pour l'identification primaire de carte. Utilisez le numéro de compte obtenu avec la méthode registerCustomer().
FacultatifdeliveryMethodStringMéthode de livraison des paramètres de la carte virtuelle. Valeurs possibles : [WS, HALF_AND_HALF] . WS — tous les paramètres, livrés 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 le CVV2 et l'autre moitié du numéro de carte masqué (1111 //// //// 1111). Utilisez la valeur « WS » pour la plateforme de test.
FacultatifpersonalDataObjectDonnées personnelles du titulaire de la carte. Pas pour la plateforme de test.
FacultatifpersonalData.firstNameStringPas pour la plateforme de test.
FacultatifpersonalData.lastNameStringPas pour la plateforme de test.
FacultatifcardAcceptorParametersObjectParamètres du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentificateur du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentificateur du vendeur. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du vendeur. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal. Pas pour la plateforme 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": "5570_P018"
      },
    "virtualCardIdentification": {
        "expDate": 202612,
        "productType": "5C"
    },
    "amount": 0,
    "currency": 978,
    "accountNumber": "5570978700000006484",
    "deliveryMethod": "WS"
}'
POST

{
    "cardIdentification": {
        "cardNumber": "@visaBin@0000000000",
        "phoneNumber": "319220977337",
        "customerId": "{customerNumber de la réponse /registerCustomer}"
    },
    "virtualCardIdentification": {
        "expDate": 202612,
        "productType": "5C"
    },
    "amount": 0,
    "currency": 978,
    "accountNumber": "{accountNumber de la réponse /registerCustomer}",
    "deliveryMethod": "WS"
 }

Paramètres de réponse

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

Exemple de réponse

{
	    "virtualCardIdentification": {
            "cardNumber": "4140050090452283",
            "cardId": "100000245262",
            "expDate": "202612",
            "productType": "5C"
      }
}

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 la plateforme de test. Initialement, les limites pour une carte spécifique sont héritées des paramètres du produit. Vous pouvez modifier les valeurs des limites pour une carte spécifique avec changeCardLimits.

Les limites suivantes sont disponibles (les types de cycle sont indiqués pour le paramétrage 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 la demande

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur les autres variantes 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éponseCreateVirtualCard().
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 titulaire de la carte. Pas pour le terrain d'essai.
FacultatifcardIdentification.customerIdStringID du client. Pas pour le terrain d'essai.
FacultatifcardIdentification.customerNumberStringNuméro du 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'établissement. Pas pour le terrain d'essai.

Exemple de demande

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

{
  "cardIdentification" : {
    "cardId" : "{cardId de la réponse /createVirtualCard}"
  }
}

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoirelimitsObjectListe des limites de la carte.
Obligatoirelimits.nameStringDénomination de la limite.
Facultatiflimits.startDateDateTimeDate de début de la limite Pas pour le terrain d'essai.
Facultatiflimits.endDateDateTimeDate de fin de la limite. Pas pour le terrain d'essai.
Facultatiflimits.valueLongValeur de la limite.
Facultatiflimits.cycleTypeIntegerType de cycle. Plusieurs types de cycles de limites sont possibles – quotidiens, mensuels, etc.
Facultatiflimits.cycleLengthIntegerDurée du cycle. Par exemple, la valeur 2 pour une limite mensuelle signifie 2 mois.
Facultatiflimits.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": []
            }
        ]
    }

changeCardLimit

Modifier les valeurs des limites pour une carte spécifique. L'ensemble des 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 indiqué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 la requête

ObligationNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur les autres variantes 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éponseCreateVirtualCard().
OptionnelcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la plateforme de test.
OptionnelcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la plateforme de test.
OptionnelcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la plateforme de test.
OptionnelcardIdentification.cardIdStringIdentifiant de la carte. Pas pour la plateforme de test.
OptionnelcardIdentification.expDateStringDate d'expiration de la carte. Pas pour la plateforme de test.
OptionnelcardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour la plateforme de test.
OptionnelcardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
OptionnelcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la plateforme de test. Pas pour la plateforme de test.
OptionnelcardIdentification.customerIdStringID du client. Pas pour la plateforme de test.
OptionnelcardIdentification.customerNumberStringNuméro du client dans SVB02. Pas pour la plateforme de test.
OptionnelcardIdentification.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.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.
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 requête

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": "100000245259"
      },
    "limit": {
        "name": "LMTP0112",
        "value": 13000000,
        "cycleType": 4,
        "cycleLength": 1
    }
}'
POST

{
    "cardIdentification": {
        "cardId": "{cardId de la réponse /createVirtualCard}"
    },
    "limit": {
        "name": "LMTP0112",
        "value": 13000000,
        "cycleType": 4,
        "cycleLength": 1
    }
 }

Paramètres de réponse

Caractère obligatoireNomTypeDescription
ObligatoireresponseCodeStringCode d'achèvement de l'opération dans SmartVista. 00 signifie succès.

Exemple de réponse

{
      "responseCode": "00",
      "processingCode": "710000",
      "systemTraceAuditNumber": 609644,
      "localTransactionDate": "2024-10-23T08:23:28"
    }

getCardData

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

Paramètres de requête

Caractère obligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de carte. cardNumber est requis. Pour obtenir des informations plus détaillées sur les autres variantes 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.
OptionnelcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour l'environnement de test.
OptionnelcardIdentification.customerIdStringID du client. Pas pour l'environnement de test.
OptionnelcardIdentification.customerNumberStringNuméro du client dans SVB02. Pas pour l'environnement de test.
OptionnelcardIdentification.barCodeStringCode-barres. Pas pour l'environnement de test.
OptionnelcardIdentification.cvv2StringCVV2. Pas pour l'environnement de test.
OptionnelcardIdentification.externalCardIdStringIdentifiant de la carte dans le système externe de la banque. Pas pour l'environnement de test.
OptionnelcardIdentification.tokenStringToken. Pas pour l'environnement de test.
OptionnelcardIdentification.cardTypeCodeStringCode du type de carte. Pas pour l'environnement de test.
OptionnelcardIdentification.emailStringCourrier électronique. Pas pour l'environnement de test.
OptionnelcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour l'environnement de test.
OptionnelrsaPublicKeyByteArrayClé publique pour le chiffrement du numéro de carte dans le message de réponse. Pas pour l'environnement 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": "100000245259"
      }
}'
POST

{
  "cardIdentification" : {
    "cardId" : "{cardId de la réponse /createVirtualCard}"
  }
}

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoirecardDataObjectParamètres de la carte.
OptionnelcardData.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour l'environnement de test.
OptionnelcardData.cardNumberMaskStringNuméro de carte masqué. Pas pour l'environnement de test.
ObligatoirecardData.cardNumberStringNuméro de carte.
OptionnelcardData.expiryDateStringDate d'expiration de la carte. Au format AAAAMMM.
OptionnelcardData.formattedExpiryDateStringDate d'expiration de la carte formatée par l'utilisateur. Pas pour l'environnement de test.
OptionnelcardData.cardIdStringIdentifiant de la carte. C'est l'identifiant interne de la carte SmartVista qui peut être utilisé pour identifier la carte pour les applications non compatibles avec PCI DSS.
OptionnelcardData.hotCardStatusIntegerStatut de la carte.
OptionnelcardData.cardTypeNameStringType de carte.
OptionnelcardData.embossedNameStringNom sur le plastique. A du sens pour les cartes plastiques embossées, et non pour les cartes virtuelles dans l'environnement de test.
OptionnelcardData.customerIdStringID du client.
OptionnelcardData.customerNameStringNom du client. Pas pour l'environnement de test.
OptionnelcardData.personIdStringIdentifiant du porteur de carte. Pas pour l'environnement de test.
OptionnelcardData.pinDenialCounterIntegerNombre de tentatives de saisie incorrecte du code PIN
OptionnelcardData.plasticNumberIntegerNuméro du plastique. Pas pour l'environnement de test.
OptionnelcardData.hotCardStatusDescriptionStringDescription du statut de la carte.
OptionnelcardData.cardIsPrimaryBooleanDrapeau de carte principale. Toujours false pour l'environnement de test.
OptionnelcardData.cardBindToCustomerBooleanDrapeau de liaison de la carte au client. Toujours false pour l'environnement de test.
OptionnelcardData.customerIsCardholderBooleanDrapeau indiquant si le client est porteur de la 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.
FacultatifcardData.lastWrongPinDateDateTimeDate/heure de la dernière tentative de saisie d'un code PIN incorrect. Pas pour l'environnement de test.
FacultatifcardData.cardCreationDateDateTimeDate d'émission de la carte. Pas pour l'environnement de test.
FacultatifcardData.cardBlockingDateDateTimeDate/heure de blocage de la carte. Pas pour l'environnement de test.
FacultatifcardData.directDebitAccountStringCompte utilisé pour les paiements automatiques. Pas pour l'environnement de test.
FacultatifcardData.cardholderMobilePhoneNumberStringNuméro de téléphone du porteur de la carte. Pas pour l'environnement de test.
FacultatifcardData.accountsObjectListe des comptes pour la carte. Dans l'environnement de test, il ne doit y avoir qu'un seul compte.
Obligatoireaccounts.numberStringNuméro de compte.
Obligatoireaccounts.currencyIntegerDevise du compte
Facultatifaccounts.currencyAlphaCodeStringCode alphabétique de la devise du compte.
Obligatoireaccounts.balanceIntegerSolde du compte.
Facultatifaccounts.creditLimitIntegerLimite de crédit.
Obligatoireaccounts.customerIdStringID du client.
Facultatifaccounts.defaultAccountBooleanIndicateur du compte par défaut. Toujours true pour l'environnement de test.

Exemple de réponse

{
        "cardData": {
            "cardNumber": "4140050021658271",
            "expiryDate": "202301",
            "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": []
        }
    }

blockCard

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

Paramètres de la requête

ObligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. 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 cet environnement de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
FacultatifcardIdentification.encryptedCardNumberByteArrayNuméro de carte crypté. 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 la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.expDateStringDate d'expiration de la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.plasticNumberIntegerNuméro du plastique. Pas pour l'environnement de test.
FacultatifcardIdentification.phoneNumberStringTéléphone du client. Pas pour l'environnement de test.
FacultatifcardIdentification.cardholderIdStringIdentifiant du porteur de la carte. Pas pour l'environnement de test.
FacultatifcardIdentification.customerIdStringID du client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro du 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 la 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 du type de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour l'environnement de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution.
ObligatoirehotCardStatusIntegerStatut de la carte. Should be 6 for the Sandbox. Cela signifie que la carte est bloquée et doit être confisquée lors d'une tentative d'utilisation.
FacultatifcardAcceptorParametersObjectParamètres du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantIdentificationStringIdentifiant du commerçant. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.merchantTypeStringCode de catégorie du commerçant. Pas pour la plateforme de test.
FacultatifcardAcceptorParameters.nameAndLocationStringAdresse de localisation du terminal. Pas pour la plateforme 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": "100000245259"
      },
    "hotCardStatus": 6
}'
POST

{
    "cardIdentification": {
        "cardNumber": "{cardNumber de la réponse /createVirtualCard}"
    },
    "hotCardStatus": 6
 }

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": "910000",
        "systemTraceAuditNumber": 620397,
        "localTransactionDate": "2021-09-23T14:37:36"
    }

validateCard

Débloquer la carte.

Paramètres de requête

Caractère obligatoireNomTypeDescription
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Variantes possibles d'identification : (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.tokenStringToken.
FacultatifcardIdentification.cardTypeCodeStringCode du type de carte.
FacultatifcardIdentification.emailStringCourrier électronique.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'institution.
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/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      }
}'
POST

{
  "cardIdentification" : {
    "cardId" : "{cardId de la réponse /createVirtualCard}"
  }
}

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": "980000",
    "systemTraceAuditNumber": 320252,
    "localTransactionDate": "2024-02-08T15:06:53"
}

creditCard

Dépôt de fonds sur la carte.

Paramètres de requête

Caractère obligatoireNomTypeDescription
OptionnelpreAuthorizationBooleanIndicateur de pré-autorisation.
ObligatoirecardIdentificationObjectParamètres d'identification de la carte. Pour obtenir des informations plus détaillées sur d'autres variantes d'identification de 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.
OptionnelcardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la zone de test.
OptionnelcardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la zone de test.
OptionnelcardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la zone de test.
OptionnelcardIdentification.cardIdStringIdentifiant de carte. Pas pour la zone de test.
OptionnelcardIdentification.expDateStringDate d'expiration de la carte. Pas pour la zone de test.
OptionnelcardIdentification.plasticNumberIntegerNuméro de plastique Pas pour la zone de test.
OptionnelcardIdentification.phoneNumberStringTéléphone du client. Pas pour la zone de test.
OptionnelcardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la zone de test.
OptionnelcardIdentification.customerIdStringID du client. Pas pour la zone de test.
OptionnelcardIdentification.customerNumberStringNuméro du client dans SVB02. Pas pour la zone de test.
OptionnelcardIdentification.barCodeStringCode-barres. Pas pour la zone de test.
OptionnelcardIdentification.cvv2StringCVV2. Pas pour la zone de test.
OptionnelcardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour la zone de test.
OptionnelcardIdentification.tokenStringJeton. Pas pour la zone de test.
OptionnelcardIdentification.cardTypeCodeStringCode du type de carte. Pas pour la zone de test.
OptionnelcardIdentification.emailStringCourrier électronique. Pas pour la zone de test.
OptionnelcardIdentification.institutionIdStringIdentifiant interne de l'institution. Pas pour la zone de test.
ObligatoireamountIntegerMontant.
ObligatoirecurrencyIntegerDevise. Code numérique de devise ISO 4217. Use 978 for the Sandbox.
OptionneltdsObjectParamètres de transaction 3DS.
Optionneltds.xidStringIdentifiant de transaction VISA 3DS. Pas pour la zone de test.
Optionneltds.cavvStringValeur de vérification d'authentification VISA. Pas pour la zone de test.
Optionneltds.ucafStringChamp d'authentification universelle Mastercard. Pas pour la zone de test.
Optionneltds.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 zone de test.
OptionnelcardAcceptorParametersObjectParamètres du terminal. Pas pour la zone de test.
OptionnelcardAcceptorParameters.terminalIdentificationStringIdentifiant du terminal. Pas pour la zone de test.
OptionnelcardAcceptorParameters.merchantIdentificationStringIdentifiant du marchand. Pas pour la zone de test.
OptionnelcardAcceptorParameters.merchantTypeStringCode de catégorie du marchand. Pas pour la zone de test.
OptionnelcardAcceptorParameters.nameAndLocationStringAdresse d'emplacement du terminal. Pas pour la zone de test.

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": "4140050090966613",
    "expDate": 202612
  },
  "amount" : 10000,
  "currency" : 978
}'
POST

{
  "cardIdentification" : {
    "cardNumber" : "{cardNumber from /createVirtualCard response}",
    "expDate" : 202612
  },
  "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.
FacultatifauthorizationIdResponseStringIdentifiant d'autorisation.
FacultatifuniqueReferenceNumberStringNuméro de référence unique de l'opération.
FacultatifotpStringMot de passe à usage unique. Pas pour la plateforme de test.
FacultatifacquirerFeeAmountStringMontant de la commission de l'acquéreur. Pas pour la plateforme de test.
FacultatifissuerFeeAmountStringMontant de la commission de l'émetteur. Pas pour la plateforme de test.
FacultatifpaymentSpecificDataObjectDonnées spéciales sur le paiement.

Exemple de réponse

{
      "responseCode": "00",
      "processingCode": "270000",
      "systemTraceAuditNumber": 609652,
      "localTransactionDate": "2024-10-23T08:29:18",
      "rrn": "000003997389",
      "authorizationIdResponse": "997389",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
   }

p2pTransfer

Transfert p2p de carte à carte.

Paramètres de la requête

Caractère obligatoireNomTypeDescription
FacultatifpreAuthorizationBooleanIndicateur d'autorisation préalable.
ObligatoiresourceCardIdentificationObjectParamètres d'identification de la carte pour la carte source. Pour obtenir des informations plus détaillées sur les autres variantes 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.
ObligatoiresourceCardIdentification.cardNumberStringNuméro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
ObligatoiresourceCardIdentification.expDateStringDate d'expiration de la carte. Format AAAABB.
FacultatifsourceCardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cardIdStringIdentifiant de carte. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.plasticNumberIntegerNuméro de plastique. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cardholderIdStringIdentifiant du porteur de carte. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.customerIdStringID client. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.customerNumberStringNuméro client dans SVB02. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.barCodeStringCode-barres. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cvv2StringCVV2. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.externalCardIdStringIdentifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.tokenStringJeton. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.cardTypeCodeStringCode de type de carte. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.emailStringCourrier électronique. Pas pour la plateforme de test.
FacultatifsourceCardIdentification.institutionIdStringIdentifiant interne d'établissement. Pas pour la plateforme de test.
ObligatoiredestinationCardIdentificationObjectParamètres d'identification de la carte de crédit. Pour obtenir des informations plus détaillées sur les autres variantes 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.
ObligatoiredestinationCardIdentification.cardNumberStringNuméro de carte. Vous le recevrez dans la réponseCreateVirtualCard().
FacultatifdestinationCardIdentification.encryptedCardNumberByteArrayNuméro de carte chiffré. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardNumberMaskStringNuméro de carte masqué. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardLastDigitMaskStringDerniers chiffres du numéro de carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardIdStringIdentifiant de carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.expDateStringDate d'expiration de la carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.plasticNumberIntegerNuméro de plastique Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.phoneNumberStringTéléphone du client. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.cardholderIdStringIdentifiant du détenteur de carte. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.customerIdStringID client. Pas pour la plateforme de test.
FacultatifdestinationCardIdentification.customerNumberStringNuméro de 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. Use 978 for the Sandbox.
FacultatifsourceAccountNumberStringNuméro de carte à partir de laquelle le débit des fonds s'effectue. Pas pour la plateforme de test.
FacultatifdestinationAccountNumberStringNuméro de carte sur laquelle le crédit s'effectue. 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, Prénom ».
ObligatoiresenderReceiverInfo.senderAddressStringAdresse de l'expéditeur.
FacultatifsenderReceiverInfo.senderCityStringVille de l'expéditeur. Pas pour la plateforme de test.
FacultatifsenderReceiverInfo.senderCountryStringCode de 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. Tout 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 de localisation du terminal. Pas pour la plateforme de test.
FacultatifsecurityLevelIndicatorStringIndicateur de niveau de sécurité. Pas pour la plateforme de test.
FacultatiforiginalTransactionParametersObjectParamètres de la transaction originale. 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 la 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 '{
  "sourceCardIdentification": {
    "cardNumber": "4140050090966613",
    "expDate": "202612"
  },
    "destinationCardIdentification": {
      "cardNumber": "4165850095602372"
  },
  "amount": 10000,
  "currency": 978,
  "senderReceiverInfo": {
    "senderName": "Tor, John",
    "senderAddress": "New York, USA"
  },
  "pointOfServiceDataCode": "810"
}'
POST

{
    "sourceCardIdentification": {
        "cardNumber": "{cardNumber de la réponse /createVirtualCard}",
        "expDate": "202612"
      },
    "destinationCardIdentification": {
        "cardNumber": "4165850095602372"
    },
    "amount": 10000,
    "currency": 978,
    "senderReceiverInfo": {
        "senderName": "Tor, John",
        "senderAddress": "New York, USA"
    },
    "pointOfServiceDataCode": "810"
}

Paramètres de réponse

ObligatoireNomTypeDescription
ObligatoireresponseCodeStringCode d'achèvement de l'opération. 00 signifie succès.
ObligatoireprocessingCodeStringcode de traitement.
ObligatoiresystemTraceAuditNumberIntegerNuméro d'enregistrement d'audit
ObligatoirelocalTransactionDateDateTimeDate de la 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": 609665,
      "localTransactionDate": "2024-10-23T08:42:06",
      "rrn": "000003997403",
      "authorizationIdResponse": "997405",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
    }

getTransactions

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

Paramètres de demande

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 sur cette plateforme de test, consultez la description de createVirtualCard.
ObligatoirecardIdentification.cardNumberStringNuméro de la carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
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 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 du client. Pas pour l'environnement de test.
FacultatifcardIdentification.customerNumberStringNuméro du 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 la 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 du type de carte. Pas pour l'environnement de test.
FacultatifcardIdentification.emailStringCourrier électronique. Pas pour l'environnement de test.
FacultatifcardIdentification.institutionIdStringIdentifiant interne de l'établissement. Pas pour l'environnement 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": "100000245258"
  },
  "period": {
    "start": "2024-10-01",
    "end": "2024-10-23"
  }
}'
POST

{
    "cardIdentification": {
        "cardId": "{cardId de la réponse /createVirtualCard}"
    },
    "period": {
        "start": "2024-10-01",
        "end": "2024-10-23"
    }
 }

Paramètres de réponse

Caractère obligatoireNomTypeDescription
ObligatoiretransactionsObjectTransactions.
Facultatiftransactions.boWriteOffDateDateTimeHeure et date de débit SVBO. Pas pour l'environnement de test.
Obligatoiretransactions.authorizationDateDateTimeDate/heure d'autorisation.
Obligatoiretransactions.transactionTypeStringType de transaction.
Obligatoiretransactions.operationDirectionStringDirection de l'opération. 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.
Facultatiftransactions.feeDirectionStringDirection de la commission. Valeurs possibles: [CREDIT, DEBIT, NOOP]
Facultatiftransactions.acquireFeeAmountIntegerMontant de la commission de l'acquéreur.
Facultatiftransactions.feIssuerFeeAmountIntegerMontant de la commission en ligne de l'émetteur.
Facultatiftransactions.boIssuerFeeAmountIntegerMontant de la commission hors ligne de l'émetteur.
Facultatiftransactions.mccLongMCC.
Facultatiftransactions.merchantCountryStringPays du marchand.
Facultatiftransactions.merchantCityStringVille du marchand.
Facultatiftransactions.merchantNameStringNom du marchand.
Facultatiftransactions.merchantIdStringIdentifiant du vendeur.
Facultatiftransactions.terminalAddressStringAdresse du terminal.
Facultatiftransactions.posDataCodeStringCode de données POS.
Facultatiftransactions.authorizationIdResponseStringIdentifiant d'autorisation.
Facultatiftransactions.reversalDateDateTimeDate/heure du reversal.
Facultatiftransactions.reversalBooleanDrapeau de réversion.
Facultatiftransactions.requestAmountIntegerMontant demandé pour la transaction.
Facultatiftransactions.terminalIdStringIdentifiant du terminal.
Facultatiftransactions.payIdStringIdentifiant attribué 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
            }
        ]
    }
Catégories:
BanqueAPI V1
Catégories
Résultats de recherche