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.

Té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.

Té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

Obligatoire Nom Type Description
Obligatoire productName String Identifiant 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 ».
Obligatoire parameters Object Liste 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.
Obligatoire name String Définit le paramètre dans le modèle client pour lequel la valeur correspondante est définie.
Obligatoire value String Valeur 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

Obligatoire Nom Type Description
Obligatoire customerNumber String Numé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éé.
Obligatoire accountNumber String Numé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

Obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numé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.
Optionnel cardIdentification.encryptedCardNumber ByteArray Numé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.
Optionnel cardIdentification.cardNumberMask String Numé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.
Optionnel cardIdentification.cardLastDigitMask String Derniers 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.
Optionnel cardIdentification.cardId String Identifiant de carte. Pas pour le terrain d'essai.
Optionnel cardIdentification.expDate String Date d'expiration de la carte. Souvent utilisée avec certains autres attributs de carte. Pas pour le terrain d'essai.
Optionnel cardIdentification.plasticNumber Integer Numéro de plastique. Pas pour le terrain d'essai.
Optionnel cardIdentification.phoneNumber String Téléphone du client. Souvent utilisé avec certains autres attributs de carte. Pas pour le terrain d'essai.
Optionnel cardIdentification.cardholderId String Identifiant du titulaire de carte. Pas pour le terrain d'essai.
Optionnel cardIdentification.customerId String ID client. Pas pour le terrain d'essai.
Optionnel cardIdentification.customerNumber String Numéro client dans SVB02. Pas pour le terrain d'essai.
Optionnel cardIdentification.barCode String Code-barres. Pas pour le terrain d'essai.
Optionnel cardIdentification.cvv2 String CVV2. Pas pour le terrain d'essai.
Optionnel cardIdentification.externalCardId String Identifiant de carte dans le système externe de la banque. Pas pour le terrain d'essai.
Optionnel cardIdentification.token String Jeton. Pas pour le terrain d'essai.
Optionnel cardIdentification.cardTypeCode String Code de type de carte. Pas pour le terrain d'essai.
Optionnel cardIdentification.email String Courrier électronique. Pas pour le terrain d'essai.
Optionnel cardIdentification.institutionId String Identifiant interne d'établissement. Pas pour le terrain d'essai.
Obligatoire virtualCardIdentification Object Paramètres de carte virtuelle. expDate et productType sont obligatoires.
Obligatoire virtualCardIdentification.expDate String Date d'expiration de la carte. N'importe quelle date future au format «AAAAAMM».
Obligatoire virtualCardIdentification.productType String Type 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.
Optionnel virtualCardIdentification.cardNumber String Numéro de carte. Pas pour le terrain d'essai.
Optionnel virtualCardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour le terrain d'essai.
Optionnel virtualCardIdentification.cardId String Identifiant de carte. Pas pour le terrain d'essai.
Optionnel virtualCardIdentification.barCode String Code-barres. Pas pour le terrain d'essai.
Optionnel virtualCardIdentification.cvv2 String CVV2/CVC2. Pas pour le terrain d'essai.
Obligatoire amount Integer Limite par défaut pour les cartes virtuelles nouvellement créées. Dans le terrain d'essai doit être le nombre constant «0».
Obligatoire currency Integer Devise. Code numérique de devise ISO 4217. Utilisez «978» pour le terrain d'essai.
Obligatoire accountNumber String Numéro de compte pour l'identification primaire de carte. Utilisez le numéro de compte obtenu avec la méthode registerCustomer().
Facultatif deliveryMethod String Mé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.
Facultatif personalData Object Données personnelles du titulaire de la carte. Pas pour la plateforme de test.
Facultatif personalData.firstName String Pas pour la plateforme de test.
Facultatif personalData.lastName String Pas pour la plateforme de test.
Facultatif cardAcceptorParameters Object Paramètres du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.terminalIdentification String Identificateur du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantIdentification String Identificateur du vendeur. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantType String Code de catégorie du vendeur. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.nameAndLocation String Adresse 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

Obligation Nom Type Description
Obligatoire virtualCardIdentification Object Paramètres de la carte virtuelle.
Facultatif virtualCardIdentification.cardNumber String Numé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.
Facultatif virtualCardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Facultatif virtualCardIdentification.cardId String Identificateur de la carte. Pas pour la plateforme de test.
Obligatoire virtualCardIdentification.expDate String Date d'expiration de la carte. Pas pour la plateforme de test.
Obligatoire virtualCardIdentification.productType String Type de produit. Pas pour la plateforme de test.
Facultatif virtualCardIdentification.barCode String Code-barres. Pas pour la plateforme de test.
Facultatif virtualCardIdentification.cvv2 String CVV2/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

Obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
Facultatif cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour le terrain d'essai.
Facultatif cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour le terrain d'essai.
Facultatif cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour le terrain d'essai.
Facultatif cardIdentification.cardId String Identifiant de la carte. Pas pour le terrain d'essai.
Facultatif cardIdentification.expDate String Date d'expiration de la carte. Pas pour le terrain d'essai.
Facultatif cardIdentification.plasticNumber Integer Numéro du plastique Pas pour le terrain d'essai.
Facultatif cardIdentification.phoneNumber String Téléphone du client. Pas pour le terrain d'essai.
Facultatif cardIdentification.cardholderId String Identifiant du titulaire de la carte. Pas pour le terrain d'essai.
Facultatif cardIdentification.customerId String ID du client. Pas pour le terrain d'essai.
Facultatif cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour le terrain d'essai.
Facultatif cardIdentification.barCode String Code-barres. Pas pour le terrain d'essai.
Facultatif cardIdentification.cvv2 String CVV2. Pas pour le terrain d'essai.
Facultatif cardIdentification.externalCardId String Identifiant de la carte dans le système externe de la banque. Pas pour le terrain d'essai.
Facultatif cardIdentification.token String Token. Pas pour le terrain d'essai.
Facultatif cardIdentification.cardTypeCode String Code du type de carte. Pas pour le terrain d'essai.
Facultatif cardIdentification.email String Courrier électronique. Pas pour le terrain d'essai.
Facultatif cardIdentification.institutionId String Identifiant 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

Obligatoire Nom Type Description
Obligatoire limits Object Liste des limites de la carte.
Obligatoire limits.name String Dénomination de la limite.
Facultatif limits.startDate DateTime Date de début de la limite Pas pour le terrain d'essai.
Facultatif limits.endDate DateTime Date de fin de la limite. Pas pour le terrain d'essai.
Facultatif limits.value Long Valeur de la limite.
Facultatif limits.cycleType Integer Type de cycle. Plusieurs types de cycles de limites sont possibles – quotidiens, mensuels, etc.
Facultatif limits.cycleLength Integer Durée du cycle. Par exemple, la valeur 2 pour une limite mensuelle signifie 2 mois.
Facultatif limits.currency Integer Devise.
Optionnel limits.currentValue Long Valeur actuelle de la limite.
Obligatoire limits.limitExceptions Object Limiter 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

Obligation Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
Optionnel cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la plateforme de test.
Optionnel cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Optionnel cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la plateforme de test.
Optionnel cardIdentification.cardId String Identifiant de la carte. Pas pour la plateforme de test.
Optionnel cardIdentification.expDate String Date d'expiration de la carte. Pas pour la plateforme de test.
Optionnel cardIdentification.plasticNumber Integer Numéro de plastique. Pas pour la plateforme de test.
Optionnel cardIdentification.phoneNumber String Téléphone du client. Pas pour la plateforme de test.
Optionnel cardIdentification.cardholderId String Identifiant du porteur de carte. Pas pour la plateforme de test. Pas pour la plateforme de test.
Optionnel cardIdentification.customerId String ID du client. Pas pour la plateforme de test.
Optionnel cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour la plateforme de test.
Optionnel cardIdentification.barCode String Code-barres. Pas pour la plateforme de test.
Facultatif cardIdentification.cvv2 String CVV2. Pas pour la plateforme de test.
Facultatif cardIdentification.externalCardId String Identifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
Facultatif cardIdentification.token String Token. Pas pour la plateforme de test.
Facultatif cardIdentification.cardTypeCode String Code du type de carte. Pas pour la plateforme de test.
Facultatif cardIdentification.email String Courrier électronique. Pas pour la plateforme de test.
Facultatif cardIdentification.institutionId String Identifiant interne de l'établissement. Pas pour la plateforme de test.
Obligatoire limit Object Paramètres de limite.
Obligatoire limit.name String Nom 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.
Facultatif limit.startDate DateTime Date de début de la limite. Pas pour la plateforme de test.
Facultatif limit.endDate DateTime Date de fin de la limite. Pas pour la plateforme de test.
Facultatif limit.value Long Valeur de la limite.
Facultatif limit.cycleType Integer Type de cycle.
Facultatif limit.cycleLength Integer Durée du cycle.
Facultatif limit.currency Integer Devise. Pas pour la plateforme de test.
Facultatif limit.currentValue Long Valeur actuelle de la limite. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters Object Paramètres du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.terminalIdentification String Identifiant du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantIdentification String Identifiant du marchand. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantType String Code de catégorie du marchand. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.nameAndLocation String Adresse 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 obligatoire Nom Type Description
Obligatoire responseCode String Code 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 obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard().
Facultatif cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la plateforme de test.
Facultatif cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Facultatif cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la plateforme de test.
Facultatif cardIdentification.cardId String Identifiant de carte. Pas pour la plateforme de test.
Facultatif cardIdentification.expDate String Date d'expiration de la carte. Pas pour la plateforme de test.
Facultatif cardIdentification.plasticNumber Integer Numéro de plastique. Pas pour la plateforme de test.
Facultatif cardIdentification.phoneNumber String Téléphone du client. Pas pour la plateforme de test.
Optionnel cardIdentification.cardholderId String Identifiant du porteur de carte. Pas pour l'environnement de test.
Optionnel cardIdentification.customerId String ID du client. Pas pour l'environnement de test.
Optionnel cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour l'environnement de test.
Optionnel cardIdentification.barCode String Code-barres. Pas pour l'environnement de test.
Optionnel cardIdentification.cvv2 String CVV2. Pas pour l'environnement de test.
Optionnel cardIdentification.externalCardId String Identifiant de la carte dans le système externe de la banque. Pas pour l'environnement de test.
Optionnel cardIdentification.token String Token. Pas pour l'environnement de test.
Optionnel cardIdentification.cardTypeCode String Code du type de carte. Pas pour l'environnement de test.
Optionnel cardIdentification.email String Courrier électronique. Pas pour l'environnement de test.
Optionnel cardIdentification.institutionId String Identifiant interne de l'établissement. Pas pour l'environnement de test.
Optionnel rsaPublicKey ByteArray Clé 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

Obligatoire Nom Type Description
Obligatoire cardData Object Paramètres de la carte.
Optionnel cardData.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour l'environnement de test.
Optionnel cardData.cardNumberMask String Numéro de carte masqué. Pas pour l'environnement de test.
Obligatoire cardData.cardNumber String Numéro de carte.
Optionnel cardData.expiryDate String Date d'expiration de la carte. Au format AAAAMMM.
Optionnel cardData.formattedExpiryDate String Date d'expiration de la carte formatée par l'utilisateur. Pas pour l'environnement de test.
Optionnel cardData.cardId String Identifiant 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.
Optionnel cardData.hotCardStatus Integer Statut de la carte.
Optionnel cardData.cardTypeName String Type de carte.
Optionnel cardData.embossedName String Nom sur le plastique. A du sens pour les cartes plastiques embossées, et non pour les cartes virtuelles dans l'environnement de test.
Optionnel cardData.customerId String ID du client.
Optionnel cardData.customerName String Nom du client. Pas pour l'environnement de test.
Optionnel cardData.personId String Identifiant du porteur de carte. Pas pour l'environnement de test.
Optionnel cardData.pinDenialCounter Integer Nombre de tentatives de saisie incorrecte du code PIN
Optionnel cardData.plasticNumber Integer Numéro du plastique. Pas pour l'environnement de test.
Optionnel cardData.hotCardStatusDescription String Description du statut de la carte.
Optionnel cardData.cardIsPrimary Boolean Drapeau de carte principale. Toujours false pour l'environnement de test.
Optionnel cardData.cardBindToCustomer Boolean Drapeau de liaison de la carte au client. Toujours false pour l'environnement de test.
Optionnel cardData.customerIsCardholder Boolean Drapeau indiquant si le client est porteur de la carte. Toujours false pour l'environnement de test.
Optionnel cardData.cardContractId String Identifiant du contrat de carte. Pas pour l'environnement de test.
Optionnel cardData.cardPlasticId String Identifiant du type de plastique. Pas pour l'environnement de test.
Optionnel cardData.cardPlasticDescription String Description du type de plastique. Pas pour l'environnement de test.
Optionnel cardData.memorableWord String Mot secret. Pas pour l'environnement de test.
Optionnel cardData.email String Courrier électronique. Pas pour l'environnement de test.
Facultatif cardData.lastWrongPinDate DateTime Date/heure de la dernière tentative de saisie d'un code PIN incorrect. Pas pour l'environnement de test.
Facultatif cardData.cardCreationDate DateTime Date d'émission de la carte. Pas pour l'environnement de test.
Facultatif cardData.cardBlockingDate DateTime Date/heure de blocage de la carte. Pas pour l'environnement de test.
Facultatif cardData.directDebitAccount String Compte utilisé pour les paiements automatiques. Pas pour l'environnement de test.
Facultatif cardData.cardholderMobilePhoneNumber String Numéro de téléphone du porteur de la carte. Pas pour l'environnement de test.
Facultatif cardData.accounts Object Liste des comptes pour la carte. Dans l'environnement de test, il ne doit y avoir qu'un seul compte.
Obligatoire accounts.number String Numéro de compte.
Obligatoire accounts.currency Integer Devise du compte
Facultatif accounts.currencyAlphaCode String Code alphabétique de la devise du compte.
Obligatoire accounts.balance Integer Solde du compte.
Facultatif accounts.creditLimit Integer Limite de crédit.
Obligatoire accounts.customerId String ID du client.
Facultatif accounts.defaultAccount Boolean Indicateur 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

Obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
Facultatif cardIdentification.encryptedCardNumber ByteArray Numéro de carte crypté. Pas pour l'environnement de test.
Facultatif cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour l'environnement de test.
Facultatif cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour l'environnement de test.
Facultatif cardIdentification.cardId String Identifiant de la carte. Pas pour l'environnement de test.
Facultatif cardIdentification.expDate String Date d'expiration de la carte. Pas pour l'environnement de test.
Facultatif cardIdentification.plasticNumber Integer Numéro du plastique. Pas pour l'environnement de test.
Facultatif cardIdentification.phoneNumber String Téléphone du client. Pas pour l'environnement de test.
Facultatif cardIdentification.cardholderId String Identifiant du porteur de la carte. Pas pour l'environnement de test.
Facultatif cardIdentification.customerId String ID du client. Pas pour l'environnement de test.
Facultatif cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour l'environnement de test.
Facultatif cardIdentification.barCode String Code-barres. Pas pour l'environnement de test.
Facultatif cardIdentification.cvv2 String CVV2. Pas pour l'environnement de test.
Facultatif cardIdentification.externalCardId String Identifiant de la carte dans le système externe de la banque. Pas pour l'environnement de test.
Facultatif cardIdentification.token String Token. Pas pour l'environnement de test.
Facultatif cardIdentification.cardTypeCode String Code du type de carte. Pas pour l'environnement de test.
Facultatif cardIdentification.email String Courrier électronique. Pas pour l'environnement de test.
Facultatif cardIdentification.institutionId String Identifiant interne de l'institution.
Obligatoire hotCardStatus Integer Statut 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.
Facultatif cardAcceptorParameters Object Paramètres du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.terminalIdentification String Identifiant du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantIdentification String Identifiant du commerçant. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantType String Code de catégorie du commerçant. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.nameAndLocation String Adresse 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 obligatoire Nom Type Description
Obligatoire responseCode String Code 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 obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramètres d'identification de la carte. Variantes possibles d'identification : (cardNumber) ou (cardId) ou (cardNumberMask et cardholderId) ou (cardNumberMask et phoneNumber).
Obligatoire cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré.
Obligatoire cardIdentification.cardNumberMask String Numéro de carte masqué.
Obligatoire cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte.
Obligatoire cardIdentification.cardNumber String Numéro de carte.
Facultatif cardIdentification.cardId String Identifiant de la carte.
Facultatif cardIdentification.expDate String Date d'expiration de la carte.
Facultatif cardIdentification.plasticNumber Integer Numéro de plastique
Facultatif cardIdentification.phoneNumber String Téléphone du client.
Facultatif cardIdentification.cardholderId String Identifiant du titulaire de la carte.
Facultatif cardIdentification.customerId String ID du client.
Facultatif cardIdentification.customerNumber String Numéro du client dans SVB02.
Facultatif cardIdentification.barCode String Code-barres.
Facultatif cardIdentification.cvv2 String CVV2.
Facultatif cardIdentification.externalCardId String Identifiant de la carte dans le système externe de la banque.
Facultatif cardIdentification.token String Token.
Facultatif cardIdentification.cardTypeCode String Code du type de carte.
Facultatif cardIdentification.email String Courrier électronique.
Facultatif cardIdentification.institutionId String Identifiant interne de l'institution.
Facultatif cardAcceptorParameters Object Paramètres du terminal.
Obligatoire cardAcceptorParameters.terminalIdentification String Identifiant du terminal.
Obligatoire cardAcceptorParameters.merchantIdentification String Identifiant du commerçant.
Obligatoire cardAcceptorParameters.merchantType String Code de catégorie du commerçant.
Facultatif cardAcceptorParameters.nameAndLocation String Adresse 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 obligatoire Nom Type Description
Obligatoire responseCode String Code 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 obligatoire Nom Type Description
Optionnel preAuthorization Boolean Indicateur de pré-autorisation.
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponse CreateVirtualCard.
Optionnel cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la zone de test.
Optionnel cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la zone de test.
Optionnel cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la zone de test.
Optionnel cardIdentification.cardId String Identifiant de carte. Pas pour la zone de test.
Optionnel cardIdentification.expDate String Date d'expiration de la carte. Pas pour la zone de test.
Optionnel cardIdentification.plasticNumber Integer Numéro de plastique Pas pour la zone de test.
Optionnel cardIdentification.phoneNumber String Téléphone du client. Pas pour la zone de test.
Optionnel cardIdentification.cardholderId String Identifiant du porteur de carte. Pas pour la zone de test.
Optionnel cardIdentification.customerId String ID du client. Pas pour la zone de test.
Optionnel cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour la zone de test.
Optionnel cardIdentification.barCode String Code-barres. Pas pour la zone de test.
Optionnel cardIdentification.cvv2 String CVV2. Pas pour la zone de test.
Optionnel cardIdentification.externalCardId String Identifiant de carte dans le système externe de la banque. Pas pour la zone de test.
Optionnel cardIdentification.token String Jeton. Pas pour la zone de test.
Optionnel cardIdentification.cardTypeCode String Code du type de carte. Pas pour la zone de test.
Optionnel cardIdentification.email String Courrier électronique. Pas pour la zone de test.
Optionnel cardIdentification.institutionId String Identifiant interne de l'institution. Pas pour la zone de test.
Obligatoire amount Integer Montant.
Obligatoire currency Integer Devise. Code numérique de devise ISO 4217. Use 978 for the Sandbox.
Optionnel tds Object Paramètres de transaction 3DS.
Optionnel tds.xid String Identifiant de transaction VISA 3DS. Pas pour la zone de test.
Optionnel tds.cavv String Valeur de vérification d'authentification VISA. Pas pour la zone de test.
Optionnel tds.ucaf String Champ d'authentification universelle Mastercard. Pas pour la zone de test.
Optionnel tds.authenticationIndicator String Type 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.
Optionnel cardAcceptorParameters Object Paramètres du terminal. Pas pour la zone de test.
Optionnel cardAcceptorParameters.terminalIdentification String Identifiant du terminal. Pas pour la zone de test.
Optionnel cardAcceptorParameters.merchantIdentification String Identifiant du marchand. Pas pour la zone de test.
Optionnel cardAcceptorParameters.merchantType String Code de catégorie du marchand. Pas pour la zone de test.
Optionnel cardAcceptorParameters.nameAndLocation String Adresse 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

Obligatoire Nom Type Description
Obligatoire responseCode String Code de fin d'opération SVFE. 00 signifie succès.
Obligatoire processingCode String code de traitement.
Obligatoire systemTraceAuditNumber Integer Numéro d'enregistrement d'audit
Obligatoire localTransactionDate DateTime Date de transaction. Format: date-heure
Obligatoire rrn String Identifiant externe RNN.
Facultatif authorizationIdResponse String Identifiant d'autorisation.
Facultatif uniqueReferenceNumber String Numéro de référence unique de l'opération.
Facultatif otp String Mot de passe à usage unique. Pas pour la plateforme de test.
Facultatif acquirerFeeAmount String Montant de la commission de l'acquéreur. Pas pour la plateforme de test.
Facultatif issuerFeeAmount String Montant de la commission de l'émetteur. Pas pour la plateforme de test.
Facultatif paymentSpecificData Object Donné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 obligatoire Nom Type Description
Facultatif preAuthorization Boolean Indicateur d'autorisation préalable.
Obligatoire sourceCardIdentification Object Paramè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.
Obligatoire sourceCardIdentification.cardNumber String Numéro de carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
Obligatoire sourceCardIdentification.expDate String Date d'expiration de la carte. Format AAAABB.
Facultatif sourceCardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cardId String Identifiant de carte. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.plasticNumber Integer Numéro de plastique. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.phoneNumber String Téléphone du client. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cardholderId String Identifiant du porteur de carte. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.customerId String ID client. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.customerNumber String Numéro client dans SVB02. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.barCode String Code-barres. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cvv2 String CVV2. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.externalCardId String Identifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.token String Jeton. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.cardTypeCode String Code de type de carte. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.email String Courrier électronique. Pas pour la plateforme de test.
Facultatif sourceCardIdentification.institutionId String Identifiant interne d'établissement. Pas pour la plateforme de test.
Obligatoire destinationCardIdentification Object Paramè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.
Obligatoire destinationCardIdentification.cardNumber String Numéro de carte. Vous le recevrez dans la réponseCreateVirtualCard().
Facultatif destinationCardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cardId String Identifiant de carte. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.expDate String Date d'expiration de la carte. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.plasticNumber Integer Numéro de plastique Pas pour la plateforme de test.
Facultatif destinationCardIdentification.phoneNumber String Téléphone du client. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cardholderId String Identifiant du détenteur de carte. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.customerId String ID client. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.customerNumber String Numéro de client dans SVB02. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.barCode String Code-barres. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cvv2 String CVV2. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.externalCardId String Identifiant de carte dans le système externe de la banque. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.token String Token. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.cardTypeCode String Code de type de carte. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.email String Courrier électronique. Pas pour la plateforme de test.
Facultatif destinationCardIdentification.institutionId String Identifiant interne de l'établissement. Pas pour la plateforme de test.
Obligatoire amount Integer Montant.
Obligatoire currency Integer Devise. Code numérique de devise ISO 4217. Use 978 for the Sandbox.
Facultatif sourceAccountNumber String Numéro de carte à partir de laquelle le débit des fonds s'effectue. Pas pour la plateforme de test.
Facultatif destinationAccountNumber String Numéro de carte sur laquelle le crédit s'effectue. Pas pour la plateforme de test.
Facultatif tds Object Paramètres de transaction 3DS. Pas pour la plateforme de test.
Facultatif tds.xid String Identifiant de transaction VISA 3DS. Pas pour la plateforme de test.
Facultatif tds.cavv String Valeur de vérification d'authentification VISA. Pas pour la plateforme de test.
Facultatif tds.ucaf String Champ d'authentification universelle Mastercard. Pas pour la plateforme de test.
Facultatif tds.authenticationIndicator String Type 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.
Obligatoire senderReceiverInfo Object Information sur l'expéditeur et le destinataire du paiement. Pas pour la plateforme de test.
Obligatoire senderReceiverInfo.senderName String Nom de l'expéditeur au format « Nom, Prénom ».
Obligatoire senderReceiverInfo.senderAddress String Adresse de l'expéditeur.
Facultatif senderReceiverInfo.senderCity String Ville de l'expéditeur. Pas pour la plateforme de test.
Facultatif senderReceiverInfo.senderCountry String Code de pays de l'expéditeur. Pas pour la plateforme de test.
Facultatif senderReceiverInfo.senderPostalCode String Code postal de l'expéditeur. Pas pour la plateforme de test.
Facultatif senderReceiverInfo.receiverName String Nom du destinataire au format « Nom de famille, Prénom ». Pas pour la plateforme de test.
Facultatif pointOfServiceDataCode String Ensemble 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.
Obligatoire pointOfServiceConditionCode String Code définissant les conditions de réalisation de la transaction au point de service. Tout texte.
Facultatif cardAcceptorParameters Object Paramètres du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.terminalIdentification String Identifiant du terminal. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantIdentification String Identifiant du marchand. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.merchantType String Code de catégorie du marchand. Pas pour la plateforme de test.
Facultatif cardAcceptorParameters.nameAndLocation String Adresse de localisation du terminal. Pas pour la plateforme de test.
Facultatif securityLevelIndicator String Indicateur de niveau de sécurité. Pas pour la plateforme de test.
Facultatif originalTransactionParameters Object Paramè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.
Facultatif originalTransactionParameters.systemTraceAuditNumber Integer Numéro d'enregistrement d'audit. Pas pour la plateforme de test.
Facultatif originalTransactionParameters.localTransactionDate DateTime Date de la transaction. Pas pour la plateforme de test.
Facultatif originalTransactionParameters.rrn String Identifiant externe RNN. Pas pour la plateforme de test.
Facultatif posCardholderPresence Integer Type de présence du porteur de carte au point de service. Pas pour la plateforme de test.
Facultatif businessApplicationIdentifier String Identifiant 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

Obligatoire Nom Type Description
Obligatoire responseCode String Code d'achèvement de l'opération. 00 signifie succès.
Obligatoire processingCode String code de traitement.
Obligatoire systemTraceAuditNumber Integer Numéro d'enregistrement d'audit
Obligatoire localTransactionDate DateTime Date de la transaction. Format : date-heure
Obligatoire rrn String Identifiant externe RNN.
Facultatif authorizationIdResponse String Identifiant d'autorisation.
Facultatif paymentSpecificData Object Donné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

Obligatoire Nom Type Description
Obligatoire cardIdentification Object Paramè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.
Obligatoire cardIdentification.cardNumber String Numéro de la carte. Vous l'obtiendrez dans la réponseCreateVirtualCard().
Facultatif cardIdentification.encryptedCardNumber ByteArray Numéro de carte chiffré. Pas pour la plateforme de test.
Facultatif cardIdentification.cardNumberMask String Numéro de carte masqué. Pas pour la plateforme de test.
Facultatif cardIdentification.cardLastDigitMask String Derniers chiffres du numéro de carte. Pas pour la plateforme de test.
Facultatif cardIdentification.cardId String Identifiant de la carte. Pas pour la plateforme de test.
Facultatif cardIdentification.expDate String Date d'expiration de la carte. Pas pour l'environnement de test.
Facultatif cardIdentification.plasticNumber Integer Numéro de plastique. Pas pour l'environnement de test.
Facultatif cardIdentification.phoneNumber String Téléphone du client. Pas pour l'environnement de test.
Facultatif cardIdentification.cardholderId String Identifiant du porteur de carte. Pas pour l'environnement de test.
Facultatif cardIdentification.customerId String ID du client. Pas pour l'environnement de test.
Facultatif cardIdentification.customerNumber String Numéro du client dans SVB02. Pas pour l'environnement de test.
Facultatif cardIdentification.barCode String Code-barres. Pas pour l'environnement de test.
Facultatif cardIdentification.cvv2 String CVV2. Pas pour l'environnement de test.
Facultatif cardIdentification.externalCardId String Identifiant de la carte dans le système externe de la banque. Pas pour l'environnement de test.
Facultatif cardIdentification.token String Token. Pas pour l'environnement de test.
Facultatif cardIdentification.cardTypeCode String Code du type de carte. Pas pour l'environnement de test.
Facultatif cardIdentification.email String Courrier électronique. Pas pour l'environnement de test.
Facultatif cardIdentification.institutionId String Identifiant interne de l'établissement. Pas pour l'environnement de test.
Obligatoire period Object Période de temps.
Facultatif period.start DateTime Date de début. Format AAAA-MM-JJ.
Facultatif period.end DateTime Date 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 obligatoire Nom Type Description
Obligatoire transactions Object Transactions.
Facultatif transactions.boWriteOffDate DateTime Heure et date de débit SVBO. Pas pour l'environnement de test.
Obligatoire transactions.authorizationDate DateTime Date/heure d'autorisation.
Obligatoire transactions.transactionType String Type de transaction.
Obligatoire transactions.operationDirection String Direction de l'opération. Valeurs possibles: [CREDIT, DEBIT, NOOP]
Obligatoire transactions.amount Integer Montant de la transaction.
Obligatoire transactions.currency Integer Devise.
Obligatoire transactions.amountInAccountCurrency Integer Montant de la transaction dans la devise du compte.
Obligatoire transactions.utrnno Long Identifiant de la transaction dans SVFE (identifiant interne SmartVista).
Facultatif transactions.boUtrnno Long Identifiant de la transaction dans SVBO. (identifiant interne SmartVista).
Facultatif transactions.transactionDescription String Description de la transaction.
Facultatif transactions.feeDirection String Direction de la commission. Valeurs possibles: [CREDIT, DEBIT, NOOP]
Facultatif transactions.acquireFeeAmount Integer Montant de la commission de l'acquéreur.
Facultatif transactions.feIssuerFeeAmount Integer Montant de la commission en ligne de l'émetteur.
Facultatif transactions.boIssuerFeeAmount Integer Montant de la commission hors ligne de l'émetteur.
Facultatif transactions.mcc Long MCC.
Facultatif transactions.merchantCountry String Pays du marchand.
Facultatif transactions.merchantCity String Ville du marchand.
Facultatif transactions.merchantName String Nom du marchand.
Facultatif transactions.merchantId String Identifiant du vendeur.
Facultatif transactions.terminalAddress String Adresse du terminal.
Facultatif transactions.posDataCode String Code de données POS.
Facultatif transactions.authorizationIdResponse String Identifiant d'autorisation.
Facultatif transactions.reversalDate DateTime Date/heure du reversal.
Facultatif transactions.reversal Boolean Drapeau de réversion.
Facultatif transactions.requestAmount Integer Montant demandé pour la transaction.
Facultatif transactions.terminalId String Identifiant du terminal.
Facultatif transactions.payId String Identifiant 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:
Banque API V1
Catégories
Résultats de recherche