Pour toute question, nous sommes à un clic

Poser une question

Transactions OCT

Informations générales sur OCT

OCT (Original Credit Transaction) – type spécial de transactions pour le crédit de fonds au bénéficiaire en temps réel.

Pour toutes les transactions OCT, les règles suivantes s'appliquent :

Scénario de traitement de transaction OCT

sequenceDiagram participant C as Client participant OS as Boutique en ligne participant PG as Passerelle de paiement C ->> OS: 1. Formation de commande OS ->> PG: 2. Enregistrement de commande PG -->> OS: 3. orderId, formUrl OS -->> C: 4. Redirection vers le formulaire de collecte des données de carte C ->> PG: 5. Envoi de données dans le formulaire rempli PG ->> PG: 6. Transfert de fonds PG -->> C: 7. Redirection du client vers la boutique en ligne C ->> OS: 8. Obtention de page avec résultat OS ->> PG: 9. Vérification du statut PG -->> OS: 10. Statut de commande OS -->> C: 11. Affichage du résultat
  1. Le porteur de carte (client) interagit avec la boutique en ligne pour créer une commande.
  2. Le système de la boutique en ligne enregistre la commande dans la passerelle de paiement via registerP2P.do. Les paramètres d'enregistrement utilisés incluent le montant du transfert, la devise, le numéro de commande dans le système du vendeur et l'URL de retour pour le client.
  3. La passerelle de paiement en réponse à la demande d'enregistrement retourne un identifiant unique de commande dans le système de paiement et l'URL pour rediriger le client vers le formulaire de collecte des données de carte.
  4. Le système de la boutique en ligne transmet l'URL de redirection, reçue à l'Étape 3, au navigateur du client.
  5. Le client remplit le formulaire, et les données sont envoyées au serveur de la passerelle de paiement.
  6. La passerelle de paiement effectue le transfert de fonds via performP2P.do.
  7. Quand l'argent est transféré, la passerelle de paiement envoie l'URL de retour au navigateur web du client (l'URL avait été spécifiée lors de l'enregistrement de commande par la boutique en ligne à l'Étape 2).
  8. Le navigateur web du client demande les résultats du transfert d'argent à la boutique en ligne.
  9. Le système de la boutique en ligne demande des informations sur le statut de commande à la passerelle de paiement – getP2PStatus.do.
  10. La passerelle de paiement retourne le statut de commande.
  11. Le système de la boutique en ligne montre au client le résultat du paiement.

Appels API

Pour les intégrations OCT, il est nécessaire que les appels API soient signés. Les informations sur la signature des requêtes peuvent être trouvées dans notre Guide API.

Enregistrement de commande P2P

Pour le traitement d'une commande de transfert d'argent de carte à carte, utilisez la demande https://dev.bpcbt.com/payment/rest/api/p2p/registerP2P.do.


Lors de l'exécution de la demande, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

Paramètres de la demande

Caractère obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Obligatoire

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Obligatoire

amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
Obligatoire

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Obligatoire

returnUrl String [1..512] Adresse vers laquelle l'utilisateur doit être redirigé en cas de paiement réussi. L'adresse doit être spécifiée complètement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
Facultatif

failUrl String [1..512] Adresse vers laquelle il faut rediriger l'utilisateur en cas de paiement échoué. L'adresse doit être spécifiée entièrement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Facultatif

clientId String [0..255] Numéro du client (ID) dans le système du marchand — jusqu'à 255 caractères. Utilisé pour la mise en œuvre de la fonctionnalité de liaisons. Peut être retourné dans la réponse, si le marchand est autorisé à créer des liaisons.
L'indication de ce paramètre lors du traitement des paiements par liaison est obligatoire. Dans le cas contraire, le paiement sera impossible.
Facultatif

merchantLogin String [1..255] Pour enregistrer une commande au nom d'un autre marchand, spécifiez son login (pour le compte API) dans ce paramètre.
Ne peut être utilisé que si vous avez l'autorisation de consulter les transactions d'autres vendeurs ou si le vendeur spécifié est votre vendeur filial.
Facultatif

dynamicCallbackUrl String [1..512] Paramètre pour transmettre l'adresse dynamique pour recevoir les notifications callback "de paiement" pour la commande, activées pour le marchand (autorisation réussie, débit réussi, remboursement, annulation, rejet du paiement par timeout, rejet du paiement card present).
Les notifications callback "non liées au paiement" (activation/désactivation de liaison, création de liaison), seront envoyées à l'adresse callback statique.
Facultatif

sessionTimeoutSecs Integer [1..9] Durée de vie de la commande en secondes. Si le paramètre n'est pas défini, la valeur spécifiée dans les paramètres du marchand sera utilisée, ou le temps par défaut (1200 secondes = 20 minutes). Si le paramètre expirationDate est présent dans la requête, alors la valeur du paramètre sessionTimeoutSecs n'est pas prise en compte.
Facultatif

sessionExpiredDate String Date et heure d'expiration de la commande. Format : yyyy-MM-ddTHH:mm:ss.
Si ce paramètre n'est pas transmis dans la requête, alors le paramètre sessionTimeoutSecs est utilisé pour déterminer le temps d'expiration de la commande.
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Facultatif

bindingId String [1..255] Identifiant d'une liaison déjà existante (identifiant de carte tokenisée par la passerelle). Il ne peut être utilisé que si le marchand a l'autorisation de travailler avec les liaisons. Si ce paramètre est transmis dans cette requête, cela signifie que :
  • Cette commande ne peut être payée qu'à l'aide de la liaison ;
  • Le payeur sera redirigé vers la page de paiement où seule la saisie du CVC est requise.
Facultatif

creditBindingId String [0..255] Identifiant de liaison de carte pour le crédit. Utilisé lors des transferts de carte à carte, lorsque la carte du destinataire est connue à l'avance. Ce paramètre doit d'abord être transmis dans la demande d'enregistrement de paiement (registerP2P.do - ici aussi doit être transmis le paramètre clientId), puis dans la demande de transfert de fonds par liaison (performP2PByBinding.do - la valeur du paramètre creditBindingId, transmise dans registerP2P.do, doit être transmise dans le paramètre bindingId dans le bloc toCard).
Obligatoire

transactionTypeIndicator String Utilisé dans les types de transactions unidirectionnelles.
Les valeurs suivantes sont possibles :
  • A - Virement de carte à carte d'un même propriétaire (de compte à compte)
  • B - Virement dans le but d'acquérir de la cryptomonnaie
  • C - Virement aux fins d'achat de cryptomonnaie
  • D - Versement de fonds
  • F - Virement pour paris de jeux de hasard
  • G - Versement dans les jeux de hasard en ligne
  • H - Retrait de fonds (Cash Out). Retrait de fonds par un agent.
  • I - Versements gouvernementaux
  • J - Virement d'argent initié par la banque
  • L - Virement aux fins de remboursement de factures de carte de crédit
  • O - Virement aux fins de paiement de dettes
  • P - Virement de carte à carte de propriétaires différents
  • W - Virement sur compte propre de portefeuille numérique échelonné pour paiement
Obligatoire features Object Conteneur pour le paramètre feature, obligatoire pour les opérations unidirectionnelles.
Si l'opération OCT (transfert de compte vers carte) est effectuée - dans le paramètre feature doit être transmis WITHOUT_FROM_CARD.
Exemple : "features" : { "feature" : ["WITHOUT_FROM_CARD"] }
Facultatif params Object Champs d'informations supplémentaires pour stockage ultérieur, transmis sous la forme suivante :
"params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].
Ces champs peuvent être transmis au système de traitement de la banque pour affichage ultérieur dans les registres de la banque.
Facultatif shippingPayerData Object Objet contenant les données de livraison au client. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif preOrderPayerData Object Objet contenant les données de précommande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif orderPayerData Object Objet contenant les données sur le payeur de la commande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif

billingAndShippingAddressMatchIndicator String [1] Indicateur de correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client.
Valeurs possibles :
  • Y - correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison ;
  • N - l'adresse de facturation du porteur de carte et l'adresse de livraison ne correspondent pas.
Conditionnel billingPayerData Object Bloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour la vérification de l'adresse dans le cadre des services AVS/AVV. Obligatoire si la fonction est activée pour le vendeur du côté de la passerelle de paiement. Doit avoir été inclus soit dans la demande registerP2P.do, soit dans la demande performP2P.do. Voir paramètres imbriqués.
Conditionnel billingRecipientData Object Bloc de données sur le destinataire. Obligatoire si la fonction est activée pour le vendeur du côté de la passerelle de paiement. Doit avoir été inclus soit dans la demande registerP2P.do, soit dans la demande performP2P.do. Voir paramètres imbriqués.
Facultatif

debitMdOrder String [1..36] Numéro unique de commande pour laquelle le transfert AFT a été exécuté dans iPay. Ce paramètre est utilisé pour les opérations OCT lors des transferts P2P (AFT+OCT).
Conditionnel

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les virements P2P (AFT+OCT) en utilisant Mastercard. Il est rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante. Obligatoire, si un Mastercard Money Funding Payment a été exécuté précédemment et qu'un Unique Transaction Reference a été formé et envoyé.
Facultatif

transactionPurpose String Objectif de la transaction (utilisé pour les transactions OCT utilisant Mastercard). Valeurs possibles :
  • FAMILY_SUPPORT ou 0
  • REGULAR_LABOR_TRA ou 1
  • TRAVEL_AND_TOURISM ou 2
  • EDUCATION ou 3
  • HOSPITALIZATION ou 4
  • EMERGENCY_NEED ou 5
  • SAVING ou 6
  • GIFTS ou 7
  • OTHER ou 8
  • SALARY ou 9
  • CROWD_LENDING ou 10
  • CRYPTO_CURRENCY ou 11
  • REFUND_ORIGINAL ou 12
  • REFUND_NEW_CARD ou 13
  • TRANSFER_SAME_WAL ou 14
  • BOLETO_PAYMENT ou 15
  • HIGH_RISK_SECURITY ou 16
  • RECYCLING_DEPOSIT_RETURN ou 17
  • VALUE_ADDED_TAX ou 18
Facultatif

serviceProcessingType String Type de service de traitement (utilisé pour les transactions OCT utilisant Visa). Indicateur de service qui indique au système Visa comment traiter la transaction au niveau du traitement. Valeurs possibles :
  • NORMAL ou 00
  • ORIG_HOLD ou 01
  • VISA_DEFERRED_DEFAULT ou 02
  • VISA_DEFERRED_CUSTOM ou 03
  • CANCEL_DEFERRED ou 09
  • VISA_DIRECT_CUSTOM ou 0I
  • DEFERRED_OCT_QUERY ou 0Q
  • REC_PAYOUT ou 0R
  • ALIAS_DIRECTORY ou A0

Description des paramètres de l'objet shippingPayerData :

Caractère obligatoire Nom Type Description
Facultatif shippingCity String [1..50] Ville du client (à partir de l'adresse de livraison)
Facultatif shippingCountry String [1..50] Pays du client
Facultatif shippingAddressLine1 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine2 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine3 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingPostalCode String [1..16] Code postal du client pour la livraison
Facultatif shippingState String [1..50] État/région de l'acheteur (à partir de l'adresse de livraison)
Facultatif shippingMethodIndicator Integer [2] Indicateur du mode de livraison.
Valeurs possibles :
  • 01 - livraison à l'adresse de paiement du porteur de carte.
  • 02 - livraison à une autre adresse, vérifiée par le Marchand.
  • 03 - livraison à une adresse différente de l'adresse principale du porteur de carte.
  • 04 - envoi en magasin/retrait en magasin (l'adresse du magasin doit être indiquée dans les paramètres de livraison correspondants)
  • 05 - Distribution numérique (inclut les services en ligne et les cartes-cadeaux électroniques)
  • 06 - billets de voyage et d'événements qui ne peuvent pas être livrés.
  • 07 - Autre (par exemple, jeux, biens numériques non livrables, abonnements numériques, etc.)
Facultatif deliveryTimeframe Integer [2] Délai de livraison de la marchandise.
Valeurs possibles :
  • 01 - distribution numérique
  • 02 - livraison le jour même
  • 03 - livraison le jour suivant
  • 04 - livraison dans les 2 jours après le paiement et plus tard.
Facultatif deliveryEmail String [1..254] Adresse e-mail cible pour la livraison de la distribution numérique. Il est préférable de transmettre l'e-mail dans le paramètre de requête indépendant email (mais si vous le transmettez dans ce bloc, les mêmes règles s'appliqueront).

Description des paramètres de l'objet preOrderPayerData :

Obligatoire Nom Type Description
Facultatif preOrderDate String [10] Date de livraison attendue (pour les achats en précommande) au format AAAAMMJJ.
Facultatif preOrderPurchaseInd Integer [2] Indicateur de placement par le client d'une commande pour une livraison disponible ou future.
Valeurs possibles :
  • 01 - livraison possible ;
  • 02 - livraison future
Facultatif reorderItemsInd Integer [2] Indicateur que le client repasse une commande d'une livraison précédemment payée dans le cadre d'une nouvelle commande.
Valeurs possibles :
  • 01 - commande passée pour la première fois ;
  • 02 - commande répétée

Description des paramètres de l'objet orderPayerData.

Obligatoire Nom Type Description
Facultatif homePhone String [7..15] Téléphone fixe du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif workPhone String [7..15] Téléphone professionnel du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif mobilePhone String [7..15] Numéro de téléphone portable du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.

Pour les paiements par VISA avec autorisation 3DS, il est nécessaire d'indiquer soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte. Si vous avez configuré l'affichage du numéro de téléphone sur la page de paiement et que vous avez indiqué un numéro de téléphone incorrect, le client pourra le corriger sur la page de paiement.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Obligatoire Nom Type Description
Facultatif billingCity String [0..50] Ville enregistrée pour une carte spécifique chez la Banque Émettrice.
Facultatif billingCountry String [0..50] Pays enregistré pour une carte spécifique de la banque émettrice. Format: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif billingAddressLine1 String [0..50] Adresse enregistrée pour une carte spécifique chez la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingAddressLine2 String [0..50] Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
Facultatif

billingAddressLine3 String [0..50] Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
Facultatif

billingPostalCode String [0..9] Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingState String [0..50] État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Obligatoire

payerAccount String [1..32] Numéro de compte de l'expéditeur.
Facultatif payerLastName String [1..64] Nom de famille de l'expéditeur.
Facultatif payerFirstName String [1..35] Prénom de l'expéditeur.
Facultatif

payerMiddleName String [1..35] Nom patronymique de l'expéditeur.
Facultatif

payerCombinedName String [1..99] Nom complet de l'expéditeur.
Facultatif

payerIdType String [1..8] Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

payerIdNumber String [1..100] Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
Facultatif payerBirthday String [1..20] Date de naissance de l'expéditeur au format YYYYMMDD.
Condition

payerAccountNumberType String [1..20] Type de numéro de compte du payeur. Obligatoire pour les transactions OCT utilisant Mastercard. Valeurs possibles :
  • RTN ou 1 – RTN + Bank Account
  • IBAN ou 2 – IBAN
  • CARD_ACCOUNT ou 3 – Card Account
  • EMAIL ou 4– Email
  • PHONE_NUMBER ou 5 – Phone Number
  • BAN_AND_BIC ou 6 – Bank account number (BAN) + Bank Identification Code (BIC)
  • WALLET_ID ou 7 – Wallet Id
  • SOCIAL_NETWORK_ID ou 8 – Social Network Id
  • OTHER ou 100 – Other

Ci-dessous sont présentés les paramètres du bloc billingRecipientData (données sur le destinataire).

Obligatoire Nom Type Description
Facultatif

recipientCity String [0..40] Code de la ville du destinataire. Format ISO 3166-1 alpha-3. Peut contenir uniquement des lettres de l'alphabet latin.
Facultatif recipientCountry String [0..50] Code du pays du destinataire. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif

recipientAddressLine1 String [0..50] Adresse du destinataire. Ne peut contenir que des lettres de l'alphabet latin.
Facultatif

recipientPostalCode String [0..9] Code postal du destinataire.
Facultatif

recipientState String [0..50] Code de l'état du destinataire. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Facultatif recipientAccount String [0..32] Numéro de compte du destinataire.
Facultatif recipientAccountNumberType Integer [1..2] Type de compte du destinataire. Valeurs possibles :
  • 1 - RTN + Bank Account;
  • 2 - IBAN;
  • 3 - Card Account;
  • 4 - E-mail;
  • 5 - Phone Number;
  • 6 - Bank account number (BAN) + Bank Identification Code (BIC);
  • 7 - Wallet Id;
  • 8 - Social Network Id;
  • 100 - Other.

Obligatoire

recipientLastName String [0..35] Nom de famille du destinataire.
Obligatoire

recipientFirstName String [0..35] Nom du destinataire.
Facultatif

recipientMiddleName String [0..35] Nom patronymique du destinataire.
Facultatif

recipientCombinedName String [0..99] Nom complet du destinataire.
Facultatif

recipientIdType String [1..8] Type de document d'identification fourni du destinataire.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite des affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Titre de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

recipientIdNumber String [1..99] Numéro du document d'identification fourni du destinataire.
Facultatif

recipientBirthday String [1..20] Date de naissance du destinataire au format YYYYMMDD.

Paramètres de réponse

Caractère obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

formUrl String [1..512] URL du formulaire de paiement vers lequel l'acheteur sera redirigé. L'URL n'est pas retournée si l'enregistrement de la commande a échoué en raison d'une erreur spécifiée dans errorCode.
Facultatif

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.

Exemples

Exemple de demande d'opération OCT

curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/registerP2P.do'
-H 'Content-Type: application/json'
--data-raw '{
  "username":"test_user",
  "password":"test_user_password",
  "amount" : 50000,
  "currency" : "978",
  "returnUrl" : "https://mybestmerchantreturnurl.com",
  "orderNumber": "12",
  "clientId": "122313",
  "transactionTypeIndicator": "A",
  "features":{
      "feature":["WITHOUT_FROM_CARD"]
   }
}'

Exemple de réponse

{
  "errorCode": 0,
  "errorMessage": "Successful",
  "orderId": "0a4eaae8-653a-71a9-8259-46fc00a8ea58",
  "formUrl": "https://dev.bpcbt.com/payment/merchants/ecom/payment.html?mdOrder=0a4eaae8-653a-71a9-8259-46fc00a8ea58&language=en",
  "orderNumber": "2009"
}

Montant de la commission

Pour obtenir le montant de la commission pour le virement d'argent, utilisez la requête https://dev.bpcbt.com/payment/rest/api/p2p/verifyP2P.do.

La structure de la requête suppose la présence du bloc toCard pour transmettre les attributs de la carte pour le crédit.


Lors de l'exécution de la requête, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

Paramètres de la requête

Obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Obligatoire

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Facultatif

amount String [0..12] Montant du virement en unités minimales de devise (par exemple, en kopecks).
Ce paramètre est transmis si le payeur décide de modifier le montant du virement lors de l'exécution du virement monétaire.
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Facultatif billingPayerData Object Bloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour passer la vérification d'adresse dans le cadre des services AVS/AVV. Obligatoire si la fonction est activée pour le vendeur du côté de la passerelle de paiement. Voir paramètres imbriqués.
Obligatoire

toCard Object Bloc avec attributs de la carte de crédit. Voir paramètres imbriqués.

Le bloc toCard comprend les paramètres suivants :

Obligatoire Nom Type Description
Condition

pan String [1..19] Numéro de carte pour le crédit des fonds monétaires.
Facultatif

expirationYear Integer [4] Année d'expiration de la carte de crédit. Les valeurs acceptées vont de 2000 à 2200.
Facultatif

expirationMonth Integer [2] Mois d'expiration de la carte de crédit. Valeurs disponibles : 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
Facultatif

cardholderName String [1..26] Nom du porteur de la carte de crédit.
Condition

seToken String Données de carte chiffrées.
Obligatoire, si utilisé à la place des données de carte. Paramètres obligatoires pour la chaîne seToken : timestamp, UUID, PAN, EXPDATE, MDORDER. Plus de détails sur la génération seToken voir ici.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Obligatoire Nom Type Description
Facultatif billingCity String [0..50] Ville enregistrée pour une carte spécifique chez la Banque Émettrice.
Facultatif billingCountry String [0..50] Pays enregistré pour une carte spécifique de la banque émettrice. Format: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif billingAddressLine1 String [0..50] Adresse enregistrée pour une carte spécifique chez la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingAddressLine2 String [0..50] Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
Facultatif

billingAddressLine3 String [0..50] Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
Facultatif

billingPostalCode String [0..9] Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingState String [0..50] État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Obligatoire

payerAccount String [1..32] Numéro de compte de l'expéditeur.
Facultatif payerLastName String [1..64] Nom de famille de l'expéditeur.
Facultatif payerFirstName String [1..35] Prénom de l'expéditeur.
Facultatif

payerMiddleName String [1..35] Nom patronymique de l'expéditeur.
Facultatif

payerCombinedName String [1..99] Nom complet de l'expéditeur.
Facultatif

payerIdType String [1..8] Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

payerIdNumber String [1..100] Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
Facultatif payerBirthday String [1..20] Date de naissance de l'expéditeur au format YYYYMMDD.
Condition

payerAccountNumberType String [1..20] Type de numéro de compte du payeur. Obligatoire pour les transactions OCT utilisant Mastercard. Valeurs possibles :
  • RTN ou 1 – RTN + Bank Account
  • IBAN ou 2 – IBAN
  • CARD_ACCOUNT ou 3 – Card Account
  • EMAIL ou 4– Email
  • PHONE_NUMBER ou 5 – Phone Number
  • BAN_AND_BIC ou 6 – Bank account number (BAN) + Bank Identification Code (BIC)
  • WALLET_ID ou 7 – Wallet Id
  • SOCIAL_NETWORK_ID ou 8 – Social Network Id
  • OTHER ou 100 – Other

Ci-dessous sont présentés les paramètres du bloc billingRecipientData (données sur le destinataire).

Obligatoire Nom Type Description
Facultatif

recipientCity String [0..40] Code de la ville du destinataire. Format ISO 3166-1 alpha-3. Peut contenir uniquement des lettres de l'alphabet latin.
Facultatif recipientCountry String [0..50] Code du pays du destinataire. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif

recipientAddressLine1 String [0..50] Adresse du destinataire. Ne peut contenir que des lettres de l'alphabet latin.
Facultatif

recipientPostalCode String [0..9] Code postal du destinataire.
Facultatif

recipientState String [0..50] Code de l'état du destinataire. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Facultatif recipientAccount String [0..32] Numéro de compte du destinataire.
Facultatif recipientAccountNumberType Integer [1..2] Type de compte du destinataire. Valeurs possibles :
  • 1 - RTN + Bank Account;
  • 2 - IBAN;
  • 3 - Card Account;
  • 4 - E-mail;
  • 5 - Phone Number;
  • 6 - Bank account number (BAN) + Bank Identification Code (BIC);
  • 7 - Wallet Id;
  • 8 - Social Network Id;
  • 100 - Other.

Obligatoire

recipientLastName String [0..35] Nom de famille du destinataire.
Obligatoire

recipientFirstName String [0..35] Nom du destinataire.
Facultatif

recipientMiddleName String [0..35] Nom patronymique du destinataire.
Facultatif

recipientCombinedName String [0..99] Nom complet du destinataire.
Facultatif

recipientIdType String [1..8] Type de document d'identification fourni du destinataire.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite des affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Titre de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

recipientIdNumber String [1..99] Numéro du document d'identification fourni du destinataire.
Facultatif

recipientBirthday String [1..20] Date de naissance du destinataire au format YYYYMMDD.

Paramètres de la réponse

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.

Le bloc feeDescriptionList comprend les paramètres suivants :

Obligatoire Nom Type Description
Facultatif

feeAmount Integer [1..12] Montant de la commission.
Facultatif

feeCurrency String [3] Code de devise de paiement ISO 4217.
Facultatif

feeDescription String [1..512] Description de la commission.

Exemples

Exemple de requête

curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/verifyP2P.do'
-H 'Content-Type: application/json'
--data-raw '{
  "username":"test_user",
  "password":"test_user_password",
  "orderId": "0a4eaae8-653a-71a9-8259-46fc00a8ea58",
  "toCard": {
    "pan": "4000001111111118"
  },    
  "amount" : 50000
}'

Exemple de réponse

{
  "errorCode": 0,
  "errorMessage": "Successful",
  "feeDescriptionList: [ {
    "feeAmount": 500,
    "feeCurrency": "978",
    "feeDescription": "Acquirer fee"
  } ]
}

Commission pour le virement P2P par données de paiement sauvegardées

Pour obtenir le montant de la commission lors du virement de fonds par données de paiement sauvegardées, utilisez la demande https://dev.bpcbt.com/payment/rest/api/p2p/verifyP2PByBinding.do.


Lors de l'exécution de la demande, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

Paramètres de demande

Obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Obligatoire

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Obligatoire

toCard Object Bloc avec les attributs de la carte de crédit. Voir paramètres imbriqués.

Le bloc toCard inclut les paramètres suivants :

Obligatoire Nom Type Description
Condition

bindingId String [1..255] Identifiant de liaison créé lors du paiement de la commande ou utilisé pour le paiement. Disponible uniquement si le vendeur est autorisé à créer des liaisons.
Condition

pan String [1..19] Numéro de carte pour le crédit des fonds monétaires.
Facultatif

expirationYear Integer [4] Année d'expiration de la carte de crédit. Les valeurs acceptées vont de 2000 à 2200.
Facultatif

expirationMonth Integer [2] Mois d'expiration de la carte de crédit. Valeurs disponibles : 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
Facultatif

cardholderName String [1..26] Nom du porteur de la carte de crédit.
Condition

seToken String Données de carte chiffrées.
Obligatoire, si utilisé à la place des données de carte. Paramètres obligatoires pour la chaîne seToken : timestamp, UUID, PAN, EXPDATE, MDORDER. Plus de détails sur la génération seToken voir ici.

Paramètres de réponse

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

feeAmount Integer [1..12] Montant de la commission.
Facultatif

feeCurrency String [3] Code de devise de paiement ISO 4217.
Facultatif

feeDescription String [1..512] Description de la commission.

Exemples

Exemple de demande

curl --location --request POST 'https://dev.bpcbt.com/payment/rest/api/p2p/verifyP2PByBinding.do' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "test_user",
    "password": "test_user_password",
    "orderId": "fa71bf70-7c81-484e-a6fc-7db7e4283b2a",
    "bindingId": "4d792471-cee0-742c-922d-a265072e6148",
    "toCard": {
        "cardholderName": "IVAN IVANOV",
        "cvc": "123",
        "expirationMonth": 12,
        "expirationYear": 2024,
        "pan": "5555555555555599"
    },
    "amount": 1000,
    "currency": "978",
    "clientId": "123"
    }
}'

Exemple de réponse

{
  "errorCode" : 0,
  "errorMessage" : "Successful",
  "feeDescriptionList" : [ {
    "feeAmount" : 10,
    "feeCurrency" : "978",
    "feeDescription" : "Acquirer fee"
  } ]
}

Virement P2P

Pour effectuer un virement monétaire de carte à carte, utilisez la requête https://dev.bpcbt.com/payment/rest/api/p2p/performP2P.do.


Lors de l'exécution de la requête, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

La structure de la requête performP2P.do prévoit la présence du bloc toCard pour transmettre les attributs de carte pour le crédit.

Paramètres de requête

Obligation Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Obligatoire

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Facultatif

email String [1..40] Adresse électronique du payeur.
Facultatif

amount String [0..12] Montant du virement en unités minimales de devise (par exemple, en kopecks).
Ce paramètre est transmis si le payeur décide de modifier le montant du virement lors de l'exécution du virement monétaire.
Facultatif type String Dans le cas d'un virement monétaire avec des données uniquement pour une carte, il est nécessaire de transmettre dans ce paramètre la valeur correspondante :
WITHOUT_FROM_CARD - sans indication de carte pour le débit des fonds.
Facultatif

amountInput Integer [0..12] Montant du virement dans les unités monétaires minimales (par exemple, en centimes). Si un montant est spécifié dans ce paramètre, le virement sera effectué pour ce montant (indépendamment du montant transmis dans la demande de traitement de commande).
Facultatif

captcha String CAPTCHA (texte destiné à distinguer la saisie humaine de la saisie machine)
Facultatif

threeDSSDK Boolean Valeurs possibles : true ou false Indicateur montrant que le paiement provient du 3DS SDK.
Facultatif

threeDSSDKEncData String Données chiffrées sur l'appareil.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKReferenceNumber String Identifiant officiel 3DS2 SDK
Facultatif

threeDSSDKEphemPubKey String Partie publique de la clé éphémère. Requis pour établir une session avec ACS.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKAppId String Identifiant unique du SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKTransId String Identifiant unique de la transaction dans le SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.
Condition

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Condition

threeDSVer2MdOrder String [1..36] Numéro de commande qui a été enregistré dans la première partie de la demande dans le cadre de l'opération 3DS2. Obligatoire pour l'authentification 3DS.
Si ce paramètre est présent dans la demande, alors mdOrder est utilisé, qui est transmis dans le présent paramètre. Dans ce cas, l'enregistrement de la commande n'a pas lieu, mais le paiement de la commande se produit immédiatement.
Ce paramètre est transmis uniquement lors de l'utilisation des méthodes de paiement instantané, c'est-à-dire, lorsque la commande est enregistrée et payée dans le cadre d'une seule demande.
Facultatif

bindingNotNeeded Boolean Valeurs autorisées :
  • true- la création de liaison après l'exécution du paiement est désactivée (la liaison est l'identifiant du client transmis dans la demande d'enregistrement de commande, qui après la demande de paiement sera supprimé des détails de la commande) ;
  • false – en cas de paiement réussi, une liaison peut être créée (sous réserve du respect des conditions nécessaires). C'est la valeur par défaut.
Condition

originalPaymentNetRefNum String Identifiant de la transaction originale ou précédente réussie dans le système de paiement par rapport à l'opération effectuée par liaison - TRN ID. Transmis si la valeur du paramètre tii = R,U ou F.
Obligatoire lors de l'utilisation des liaisons du marchand dans les transferts par liaison.
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Condition

originalSchemeTransactionId String [1..22] Identifiant de la transaction originale réussie dans Mastercard.
Obligatoire lors de l'utilisation des données de paiement sauvegardées du marchand dans les virements par données de paiement sauvegardées.
Facultatif params Object Champs d'informations supplémentaires pour stockage ultérieur, transmis sous la forme suivante :
"params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].
Ces champs peuvent être transmis au processing de la banque pour affichage ultérieur dans les registres de la banque.
Facultatif shippingPayerData Object Objet contenant les données de livraison au client. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif preOrderPayerData Object Objet contenant les données de précommande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif orderPayerData Object Objet contenant les données sur le payeur de la commande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Condition billingPayerData Object Bloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour passer la vérification d'adresse dans le cadre des services AVS/AVV. Obligatoire si la fonction est activée pour le vendeur côté Passerelle de paiement. Doit avoir été inclus soit dans la requête registerP2P.do, soit dans la requête performP2P.do. Voir paramètres imbriqués.
Condition billingRecipientData Object Bloc de données sur le destinataire. Obligatoire si la fonction est activée pour le vendeur côté Passerelle de paiement. Doit avoir été inclus soit dans la requête registerP2P.do, soit dans la requête performP2P.do. Voir paramètres imbriqués.
Obligatoire

toCard Object Bloc avec les attributs de la carte de crédit. Voir paramètres imbriqués.
Condition

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les virements P2P (AFT+OCT) en utilisant Mastercard. Il est rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante. Obligatoire, si un Mastercard Money Funding Payment a été exécuté précédemment et qu'un Unique Transaction Reference a été formé et envoyé.
Facultatif

transactionPurpose String Objectif de la transaction (utilisé pour les transactions OCT utilisant Mastercard). Valeurs possibles :
  • FAMILY_SUPPORT ou 0
  • REGULAR_LABOR_TRA ou 1
  • TRAVEL_AND_TOURISM ou 2
  • EDUCATION ou 3
  • HOSPITALIZATION ou 4
  • EMERGENCY_NEED ou 5
  • SAVING ou 6
  • GIFTS ou 7
  • OTHER ou 8
  • SALARY ou 9
  • CROWD_LENDING ou 10
  • CRYPTO_CURRENCY ou 11
  • REFUND_ORIGINAL ou 12
  • REFUND_NEW_CARD ou 13
  • TRANSFER_SAME_WAL ou 14
  • BOLETO_PAYMENT ou 15
  • HIGH_RISK_SECURITY ou 16
  • RECYCLING_DEPOSIT_RETURN ou 17
  • VALUE_ADDED_TAX ou 18
Facultatif

serviceProcessingType String Type de service de traitement (utilisé pour les transactions OCT utilisant Visa). Indicateur de service qui indique au système Visa comment traiter la transaction au niveau du traitement. Valeurs possibles :
  • NORMAL ou 00
  • ORIG_HOLD ou 01
  • VISA_DEFERRED_DEFAULT ou 02
  • VISA_DEFERRED_CUSTOM ou 03
  • CANCEL_DEFERRED ou 09
  • VISA_DIRECT_CUSTOM ou 0I
  • DEFERRED_OCT_QUERY ou 0Q
  • REC_PAYOUT ou 0R
  • ALIAS_DIRECTORY ou A0

Description des paramètres de l'objet shippingPayerData :

Caractère obligatoire Nom Type Description
Facultatif shippingCity String [1..50] Ville du client (à partir de l'adresse de livraison)
Facultatif shippingCountry String [1..50] Pays du client
Facultatif shippingAddressLine1 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine2 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine3 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingPostalCode String [1..16] Code postal du client pour la livraison
Facultatif shippingState String [1..50] État/région de l'acheteur (à partir de l'adresse de livraison)
Facultatif shippingMethodIndicator Integer [2] Indicateur du mode de livraison.
Valeurs possibles :
  • 01 - livraison à l'adresse de paiement du porteur de carte.
  • 02 - livraison à une autre adresse, vérifiée par le Marchand.
  • 03 - livraison à une adresse différente de l'adresse principale du porteur de carte.
  • 04 - envoi en magasin/retrait en magasin (l'adresse du magasin doit être indiquée dans les paramètres de livraison correspondants)
  • 05 - Distribution numérique (inclut les services en ligne et les cartes-cadeaux électroniques)
  • 06 - billets de voyage et d'événements qui ne peuvent pas être livrés.
  • 07 - Autre (par exemple, jeux, biens numériques non livrables, abonnements numériques, etc.)
Facultatif deliveryTimeframe Integer [2] Délai de livraison de la marchandise.
Valeurs possibles :
  • 01 - distribution numérique
  • 02 - livraison le jour même
  • 03 - livraison le jour suivant
  • 04 - livraison dans les 2 jours après le paiement et plus tard.
Facultatif deliveryEmail String [1..254] Adresse e-mail cible pour la livraison de la distribution numérique. Il est préférable de transmettre l'e-mail dans le paramètre de requête indépendant email (mais si vous le transmettez dans ce bloc, les mêmes règles s'appliqueront).

Description des paramètres de l'objet preOrderPayerData :

Obligatoire Nom Type Description
Facultatif preOrderDate String [10] Date de livraison attendue (pour les achats en précommande) au format AAAAMMJJ.
Facultatif preOrderPurchaseInd Integer [2] Indicateur de placement par le client d'une commande pour une livraison disponible ou future.
Valeurs possibles :
  • 01 - livraison possible ;
  • 02 - livraison future
Facultatif reorderItemsInd Integer [2] Indicateur que le client repasse une commande d'une livraison précédemment payée dans le cadre d'une nouvelle commande.
Valeurs possibles :
  • 01 - commande passée pour la première fois ;
  • 02 - commande répétée

Description des paramètres de l'objet orderPayerData.

Obligatoire Nom Type Description
Facultatif homePhone String [7..15] Téléphone fixe du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif workPhone String [7..15] Téléphone professionnel du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif mobilePhone String [7..15] Numéro de téléphone portable du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.

Pour les paiements par VISA avec autorisation 3DS, il est nécessaire d'indiquer soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte. Si vous avez configuré l'affichage du numéro de téléphone sur la page de paiement et que vous avez indiqué un numéro de téléphone incorrect, le client pourra le corriger sur la page de paiement.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Obligatoire Nom Type Description
Facultatif billingCity String [0..50] Ville enregistrée pour une carte spécifique chez la Banque Émettrice.
Facultatif billingCountry String [0..50] Pays enregistré pour une carte spécifique de la banque émettrice. Format: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif billingAddressLine1 String [0..50] Adresse enregistrée pour une carte spécifique chez la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingAddressLine2 String [0..50] Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
Facultatif

billingAddressLine3 String [0..50] Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
Facultatif

billingPostalCode String [0..9] Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingState String [0..50] État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Obligatoire

payerAccount String [1..32] Numéro de compte de l'expéditeur.
Facultatif payerLastName String [1..64] Nom de famille de l'expéditeur.
Facultatif payerFirstName String [1..35] Prénom de l'expéditeur.
Facultatif

payerMiddleName String [1..35] Nom patronymique de l'expéditeur.
Facultatif

payerCombinedName String [1..99] Nom complet de l'expéditeur.
Facultatif

payerIdType String [1..8] Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

payerIdNumber String [1..100] Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
Facultatif payerBirthday String [1..20] Date de naissance de l'expéditeur au format YYYYMMDD.
Condition

payerAccountNumberType String [1..20] Type de numéro de compte du payeur. Obligatoire pour les transactions OCT utilisant Mastercard. Valeurs possibles :
  • RTN ou 1 – RTN + Bank Account
  • IBAN ou 2 – IBAN
  • CARD_ACCOUNT ou 3 – Card Account
  • EMAIL ou 4– Email
  • PHONE_NUMBER ou 5 – Phone Number
  • BAN_AND_BIC ou 6 – Bank account number (BAN) + Bank Identification Code (BIC)
  • WALLET_ID ou 7 – Wallet Id
  • SOCIAL_NETWORK_ID ou 8 – Social Network Id
  • OTHER ou 100 – Other

Ci-dessous sont présentés les paramètres du bloc billingRecipientData (données sur le destinataire).

Obligatoire Nom Type Description
Facultatif

recipientCity String [0..40] Code de la ville du destinataire. Format ISO 3166-1 alpha-3. Peut contenir uniquement des lettres de l'alphabet latin.
Facultatif recipientCountry String [0..50] Code du pays du destinataire. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif

recipientAddressLine1 String [0..50] Adresse du destinataire. Ne peut contenir que des lettres de l'alphabet latin.
Facultatif

recipientPostalCode String [0..9] Code postal du destinataire.
Facultatif

recipientState String [0..50] Code de l'état du destinataire. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Facultatif recipientAccount String [0..32] Numéro de compte du destinataire.
Facultatif recipientAccountNumberType Integer [1..2] Type de compte du destinataire. Valeurs possibles :
  • 1 - RTN + Bank Account;
  • 2 - IBAN;
  • 3 - Card Account;
  • 4 - E-mail;
  • 5 - Phone Number;
  • 6 - Bank account number (BAN) + Bank Identification Code (BIC);
  • 7 - Wallet Id;
  • 8 - Social Network Id;
  • 100 - Other.

Obligatoire

recipientLastName String [0..35] Nom de famille du destinataire.
Obligatoire

recipientFirstName String [0..35] Nom du destinataire.
Facultatif

recipientMiddleName String [0..35] Nom patronymique du destinataire.
Facultatif

recipientCombinedName String [0..99] Nom complet du destinataire.
Facultatif

recipientIdType String [1..8] Type de document d'identification fourni du destinataire.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite des affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Titre de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

recipientIdNumber String [1..99] Numéro du document d'identification fourni du destinataire.
Facultatif

recipientBirthday String [1..20] Date de naissance du destinataire au format YYYYMMDD.

Le bloc toCard inclut les paramètres suivants :

Obligation Nom Type Description
Condition

pan String [1..19] Numéro de carte pour le crédit des fonds monétaires.
Facultatif

expirationYear Integer [4] Année d'expiration de la carte de crédit. Les valeurs acceptées vont de 2000 à 2200.
Facultatif

expirationMonth Integer [2] Mois d'expiration de la carte de crédit. Valeurs disponibles : 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
Facultatif

cardholderName String [1..26] Nom du porteur de la carte de crédit.
Condition

seToken String Données de carte chiffrées.
Obligatoire, si utilisé à la place des données de carte. Paramètres obligatoires pour la chaîne seToken : timestamp, UUID, PAN, EXPDATE, MDORDER. Plus de détails sur la génération seToken voir ici.

Lors de l'authentification par protocole 3DS2, les paramètres suivants sont également transmis :

Obligation Nom Type Description
Facultatif

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.

Paramètres de réponse

Obligation Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Facultatif

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

info String Résultat de la tentative de transfert de fonds.

Valeur en cas de transfert réussi : "Votre paiement est traité, redirection en cours..."

Valeur en cas d'erreur : "Redirection en cours..."
Condition

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Condition

paReq String [1..255] PAReq (Payment Authentication Request) — message qui doit être envoyé à ACS avec la redirection. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est nécessaire. Ce message contient des données en encodage Base64, nécessaires pour l'authentification du porteur de carte. Pour plus de détails, voir Redirection vers ACS.
Facultatif

termUrl String [1..512] En cas de réponse réussie lors du paiement 3D-Secure. URL pour rediriger le client après interaction avec ACS pour finaliser le paiement.
Facultatif

originalPaymentNetRefNum String Identifiant de la transaction originale ou précédente réussie dans le système de paiement par rapport à l'opération effectuée par liaison - TRN ID. Transmis si la valeur du paramètre tii = R,U ou F.
Obligatoire lors de l'utilisation des liaisons du marchand dans les transferts par liaison.
Condition statusResponse Object Paramètres de statut de réponse. Ce bloc est retourné uniquement si vous avez activé le paramètre correspondant. Pour activer cette fonctionnalité, contactez le support technique. Voir paramètres imbriqués.
Facultatif

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les transferts P2P (AFT+OCT) en utilisant Mastercard. Il est automatiquement rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante (générée automatiquement par la passerelle de paiement) ou par le paramètre correspondant reçu dans la demande OCT.

Lors de l'authentification par protocole 3DS2 en réponse à la première requête arrivent les paramètres suivants :

Obligation Nom Type Description
Obligatoire

is3DSVer2 Boolean Valeurs possibles : true ou false Indicateur montrant que le paiement provient de 3DS2.
Obligatoire

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSMethodUrl String [1..512] URL du serveur ACS pour la collecte des données du navigateur.
Obligatoire

threeDSMethodUrlServer String [1..512] URL du serveur 3DS pour collecter les données du navigateur qui seront incluses dans AReq (Authentication Request) du serveur 3DS vers le serveur ACS.
Facultatif

threeDSMethodDataPacked String [1..1024] Données CReq (Challenge Response) en encodage Base-64 pour l'envoi au serveur ACS.
Facultatif

threeDSMethodURLServerDirect String [1..512] Adresse URL 3dsmethod.do pour l'exécution de la méthode 3DS sur le serveur 3DS via la passerelle de paiement (en présence de l'autorisation correspondante au niveau du vendeur).

Ci-dessous sont présentés les paramètres qui doivent être présents dans la réponse, après la requête répétée de paiement et la nécessité de rediriger le client vers ACS lors de l'authentification par protocole 3DS2 :

Obligation Nom Type Description
Condition

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Condition

packedCReq String Données challenge request empaquetées. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Cette valeur doit être utilisée comme valeur du paramètre creq du lien vers ACS (acsUrl), pour rediriger le client vers ACS. Pour plus de détails, voir Redirection vers ACS.

Paramètres du bloc statusResponse :

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

orderStatus Integer La valeur de ce paramètre indique le statut de la commande dans la passerelle de paiement. Absent si la commande n'a pas été trouvée. Ci-dessous la liste des valeurs disponibles :
  • 0 - commande enregistrée mais non payée ;
  • 2 - autorisation complète du montant de la commande effectuée ;
  • 3 - autorisation annulée ;
  • 5 - autorisation initiée via ACS de la banque émettrice ;
  • 6 - autorisation refusée ;
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

panMaskedFrom String [1..19] Numéro de carte masqué pour le débit des fonds.
Facultatif

panMaskedTo String [1..19] Numéro de carte masqué pour le crédit des fonds.
Facultatif

amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
Facultatif

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Facultatif

creationDate Integer Date d'enregistrement de la commande.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Obligatoire

resultCode Integer Code d'erreur lors de l'exécution de la requête. Valeurs possibles :
  • 0 - en cas de succès ;
  • 1 - en cas d'erreur.
Facultatif

orderParams Object Objet avec les attributs marchands de la commande. Dans la réponse, plus d'un bloc orderParams peut être présenté.
L'objet doit être transmis de la manière suivante : {"param":"value","param2":"value2"}.
Facultatif

operationList Object Objet contenant des informations sur les transactions terminées dans la commande. Dans la réponse, il peut y avoir plus d'un bloc operationList.
Les paramètres qui peuvent être transmis sont décrits ci-dessous.
Facultatif

binding String Identifiant de liaison (si elle a déjà été créée). Ce paramètre est retourné uniquement si la version getP2PStatus est égale à 3 ou supérieure.
Facultatif

detokenizedPanRepresentation String [1..19] Numéro de carte détokenisé (4 derniers chiffres ou sous forme masquée).
Facultatif

detokenizedPanExpiryDate String Date d'expiration de la carte détokénisée au format suivant : YYYYMM.
Facultatif

paymentNetRefNum String [1..512] Original Network Reference Number - c'est un identifiant que le réseau de paiement (Mastercard, Visa, etc.) attribue lors de la réalisation de la première transaction (par exemple, un achat). Lors de l'exécution de l'opération inverse (remboursement, paiement répété), ce numéro :
  • est copié de la transaction originale
  • est transmis dans le champ Original Network Reference Number
  • permet au système de paiement de lier la nouvelle opération à l'opération initiale
Ce paramètre est présent dans la réponse uniquement si la requête getP2PStatus version 7 ou supérieure est utilisée.

Pour terminer la transaction, utilisez la méthode /p2p/finishThreeDsVer2.do.

Exemples

Exemple de requête OCT

curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/performP2P.do'
-H 'Content-Type: application/json'
--data-raw '{
  "username":"test_user",
  "password":"test_user_password",
  "orderId": "0a4eaae8-653a-71a9-8259-46fc00a8ea58",
  "amount" : "50000",  
  "toCard" : {
    "pan" : "4111111111111111"
  }  
}'

Exemple de réponse à la requête

{
  "errorCode": 0,
  "info": "Your order is proceeded, redirecting...",
  "acsUrl": "https://example.com/acs2/acs/creq",
  "is3DSVer2": true,
  "packedCReq": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhZmMxNjhhLTk0YjQtNGViMy04ZTJlLTgwZjZjMTg2NjY5ZCIsIm1lc3NhZ2VUeXBlIjoiQ1JlcSIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJhY3NUcmFuc0lEIjoiOWM3NTkxMmEtZTg0NC00ODgyLWI5YzctYzZmYmMzNjIyNGQ3IiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA1In0"
}

Virement P2P par données de paiement sauvegardées

Pour effectuer un virement de carte à carte à l'aide de données de paiement sauvegardées, utilisez la requête https://dev.bpcbt.com/payment/rest/api/p2p/performP2PByBinding.do.


Lors de l'exécution de la requête, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

Paramètres de requête

Obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Facultatif

email String [1..40] Adresse électronique à afficher sur la page de paiement. Si les notifications client sont configurées pour le marchand, l'adresse électronique doit être spécifiée. Exemple : client_mail@email.com.
Pour les paiements VISA avec autorisation 3DS, il est nécessaire de spécifier soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte.
Facultatif type String En cas de virement d'argent avec des données pour une seule carte seulement, il est nécessaire de transmettre dans ce paramètre la valeur correspondante :
WITHOUT_FROM_CARD - sans indication de la carte pour le débit des fonds.
Obligatoire

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Facultatif

amountInput Integer [0..12] Montant du virement dans les unités monétaires minimales (par exemple, en centimes). Si un montant est spécifié dans ce paramètre, le virement sera effectué pour ce montant (indépendamment du montant transmis dans la demande de traitement de commande).
Facultatif

amountInput Integer [0..12] Montant du virement dans les unités monétaires minimales (par exemple, en centimes). Si un montant est spécifié dans ce paramètre, le virement sera effectué pour ce montant (indépendamment du montant transmis dans la demande de traitement de commande).
Facultatif

captcha String CAPTCHA (texte destiné à distinguer la saisie humaine de la saisie machine)
Facultatif

threeDSSDK Boolean Valeurs possibles : true ou false Indicateur montrant que le paiement provient du 3DS SDK.
Facultatif

threeDSSDKEncData String Données chiffrées sur l'appareil.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKReferenceNumber String Identifiant officiel 3DS2 SDK
Facultatif

threeDSSDKEphemPubKey String Partie publique de la clé éphémère. Requis pour établir une session avec ACS.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKAppId String Identifiant unique du SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKTransId String Identifiant unique de la transaction dans le SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.
Conditionnel

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Conditionnel

threeDSVer2MdOrder String [1..36] Numéro de commande qui a été enregistré dans la première partie de la demande dans le cadre de l'opération 3DS2. Obligatoire pour l'authentification 3DS.
Si ce paramètre est présent dans la demande, alors mdOrder est utilisé, qui est transmis dans le présent paramètre. Dans ce cas, l'enregistrement de la commande n'a pas lieu, mais le paiement de la commande se produit immédiatement.
Ce paramètre est transmis uniquement lors de l'utilisation des méthodes de paiement instantané, c'est-à-dire, lorsque la commande est enregistrée et payée dans le cadre d'une seule demande.
Facultatif

bindingNotNeeded Boolean Valeurs autorisées :
  • true- la création de liaison après l'exécution du paiement est désactivée (la liaison est l'identifiant du client transmis dans la demande d'enregistrement de commande, qui après la demande de paiement sera supprimé des détails de la commande) ;
  • false – en cas de paiement réussi, une liaison peut être créée (sous réserve du respect des conditions nécessaires). C'est la valeur par défaut.
Conditionnel

originalPaymentNetRefNum String Identifiant de la transaction originale ou précédente réussie dans le système de paiement par rapport à l'opération effectuée par liaison - TRN ID. Transmis si la valeur du paramètre tii = R,U ou F.
Obligatoire lors de l'utilisation des liaisons du marchand dans les transferts par liaison.
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Conditionnel

originalSchemeTransactionId String [1..22] Identifiant de la transaction originale réussie dans Mastercard.
Obligatoire lors de l'utilisation des données de paiement sauvegardées du marchand dans les virements par données de paiement sauvegardées.
Facultatif params Object Champs d'informations supplémentaires pour stockage ultérieur, transmis sous la forme suivante :
"params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].
Ces champs peuvent être transmis au traitement de la banque pour affichage ultérieur dans les registres de la banque.
Facultatif shippingPayerData Object Objet contenant les données de livraison au client. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif preOrderPayerData Object Objet contenant les données de précommande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif orderPayerData Object Objet contenant les données sur le payeur de la commande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif

billingAndShippingAddressMatchIndicator String [1] Indicateur de correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client.
Valeurs possibles :
  • Y - correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison ;
  • N - l'adresse de facturation du porteur de carte et l'adresse de livraison ne correspondent pas.
Conditionnel billingPayerData Object Bloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour passer la vérification d'adresse dans le cadre des services AVS/AVV. Obligatoire si la fonction est activée pour le vendeur côté passerelle de paiement. Voir paramètres imbriqués.
Conditionnel billingRecipientData Object Bloc de données sur le destinataire. Obligatoire si la fonction est activée pour le vendeur côté passerelle de paiement. Voir paramètres imbriqués.
Obligatoire

toCard Object Bloc avec les attributs de la carte de crédit. Voir paramètres imbriqués.
Conditionnel

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les virements P2P (AFT+OCT) en utilisant Mastercard. Il est rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante. Obligatoire, si un Mastercard Money Funding Payment a été exécuté précédemment et qu'un Unique Transaction Reference a été formé et envoyé.
Facultatif

transactionPurpose String Objectif de la transaction (utilisé pour les transactions OCT utilisant Mastercard). Valeurs possibles :
  • FAMILY_SUPPORT ou 0
  • REGULAR_LABOR_TRA ou 1
  • TRAVEL_AND_TOURISM ou 2
  • EDUCATION ou 3
  • HOSPITALIZATION ou 4
  • EMERGENCY_NEED ou 5
  • SAVING ou 6
  • GIFTS ou 7
  • OTHER ou 8
  • SALARY ou 9
  • CROWD_LENDING ou 10
  • CRYPTO_CURRENCY ou 11
  • REFUND_ORIGINAL ou 12
  • REFUND_NEW_CARD ou 13
  • TRANSFER_SAME_WAL ou 14
  • BOLETO_PAYMENT ou 15
  • HIGH_RISK_SECURITY ou 16
  • RECYCLING_DEPOSIT_RETURN ou 17
  • VALUE_ADDED_TAX ou 18
Facultatif

serviceProcessingType String Type de service de traitement (utilisé pour les transactions OCT utilisant Visa). Indicateur de service qui indique au système Visa comment traiter la transaction au niveau du traitement. Valeurs possibles :
  • NORMAL ou 00
  • ORIG_HOLD ou 01
  • VISA_DEFERRED_DEFAULT ou 02
  • VISA_DEFERRED_CUSTOM ou 03
  • CANCEL_DEFERRED ou 09
  • VISA_DIRECT_CUSTOM ou 0I
  • DEFERRED_OCT_QUERY ou 0Q
  • REC_PAYOUT ou 0R
  • ALIAS_DIRECTORY ou A0

Le bloc toCard inclut les paramètres suivants :

Obligatoire Nom Type Description
Conditionnel

bindingId String [1..255] Identifiant de liaison créé lors du paiement de la commande ou utilisé pour le paiement. Disponible uniquement si le vendeur est autorisé à créer des liaisons.
Conditionnel

pan String [1..19] Numéro de carte pour le crédit des fonds monétaires.
Facultatif

expirationYear Integer [4] Année d'expiration de la carte de crédit. Les valeurs acceptées vont de 2000 à 2200.
Facultatif

expirationMonth Integer [2] Mois d'expiration de la carte de crédit. Valeurs disponibles : 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
Facultatif

cardholderName String [1..26] Nom du porteur de la carte de crédit.
Conditionnel

seToken String Données de carte chiffrées.
Obligatoire, si utilisé à la place des données de carte. Paramètres obligatoires pour la chaîne seToken : timestamp, UUID, PAN, EXPDATE, MDORDER. Plus de détails sur la génération seToken voir ici.

Description des paramètres de l'objet shippingPayerData :

Caractère obligatoire Nom Type Description
Facultatif shippingCity String [1..50] Ville du client (à partir de l'adresse de livraison)
Facultatif shippingCountry String [1..50] Pays du client
Facultatif shippingAddressLine1 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine2 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine3 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingPostalCode String [1..16] Code postal du client pour la livraison
Facultatif shippingState String [1..50] État/région de l'acheteur (à partir de l'adresse de livraison)
Facultatif shippingMethodIndicator Integer [2] Indicateur du mode de livraison.
Valeurs possibles :
  • 01 - livraison à l'adresse de paiement du porteur de carte.
  • 02 - livraison à une autre adresse, vérifiée par le Marchand.
  • 03 - livraison à une adresse différente de l'adresse principale du porteur de carte.
  • 04 - envoi en magasin/retrait en magasin (l'adresse du magasin doit être indiquée dans les paramètres de livraison correspondants)
  • 05 - Distribution numérique (inclut les services en ligne et les cartes-cadeaux électroniques)
  • 06 - billets de voyage et d'événements qui ne peuvent pas être livrés.
  • 07 - Autre (par exemple, jeux, biens numériques non livrables, abonnements numériques, etc.)
Facultatif deliveryTimeframe Integer [2] Délai de livraison de la marchandise.
Valeurs possibles :
  • 01 - distribution numérique
  • 02 - livraison le jour même
  • 03 - livraison le jour suivant
  • 04 - livraison dans les 2 jours après le paiement et plus tard.
Facultatif deliveryEmail String [1..254] Adresse e-mail cible pour la livraison de la distribution numérique. Il est préférable de transmettre l'e-mail dans le paramètre de requête indépendant email (mais si vous le transmettez dans ce bloc, les mêmes règles s'appliqueront).

Description des paramètres de l'objet preOrderPayerData :

Obligatoire Nom Type Description
Facultatif preOrderDate String [10] Date de livraison attendue (pour les achats en précommande) au format AAAAMMJJ.
Facultatif preOrderPurchaseInd Integer [2] Indicateur de placement par le client d'une commande pour une livraison disponible ou future.
Valeurs possibles :
  • 01 - livraison possible ;
  • 02 - livraison future
Facultatif reorderItemsInd Integer [2] Indicateur que le client repasse une commande d'une livraison précédemment payée dans le cadre d'une nouvelle commande.
Valeurs possibles :
  • 01 - commande passée pour la première fois ;
  • 02 - commande répétée

Description des paramètres de l'objet orderPayerData.

Obligatoire Nom Type Description
Facultatif homePhone String [7..15] Téléphone fixe du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif workPhone String [7..15] Téléphone professionnel du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif mobilePhone String [7..15] Numéro de téléphone portable du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.

Pour les paiements par VISA avec autorisation 3DS, il est nécessaire d'indiquer soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte. Si vous avez configuré l'affichage du numéro de téléphone sur la page de paiement et que vous avez indiqué un numéro de téléphone incorrect, le client pourra le corriger sur la page de paiement.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Obligatoire Nom Type Description
Facultatif billingCity String [0..50] Ville enregistrée pour une carte spécifique chez la Banque Émettrice.
Facultatif billingCountry String [0..50] Pays enregistré pour une carte spécifique de la banque émettrice. Format: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif billingAddressLine1 String [0..50] Adresse enregistrée pour une carte spécifique chez la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingAddressLine2 String [0..50] Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
Facultatif

billingAddressLine3 String [0..50] Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
Facultatif

billingPostalCode String [0..9] Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingState String [0..50] État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Obligatoire

payerAccount String [1..32] Numéro de compte de l'expéditeur.
Facultatif payerLastName String [1..64] Nom de famille de l'expéditeur.
Facultatif payerFirstName String [1..35] Prénom de l'expéditeur.
Facultatif

payerMiddleName String [1..35] Nom patronymique de l'expéditeur.
Facultatif

payerCombinedName String [1..99] Nom complet de l'expéditeur.
Facultatif

payerIdType String [1..8] Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

payerIdNumber String [1..100] Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
Facultatif payerBirthday String [1..20] Date de naissance de l'expéditeur au format YYYYMMDD.
Condition

payerAccountNumberType String [1..20] Type de numéro de compte du payeur. Obligatoire pour les transactions OCT utilisant Mastercard. Valeurs possibles :
  • RTN ou 1 – RTN + Bank Account
  • IBAN ou 2 – IBAN
  • CARD_ACCOUNT ou 3 – Card Account
  • EMAIL ou 4– Email
  • PHONE_NUMBER ou 5 – Phone Number
  • BAN_AND_BIC ou 6 – Bank account number (BAN) + Bank Identification Code (BIC)
  • WALLET_ID ou 7 – Wallet Id
  • SOCIAL_NETWORK_ID ou 8 – Social Network Id
  • OTHER ou 100 – Other

Ci-dessous sont présentés les paramètres du bloc billingRecipientData (données sur le destinataire).

Obligatoire Nom Type Description
Facultatif

recipientCity String [0..40] Code de la ville du destinataire. Format ISO 3166-1 alpha-3. Peut contenir uniquement des lettres de l'alphabet latin.
Facultatif recipientCountry String [0..50] Code du pays du destinataire. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif

recipientAddressLine1 String [0..50] Adresse du destinataire. Ne peut contenir que des lettres de l'alphabet latin.
Facultatif

recipientPostalCode String [0..9] Code postal du destinataire.
Facultatif

recipientState String [0..50] Code de l'état du destinataire. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Facultatif recipientAccount String [0..32] Numéro de compte du destinataire.
Facultatif recipientAccountNumberType Integer [1..2] Type de compte du destinataire. Valeurs possibles :
  • 1 - RTN + Bank Account;
  • 2 - IBAN;
  • 3 - Card Account;
  • 4 - E-mail;
  • 5 - Phone Number;
  • 6 - Bank account number (BAN) + Bank Identification Code (BIC);
  • 7 - Wallet Id;
  • 8 - Social Network Id;
  • 100 - Other.

Obligatoire

recipientLastName String [0..35] Nom de famille du destinataire.
Obligatoire

recipientFirstName String [0..35] Nom du destinataire.
Facultatif

recipientMiddleName String [0..35] Nom patronymique du destinataire.
Facultatif

recipientCombinedName String [0..99] Nom complet du destinataire.
Facultatif

recipientIdType String [1..8] Type de document d'identification fourni du destinataire.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite des affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Titre de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

recipientIdNumber String [1..99] Numéro du document d'identification fourni du destinataire.
Facultatif

recipientBirthday String [1..20] Date de naissance du destinataire au format YYYYMMDD.

Lors de l'authentification par protocole 3DS2, les paramètres suivants sont également transmis :

Obligatoire Nom Type Description
Facultatif

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.

Paramètres de réponse

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

info String Résultat de la tentative de transfert de fonds.

Valeur en cas de transfert réussi : "Votre paiement est traité, redirection en cours..."

Valeur en cas d'erreur : "Redirection en cours..."
Conditionnel

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Conditionnel

paReq String [1..255] PAReq (Payment Authentication Request) — message qui doit être envoyé à ACS avec la redirection. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est nécessaire. Ce message contient des données en encodage Base64, nécessaires pour l'authentification du porteur de carte. Pour plus de détails, voir Redirection vers ACS.
Conditionnel

termUrl String [1..512] En cas de réponse réussie lors du paiement 3D-Secure. Il s'agit de l'URL vers laquelle l'ACS redirige le porteur de carte après authentification. Pour plus de détails, voir Redirection vers ACS.
Conditionnel statusResponse Object Paramètres de statut de réponse. Ce bloc est retourné seulement si vous avez activé le paramètre correspondant. Pour activer cette fonctionnalité, contactez le support technique. Voir paramètres imbriqués.
Facultatif

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les transferts P2P (AFT+OCT) en utilisant Mastercard. Il est automatiquement rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante (générée automatiquement par la passerelle de paiement) ou par le paramètre correspondant reçu dans la demande OCT.

Lors de l'authentification par protocole 3DS2, en réponse à la première requête, les paramètres suivants arrivent :

Obligatoire Nom Type Description
Obligatoire

is3DSVer2 Boolean Valeurs possibles : true ou false Indicateur montrant que le paiement provient de 3DS2.
Obligatoire

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSMethodUrl String [1..512] URL du serveur ACS pour la collecte des données du navigateur.
Obligatoire

threeDSMethodUrlServer String [1..512] URL du serveur 3DS pour collecter les données du navigateur qui seront incluses dans AReq (Authentication Request) du serveur 3DS vers le serveur ACS.
Facultatif

threeDSMethodDataPacked String [1..1024] Données CReq (Challenge Response) en encodage Base-64 pour l'envoi au serveur ACS.
Facultatif

threeDSMethodURLServerDirect String [1..512] Adresse URL 3dsmethod.do pour l'exécution de la méthode 3DS sur le serveur 3DS via la passerelle de paiement (en présence de l'autorisation correspondante au niveau du vendeur).

Ci-dessous sont présentés les paramètres qui doivent être présents dans la réponse, après une nouvelle requête de paiement et la nécessité de rediriger le client vers ACS lors de l'authentification par protocole 3DS2 :

Obligatoire Nom Type Description
Conditionnel

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Conditionnel

packedCReq String Données challenge request empaquetées. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Cette valeur doit être utilisée comme valeur du paramètre creq du lien vers ACS (acsUrl), pour rediriger le client vers ACS. Pour plus de détails, voir Redirection vers ACS.

Paramètres du bloc statusResponse :

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

orderStatus Integer La valeur de ce paramètre indique le statut de la commande dans la passerelle de paiement. Absent si la commande n'a pas été trouvée. Ci-dessous la liste des valeurs disponibles :
  • 0 - commande enregistrée mais non payée ;
  • 2 - autorisation complète du montant de la commande effectuée ;
  • 3 - autorisation annulée ;
  • 5 - autorisation initiée via ACS de la banque émettrice ;
  • 6 - autorisation refusée ;
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

panMaskedFrom String [1..19] Numéro de carte masqué pour le débit des fonds.
Facultatif

panMaskedTo String [1..19] Numéro de carte masqué pour le crédit des fonds.
Facultatif

amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
Facultatif

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Facultatif

creationDate Integer Date d'enregistrement de la commande.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Obligatoire

resultCode Integer Code d'erreur lors de l'exécution de la requête. Valeurs possibles :
  • 0 - en cas de succès ;
  • 1 - en cas d'erreur.
Facultatif

orderParams Object Objet avec les attributs marchands de la commande. Dans la réponse, plus d'un bloc orderParams peut être présenté.
L'objet doit être transmis de la manière suivante : {"param":"value","param2":"value2"}.
Facultatif

operationList Object Objet contenant des informations sur les transactions terminées dans la commande. Dans la réponse, il peut y avoir plus d'un bloc operationList.
Les paramètres qui peuvent être transmis sont décrits ci-dessous.
Facultatif

binding String Identifiant de liaison (si elle a déjà été créée). Ce paramètre est retourné uniquement si la version getP2PStatus est égale à 3 ou supérieure.
Facultatif

detokenizedPanRepresentation String [1..19] Numéro de carte détokenisé (4 derniers chiffres ou sous forme masquée).
Facultatif

detokenizedPanExpiryDate String Date d'expiration de la carte détokénisée au format suivant : YYYYMM.
Facultatif

paymentNetRefNum String [1..512] Original Network Reference Number - c'est un identifiant que le réseau de paiement (Mastercard, Visa, etc.) attribue lors de la réalisation de la première transaction (par exemple, un achat). Lors de l'exécution de l'opération inverse (remboursement, paiement répété), ce numéro :
  • est copié de la transaction originale
  • est transmis dans le champ Original Network Reference Number
  • permet au système de paiement de lier la nouvelle opération à l'opération initiale
Ce paramètre est présent dans la réponse uniquement si la requête getP2PStatus version 7 ou supérieure est utilisée.

Exemples

Exemple de requête

curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/performP2PByBinding.do'
-H 'Content-Type: application/json'
--data-raw '{ 
  "amountInput" : 1000,
  "toCard": {
        "cardholderName": "TEST CARDHOLDER",
        "expirationMonth": 12,
        "expirationYear": 2029,
        "pan": "5555555555555599"
  },
  "orderId" : "3dbaf8bb-1d68-76b3-b4e6-784700f26b04",
  "password" : "test_user_password",
  "type" : "WITHOUT_FROM_CARD",
  "username" : "test_user"
}'

Exemple de réponse

{
  "errorCode" : 0,
  "errorMessage" : "Successful",
  "info" : "Your order is proceeded, redirecting...",
  "redirect" : "https://example.com/?orderId=47743354-be15-7c70-b9ef-4bfc482e68dc&lang=en",
  "is3DSVer2" : false
}

Virement instantané P2P

Pour effectuer un virement instantané P2P sans appel de demande d'enregistrement de commande, utilisez la demande https://dev.bpcbt.com/payment/rest/api/p2p/instantPerformP2P.do.


Lors de l'exécution de la demande, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

La structure de la demande performP2P.do suppose la présence du bloc toCard pour transmettre les attributs de la carte pour le crédit.

Paramètres de la demande

Caractère obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Obligatoire

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

clientId String [0..255] Numéro du client (ID) dans le système du marchand — jusqu'à 255 caractères. Utilisé pour la mise en œuvre de la fonctionnalité de liaisons. Peut être retourné dans la réponse, si le marchand est autorisé à créer des liaisons.
L'indication de ce paramètre lors du traitement des paiements par liaison est obligatoire. Dans le cas contraire, le paiement sera impossible.
Facultatif

bindingId String [1..255] Identifiant d'une liaison déjà existante (identifiant de carte tokenisée par la passerelle). Il ne peut être utilisé que si le marchand a l'autorisation de travailler avec les liaisons. Si ce paramètre est transmis dans cette requête, cela signifie que :
  • Cette commande ne peut être payée qu'à l'aide de la liaison ;
  • Le payeur sera redirigé vers la page de paiement où seule la saisie du CVC est requise.
Condition

originalSchemeTransactionId String [1..22] Identifiant de la transaction originale réussie dans Mastercard.
Obligatoire lors de l'utilisation des données de paiement sauvegardées du marchand dans les virements par données de paiement sauvegardées.
Facultatif

creditBindingId String [0..255] Identifiant de liaison de carte pour le crédit. Utilisé lors des transferts de carte à carte, lorsque la carte du destinataire est connue à l'avance. Ce paramètre doit d'abord être transmis dans la demande d'enregistrement de paiement (registerP2P.do - ici aussi doit être transmis le paramètre clientId), puis dans la demande de transfert de fonds par liaison (performP2PByBinding.do - la valeur du paramètre creditBindingId, transmise dans registerP2P.do, doit être transmise dans le paramètre bindingId dans le bloc toCard).
Facultatif

email String [1..40] Adresse électronique du payeur.
Obligatoire

amount String [0..12] Montant du virement en unités minimales de devise (par exemple, en kopecks).
Ce paramètre est transmis si le payeur décide de modifier le montant du virement lors de l'exécution du virement monétaire.
Obligatoire

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif params Object Champs d'informations supplémentaires pour stockage ultérieur, transmis de la manière suivante :
"params": [ {"name": "param1", "value": "value1"}, {"name": "param2", "value": "value2"} ].
Ces champs peuvent être transmis au traitement de la banque pour affichage ultérieur dans les registres de la banque.
Facultatif

feeInput Integer [0..8] Taille de la commission en unités minimales de la devise. La fonctionnalité doit être activée au niveau du vendeur dans la passerelle.
Obligatoire

returnUrl String [1..512] Adresse vers laquelle l'utilisateur doit être redirigé en cas de paiement réussi. L'adresse doit être spécifiée complètement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
Facultatif

failUrl String [1..512] Adresse vers laquelle il faut rediriger l'utilisateur en cas de paiement échoué. L'adresse doit être spécifiée entièrement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
Obligatoire

transactionTypeIndicator String Utilisé dans les types de transactions unidirectionnelles.
Les valeurs suivantes sont possibles :
  • A - Virement de carte à carte d'un même propriétaire (de compte à compte)
  • B - Virement dans le but d'acquérir de la cryptomonnaie
  • C - Virement aux fins d'achat de cryptomonnaie
  • D - Versement de fonds
  • F - Virement pour paris de jeux de hasard
  • G - Versement dans les jeux de hasard en ligne
  • H - Retrait de fonds (Cash Out). Retrait de fonds par un agent.
  • I - Versements gouvernementaux
  • J - Virement d'argent initié par la banque
  • L - Virement aux fins de remboursement de factures de carte de crédit
  • O - Virement aux fins de paiement de dettes
  • P - Virement de carte à carte de propriétaires différents
  • W - Virement sur compte propre de portefeuille numérique échelonné pour paiement
Obligatoire features Object Conteneur pour le paramètre feature, obligatoire pour les opérations unidirectionnelles.
Si une opération OCT (virement de compte vers carte) est effectuée - dans le paramètre feature doit être transmis WITHOUT_FROM_CARD.
Exemple : "features" : { "feature" : ["WITHOUT_FROM_CARD"] }
Facultatif

mcc Integer [4] Merchant Category Code (code de catégorie du marchand). Pour transmettre ce paramètre, une autorisation spéciale est nécessaire. Seules les valeurs de la liste MCC autorisée peuvent être utilisées. Pour obtenir des informations plus détaillées, contactez le support technique.
Facultatif

merchantLogin String [1..255] Pour enregistrer une commande au nom d'un autre marchand, spécifiez son login (pour le compte API) dans ce paramètre.
Ne peut être utilisé que si vous avez l'autorisation de consulter les transactions d'autres vendeurs ou si le vendeur spécifié est votre vendeur filial.
Facultatif

dynamicCallbackUrl String [1..512] Paramètre pour transmettre l'adresse dynamique pour recevoir les notifications callback "de paiement" pour la commande, activées pour le marchand (autorisation réussie, débit réussi, remboursement, annulation, rejet du paiement par timeout, rejet du paiement card present).
Les notifications callback "non liées au paiement" (activation/désactivation de liaison, création de liaison), seront envoyées à l'adresse callback statique.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Facultatif type String En cas de virement monétaire avec des données sur une seule carte, il faut transmettre dans ce paramètre la valeur correspondante :
WITHOUT_FROM_CARD - sans indication de carte pour le débit des fonds.
Facultatif

captcha String CAPTCHA (texte destiné à distinguer la saisie humaine de la saisie machine)
Facultatif

threeDSSDK Boolean Valeurs possibles : true ou false Indicateur montrant que le paiement provient du 3DS SDK.
Facultatif

threeDSSDKEncData String Données chiffrées sur l'appareil.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKReferenceNumber String Identifiant officiel 3DS2 SDK
Facultatif

threeDSSDKEphemPubKey String Partie publique de la clé éphémère. Requis pour établir une session avec ACS.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKAppId String Identifiant unique du SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSSDKTransId String Identifiant unique de la transaction dans le SDK.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.
Condition

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Condition

threeDSVer2MdOrder String [1..36] Numéro de commande qui a été enregistré dans la première partie de la demande dans le cadre de l'opération 3DS2. Obligatoire pour l'authentification 3DS.
Si ce paramètre est présent dans la demande, alors mdOrder est utilisé, qui est transmis dans le présent paramètre. Dans ce cas, l'enregistrement de la commande n'a pas lieu, mais le paiement de la commande se produit immédiatement.
Ce paramètre est transmis uniquement lors de l'utilisation des méthodes de paiement instantané, c'est-à-dire, lorsque la commande est enregistrée et payée dans le cadre d'une seule demande.
Facultatif

bindingNotNeeded Boolean Valeurs autorisées :
  • true- la création de liaison après l'exécution du paiement est désactivée (la liaison est l'identifiant du client transmis dans la demande d'enregistrement de commande, qui après la demande de paiement sera supprimé des détails de la commande) ;
  • false – en cas de paiement réussi, une liaison peut être créée (sous réserve du respect des conditions nécessaires). C'est la valeur par défaut.
Facultatif

externalScaExemptionIndicator String Type d'exemption SCA (Strong Customer Authentication). Utilisé pour les transactions AFT. Si ce paramètre est spécifié, la transaction sera traitée en fonction de vos paramètres dans la passerelle de paiement : soit une opération SSL forcée sera exécutée, soit la banque émettrice recevra des informations sur l'exemption SCA et prendra une décision sur la conduite de l'opération avec ou sans authentification 3DS (pour des informations détaillées, contactez notre service d'assistance). Valeurs autorisées :
  • LVP – transaction de type Low Value Payments. La transaction peut être classée comme transaction à faible niveau de risque sur la base du montant de la transaction, du nombre de transactions du client par jour ou du montant quotidien total des paiements du client.
  • TRA – transaction de type Transaction Risk Analysis, c'est-à-dire transaction ayant passé avec succès la vérification antifraude.

Pour transmettre ce paramètre, vous devez avoir des droits suffisants dans la passerelle de paiement.
Condition

originalPaymentNetRefNum String Identifiant de la transaction originale ou précédente réussie dans le système de paiement par rapport à l'opération effectuée par liaison - TRN ID. Transmis si la valeur du paramètre tii = R,U ou F.
Obligatoire lors de l'utilisation des liaisons du marchand dans les transferts par liaison.
Facultatif shippingPayerData Object Objet contenant les données de livraison au client. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif preOrderPayerData Object Objet contenant les données de précommande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif orderPayerData Object Objet contenant les données du payeur de la commande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
Facultatif

billingAndShippingAddressMatchIndicator String [1] Indicateur de correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client.
Valeurs possibles :
  • Y - correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison ;
  • N - l'adresse de facturation du porteur de carte et l'adresse de livraison ne correspondent pas.
Condition billingPayerData Object Bloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour passer la vérification d'adresse dans le cadre des services AVS/AVV. Obligatoire si la fonction est activée pour le vendeur du côté de la passerelle de paiement. Voir paramètres imbriqués.
Condition billingRecipientData Object Bloc avec les données du destinataire. Obligatoire si la fonction est activée pour le vendeur du côté de la passerelle de paiement. Voir paramètres imbriqués.
Obligatoire

toCard Object Bloc avec attributs de la carte de crédit. Voir paramètres imbriqués.
Facultatif

debitMdOrder String [1..36] Numéro unique de commande pour laquelle le transfert AFT a été exécuté dans iPay. Ce paramètre est utilisé pour les opérations OCT lors des transferts P2P (AFT+OCT).
Condition

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les virements P2P (AFT+OCT) en utilisant Mastercard. Il est rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante. Obligatoire, si un Mastercard Money Funding Payment a été exécuté précédemment et qu'un Unique Transaction Reference a été formé et envoyé.
Facultatif

transactionPurpose String Objectif de la transaction (utilisé pour les transactions OCT utilisant Mastercard). Valeurs possibles :
  • FAMILY_SUPPORT ou 0
  • REGULAR_LABOR_TRA ou 1
  • TRAVEL_AND_TOURISM ou 2
  • EDUCATION ou 3
  • HOSPITALIZATION ou 4
  • EMERGENCY_NEED ou 5
  • SAVING ou 6
  • GIFTS ou 7
  • OTHER ou 8
  • SALARY ou 9
  • CROWD_LENDING ou 10
  • CRYPTO_CURRENCY ou 11
  • REFUND_ORIGINAL ou 12
  • REFUND_NEW_CARD ou 13
  • TRANSFER_SAME_WAL ou 14
  • BOLETO_PAYMENT ou 15
  • HIGH_RISK_SECURITY ou 16
  • RECYCLING_DEPOSIT_RETURN ou 17
  • VALUE_ADDED_TAX ou 18
Facultatif

serviceProcessingType String Type de service de traitement (utilisé pour les transactions OCT utilisant Visa). Indicateur de service qui indique au système Visa comment traiter la transaction au niveau du traitement. Valeurs possibles :
  • NORMAL ou 00
  • ORIG_HOLD ou 01
  • VISA_DEFERRED_DEFAULT ou 02
  • VISA_DEFERRED_CUSTOM ou 03
  • CANCEL_DEFERRED ou 09
  • VISA_DIRECT_CUSTOM ou 0I
  • DEFERRED_OCT_QUERY ou 0Q
  • REC_PAYOUT ou 0R
  • ALIAS_DIRECTORY ou A0

Valeurs possibles du paramètre tii :

Valeur tii Description Type de transaction Initiateur de transaction Données de carte pour la transaction Données de carte sauvegardées après la transaction Commentaire
CI Initiateur - Ordinaire (CIT) Initiatrice Acheteur Saisies par l'acheteur Oui Transaction de commerce électronique avec sauvegarde de liaison.
F Paiement non programmé (CIT) Subséquente Acheteur Le client sélectionne la carte au lieu de la saisie manuelle Non Transaction de commerce électronique utilisant une liaison ordinaire précédemment sauvegardée.

Description des paramètres de l'objet shippingPayerData :

Caractère obligatoire Nom Type Description
Facultatif shippingCity String [1..50] Ville du client (à partir de l'adresse de livraison)
Facultatif shippingCountry String [1..50] Pays du client
Facultatif shippingAddressLine1 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine2 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingAddressLine3 String [1..50] Adresse principale du client (à partir de l'adresse de livraison)
Facultatif shippingPostalCode String [1..16] Code postal du client pour la livraison
Facultatif shippingState String [1..50] État/région de l'acheteur (à partir de l'adresse de livraison)
Facultatif shippingMethodIndicator Integer [2] Indicateur du mode de livraison.
Valeurs possibles :
  • 01 - livraison à l'adresse de paiement du porteur de carte.
  • 02 - livraison à une autre adresse, vérifiée par le Marchand.
  • 03 - livraison à une adresse différente de l'adresse principale du porteur de carte.
  • 04 - envoi en magasin/retrait en magasin (l'adresse du magasin doit être indiquée dans les paramètres de livraison correspondants)
  • 05 - Distribution numérique (inclut les services en ligne et les cartes-cadeaux électroniques)
  • 06 - billets de voyage et d'événements qui ne peuvent pas être livrés.
  • 07 - Autre (par exemple, jeux, biens numériques non livrables, abonnements numériques, etc.)
Facultatif deliveryTimeframe Integer [2] Délai de livraison de la marchandise.
Valeurs possibles :
  • 01 - distribution numérique
  • 02 - livraison le jour même
  • 03 - livraison le jour suivant
  • 04 - livraison dans les 2 jours après le paiement et plus tard.
Facultatif deliveryEmail String [1..254] Adresse e-mail cible pour la livraison de la distribution numérique. Il est préférable de transmettre l'e-mail dans le paramètre de requête indépendant email (mais si vous le transmettez dans ce bloc, les mêmes règles s'appliqueront).

Description des paramètres de l'objet preOrderPayerData :

Obligatoire Nom Type Description
Facultatif preOrderDate String [10] Date de livraison attendue (pour les achats en précommande) au format AAAAMMJJ.
Facultatif preOrderPurchaseInd Integer [2] Indicateur de placement par le client d'une commande pour une livraison disponible ou future.
Valeurs possibles :
  • 01 - livraison possible ;
  • 02 - livraison future
Facultatif reorderItemsInd Integer [2] Indicateur que le client repasse une commande d'une livraison précédemment payée dans le cadre d'une nouvelle commande.
Valeurs possibles :
  • 01 - commande passée pour la première fois ;
  • 02 - commande répétée

Description des paramètres de l'objet orderPayerData.

Obligatoire Nom Type Description
Facultatif homePhone String [7..15] Téléphone fixe du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif workPhone String [7..15] Téléphone professionnel du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
Facultatif mobilePhone String [7..15] Numéro de téléphone portable du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.

Pour les paiements par VISA avec autorisation 3DS, il est nécessaire d'indiquer soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte. Si vous avez configuré l'affichage du numéro de téléphone sur la page de paiement et que vous avez indiqué un numéro de téléphone incorrect, le client pourra le corriger sur la page de paiement.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Obligatoire Nom Type Description
Facultatif billingCity String [0..50] Ville enregistrée pour une carte spécifique chez la Banque Émettrice.
Facultatif billingCountry String [0..50] Pays enregistré pour une carte spécifique de la banque émettrice. Format: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif billingAddressLine1 String [0..50] Adresse enregistrée pour une carte spécifique chez la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingAddressLine2 String [0..50] Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
Facultatif

billingAddressLine3 String [0..50] Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
Facultatif

billingPostalCode String [0..9] Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
Facultatif

billingState String [0..50] État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Obligatoire

payerAccount String [1..32] Numéro de compte de l'expéditeur.
Facultatif payerLastName String [1..64] Nom de famille de l'expéditeur.
Facultatif payerFirstName String [1..35] Prénom de l'expéditeur.
Facultatif

payerMiddleName String [1..35] Nom patronymique de l'expéditeur.
Facultatif

payerCombinedName String [1..99] Nom complet de l'expéditeur.
Facultatif

payerIdType String [1..8] Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

payerIdNumber String [1..100] Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
Facultatif payerBirthday String [1..20] Date de naissance de l'expéditeur au format YYYYMMDD.
Condition

payerAccountNumberType String [1..20] Type de numéro de compte du payeur. Obligatoire pour les transactions OCT utilisant Mastercard. Valeurs possibles :
  • RTN ou 1 – RTN + Bank Account
  • IBAN ou 2 – IBAN
  • CARD_ACCOUNT ou 3 – Card Account
  • EMAIL ou 4– Email
  • PHONE_NUMBER ou 5 – Phone Number
  • BAN_AND_BIC ou 6 – Bank account number (BAN) + Bank Identification Code (BIC)
  • WALLET_ID ou 7 – Wallet Id
  • SOCIAL_NETWORK_ID ou 8 – Social Network Id
  • OTHER ou 100 – Other

Ci-dessous sont présentés les paramètres du bloc billingRecipientData (données sur le destinataire).

Obligatoire Nom Type Description
Facultatif

recipientCity String [0..40] Code de la ville du destinataire. Format ISO 3166-1 alpha-3. Peut contenir uniquement des lettres de l'alphabet latin.
Facultatif recipientCountry String [0..50] Code du pays du destinataire. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
Facultatif

recipientAddressLine1 String [0..50] Adresse du destinataire. Ne peut contenir que des lettres de l'alphabet latin.
Facultatif

recipientPostalCode String [0..9] Code postal du destinataire.
Facultatif

recipientState String [0..50] Code de l'état du destinataire. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
Facultatif recipientAccount String [0..32] Numéro de compte du destinataire.
Facultatif recipientAccountNumberType Integer [1..2] Type de compte du destinataire. Valeurs possibles :
  • 1 - RTN + Bank Account;
  • 2 - IBAN;
  • 3 - Card Account;
  • 4 - E-mail;
  • 5 - Phone Number;
  • 6 - Bank account number (BAN) + Bank Identification Code (BIC);
  • 7 - Wallet Id;
  • 8 - Social Network Id;
  • 100 - Other.

Obligatoire

recipientLastName String [0..35] Nom de famille du destinataire.
Obligatoire

recipientFirstName String [0..35] Nom du destinataire.
Facultatif

recipientMiddleName String [0..35] Nom patronymique du destinataire.
Facultatif

recipientCombinedName String [0..99] Nom complet du destinataire.
Facultatif

recipientIdType String [1..8] Type de document d'identification fourni du destinataire.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite des affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Titre de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
Facultatif

recipientIdNumber String [1..99] Numéro du document d'identification fourni du destinataire.
Facultatif

recipientBirthday String [1..20] Date de naissance du destinataire au format YYYYMMDD.

Le bloc toCard comprend les paramètres suivants :

Caractère obligatoire Nom Type Description
Condition

pan String [1..19]
Facultatif

expirationYear Integer [4] Année d'expiration de la carte de crédit. Les valeurs acceptées vont de 2000 à 2200.
Facultatif

expirationMonth Integer [2] Mois d'expiration de la carte de crédit. Valeurs disponibles : 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.
Facultatif

cardholderName String [1..26] Nom du porteur de la carte de crédit.
Condition

seToken String Données de carte chiffrées.
Obligatoire, si utilisé à la place des données de carte. Paramètres obligatoires pour la chaîne seToken : timestamp, UUID, PAN, EXPDATE, MDORDER. Plus de détails sur la génération seToken voir ici.

Lors de l'authentification par protocole 3DS2, les paramètres suivants sont également transmis :

Caractère obligatoire Nom Type Description
Facultatif

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSVer2FinishUrl String [1..512] URL vers laquelle le client doit être redirigé après l'authentification sur le serveur ACS.
Facultatif

threeDSMethodNotificationUrl String [1..512] URL pour l'envoi de la notification de passage de la vérification sur ACS.

Paramètres de réponse

Caractère obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

info String Résultat de la tentative de transfert de fonds.

Valeur en cas de transfert réussi : "Votre paiement est traité, redirection en cours..."

Valeur en cas d'erreur : "Redirection en cours..."
Facultatif

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Facultatif

redirect String [1..512] Ce paramètre est renvoyé si le paiement a réussi et qu'aucune vérification de la carte pour l'implication dans 3-D Secure n'a été effectuée pour le paiement. Les vendeurs peuvent l'utiliser s'ils souhaitent rediriger l'utilisateur vers la page de la passerelle de paiement. Si le vendeur utilise sa propre page, cette valeur peut être ignorée.
Facultatif

threeDSSDKKey String Clé de chiffrement des données de l'appareil.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSAcsTransactionId String Identifiant de transaction 3DS dans ACS.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSAcsRefNumber String Numéro de référence sur ACS.
Facultatif

threeDSAcsSignedContent String Contenu signé pour le SDK, le contenu inclut l'adresse URL ACS.

Le paramètre est obligatoire pour le SDK.

Facultatif

threeDSDsTransID String Identifiant unique de la transaction à l'intérieur du MPS.

Le paramètre est obligatoire pour le SDK.

Condition statusResponse Object Paramètres du statut de réponse. Ce bloc n'est retourné que si vous avez activé le paramètre correspondant. Pour activer cette fonctionnalité, contactez le support technique. Voir paramètres imbriqués.
Facultatif

debitTransactionReference String [1..19] Référence à l'opération AFT. Ce paramètre est utilisé pour les opérations OCT pour les transferts P2P (AFT+OCT) en utilisant Mastercard. Il est automatiquement rempli par le paramètre statusResponse.debitTransactionReference de la transaction AFT correspondante (générée automatiquement par la passerelle de paiement) ou par le paramètre correspondant reçu dans la demande OCT.

Paramètres du bloc statusResponse :

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

orderStatus Integer La valeur de ce paramètre indique le statut de la commande dans la passerelle de paiement. Absent si la commande n'a pas été trouvée. Ci-dessous la liste des valeurs disponibles :
  • 0 - commande enregistrée mais non payée ;
  • 2 - autorisation complète du montant de la commande effectuée ;
  • 3 - autorisation annulée ;
  • 5 - autorisation initiée via ACS de la banque émettrice ;
  • 6 - autorisation refusée ;
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

panMaskedFrom String [1..19] Numéro de carte masqué pour le débit des fonds.
Facultatif

panMaskedTo String [1..19] Numéro de carte masqué pour le crédit des fonds.
Facultatif

amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
Facultatif

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Facultatif

creationDate Integer Date d'enregistrement de la commande.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Obligatoire

resultCode Integer Code d'erreur lors de l'exécution de la requête. Valeurs possibles :
  • 0 - en cas de succès ;
  • 1 - en cas d'erreur.
Facultatif

orderParams Object Objet avec les attributs marchands de la commande. Dans la réponse, plus d'un bloc orderParams peut être présenté.
L'objet doit être transmis de la manière suivante : {"param":"value","param2":"value2"}.
Facultatif

operationList Object Objet contenant des informations sur les transactions terminées dans la commande. Dans la réponse, il peut y avoir plus d'un bloc operationList.
Les paramètres qui peuvent être transmis sont décrits ci-dessous.
Facultatif

binding String Identifiant de liaison (si elle a déjà été créée). Ce paramètre est retourné uniquement si la version getP2PStatus est égale à 3 ou supérieure.
Facultatif

detokenizedPanRepresentation String [1..19] Numéro de carte détokenisé (4 derniers chiffres ou sous forme masquée).
Facultatif

detokenizedPanExpiryDate String Date d'expiration de la carte détokénisée au format suivant : YYYYMM.
Facultatif

paymentNetRefNum String [1..512] Original Network Reference Number - c'est un identifiant que le réseau de paiement (Mastercard, Visa, etc.) attribue lors de la réalisation de la première transaction (par exemple, un achat). Lors de l'exécution de l'opération inverse (remboursement, paiement répété), ce numéro :
  • est copié de la transaction originale
  • est transmis dans le champ Original Network Reference Number
  • permet au système de paiement de lier la nouvelle opération à l'opération initiale
Ce paramètre est présent dans la réponse uniquement si la requête getP2PStatus version 7 ou supérieure est utilisée.

Lors de l'authentification par protocole 3DS2, en réponse à la première demande arrivent les paramètres suivants :

Caractère obligatoire Nom Type Description
Obligatoire

threeDSServerTransId String [1..36] Identifiant de transaction créé sur le serveur 3DS. Obligatoire pour l'authentification 3DS.
Facultatif

threeDSMethodUrl String [1..512] URL du serveur ACS pour la collecte des données du navigateur.
Obligatoire

threeDSMethodUrlServer String [1..512] URL du serveur 3DS pour collecter les données du navigateur qui seront incluses dans AReq (Authentication Request) du serveur 3DS vers le serveur ACS.
Facultatif

threeDSMethodDataPacked String [1..1024] Données CReq (Challenge Response) en encodage Base-64 pour l'envoi au serveur ACS.
Facultatif

threeDSMethodURLServerDirect String [1..512] Adresse URL 3dsmethod.do pour l'exécution de la méthode 3DS sur le serveur 3DS via la passerelle de paiement (en présence de l'autorisation correspondante au niveau du vendeur).

Ci-dessous sont présentés les paramètres qui doivent être présents dans la réponse, après demande répétée de paiement et nécessité de rediriger le client vers ACS lors de l'authentification par protocole 3DS2 :

Caractère obligatoire Nom Type Description
Condition

acsUrl String [1..512] URL pour la redirection vers ACS. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Pour plus de détails, voir Redirection vers ACS.
Condition

packedCReq String Données challenge request empaquetées. Retourné lors d'une réponse réussie en cas de paiement 3D-Secure, si une redirection vers ACS est requise. Cette valeur doit être utilisée comme valeur du paramètre creq du lien vers ACS (acsUrl), pour rediriger le client vers ACS. Pour plus de détails, voir Redirection vers ACS.

Pour finaliser la transaction utilisez la méthode /p2p/finishThreeDsVer2.do.

Exemples

Exemple de transaction OCT

curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/instantPerformP2P.do' '
--header 'Content-Type: application/json' \
--data '{
  "username": "test_user",
  "password": "test_user_password",
  "email" : "test@example.com",
  "orderNumber" : "abcd1234abchh",
  "amount" : 1500,
  "currency" : "978",
  "returnUrl" : "https://mybestmerchantreturnurl.com",
  "failUrl" : "https://failUrl.com",
  "toCard": {
        "pan": "4000001111111118"
    },
    "transactionTypeIndicator": "G",
    "features": {
        "feature": [
            "WITHOUT_FROM_CARD"
        ]
    }
  }'

Exemple de réponse à la demande :

{
    "errorCode": 0,
    "info": "Your order is proceeded, redirecting...",
    "acsUrl": "https://example.com/acs2/acs/creq",
    "is3DSVer2": true,
    "packedCReq": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhZmMxNjhhLTk0YjQtNGViMy04ZTJlLTgwZjZjMTg2NjY5ZCIsIm1lc3NhZ2VUeXBlIjoiQ1JlcSIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJhY3NUcmFuc0lEIjoiOWM3NTkxMmEtZTg0NC00ODgyLWI5YzctYzZmYmMzNjIyNGQ3IiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA1In0"
}

Statut du virement P2P

Pour obtenir le statut de la commande P2P enregistrée, utilisez la requête https://dev.bpcbt.com/payment/rest/api/p2p/getP2PStatus.do.


Lors de l'exécution de la requête, il est nécessaire d'utiliser l'en-tête : Content-Type: application/json

Paramètres de requête

Obligatoire Nom Type Description
Obligatoire

username String [1..30] Identifiant du compte API du vendeur.
Obligatoire

password String [1..30] Mot de passe du compte API du vendeur.
Facultatif

language String [2] Clé de langue selon ISO 639-1. Si la langue n'est pas spécifiée, la langue par défaut spécifiée dans les paramètres du magasin est utilisée.
Langues prises en charge : en,el,ro,bg,pt,sw,hu,it,pl,de,fr,kh,cn,es,ka,da,et,fi,lt,lv,nl,sv.
Condition

orderId String [1..36] Numéro de commande dans la passerelle de paiement. Unique dans les limites de la passerelle de paiement.
Condition

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.

Paramètres de réponse

Obligatoire Nom Type Description
Obligatoire

errorCode String [1..2] Paramètre informatif en cas d'erreur, qui peut avoir différentes valeurs de code :
  • valeur 0 - indique le succès du traitement de la demande ;
  • autre valeur numérique (1-99) - indique une erreur, pour obtenir des informations plus détaillées sur laquelle il est nécessaire de vérifier le paramètre errorMessage.
Peut être absent si le résultat n'a pas causé d'erreur.
Obligatoire

errorMessage String [1..512] Paramètre informatif qui constitue la description de l'erreur en cas de survenue d'erreur. La valeur errorMessage peut varier, par conséquent il ne faut pas faire référence explicitement à ses valeurs dans le code.
La langue de description est définie dans le paramètre language de la requête.
Facultatif

orderStatus Integer La valeur de ce paramètre indique le statut de la commande dans la passerelle de paiement. Absent si la commande n'a pas été trouvée. Ci-dessous la liste des valeurs disponibles :
  • 0 - commande enregistrée mais non payée ;
  • 2 - autorisation complète du montant de la commande effectuée ;
  • 3 - autorisation annulée ;
  • 5 - autorisation initiée via ACS de la banque émettrice ;
  • 6 - autorisation refusée ;
Facultatif

orderNumber String [1..36] Numéro de commande (ID) dans le système du marchand ; doit être unique pour chaque commande.
Facultatif

panMaskedFrom String [1..19] Numéro de carte masqué pour le débit des fonds.
Facultatif

panMaskedTo String [1..19] Numéro de carte masqué pour le crédit des fonds.
Facultatif

amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
Facultatif

currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
Facultatif

creationDate Integer Date d'enregistrement de la commande.
Facultatif

orderDescription String [1..600] Description de la commande transmise à la passerelle de paiement lors de l'enregistrement.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
Facultatif

ip String [1..39] Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
Obligatoire

resultCode Integer Code d'erreur lors de l'exécution de la requête. Valeurs possibles :
  • 0 - en cas de succès ;
  • 1 - en cas d'erreur.
Facultatif

orderParams Object Objet avec les attributs marchands de la commande. Dans la réponse, plus d'un bloc orderParams peut être présenté.
L'objet doit être transmis de la manière suivante : {"param":"value","param2":"value2"}.
Facultatif

operationList Object Objet contenant des informations sur les transactions terminées dans la commande. Dans la réponse, il peut y avoir plus d'un bloc operationList.
Les paramètres qui peuvent être transmis sont décrits ci-dessous.
Facultatif

binding String Identifiant de liaison (si elle a déjà été créée). Ce paramètre est retourné uniquement si la version getP2PStatus est égale à 3 ou supérieure.
Facultatif

detokenizedPanRepresentation String [1..19] Numéro de carte détokenisé (4 derniers chiffres ou sous forme masquée).
Facultatif

detokenizedPanExpiryDate String Date d'expiration de la carte détokénisée au format suivant : YYYYMM.
Facultatif

paymentNetRefNum String [1..512] Original Network Reference Number - c'est un identifiant que le réseau de paiement (Mastercard, Visa, etc.) attribue lors de la réalisation de la première transaction (par exemple, un achat). Lors de l'exécution de l'opération inverse (remboursement, paiement répété), ce numéro :
  • est copié de la transaction originale
  • est transmis dans le champ Original Network Reference Number
  • permet au système de paiement de lier la nouvelle opération à l'opération initiale
Ce paramètre est présent dans la réponse uniquement si la requête getP2PStatus version 7 ou supérieure est utilisée.

L'élément payerData contient les paramètres suivants.

Obligatoire Nom Type Description
Facultatif

paymentAccountReference String [1..29] Numéro unique du compte client, reliant tous ses moyens de paiement dans le cadre du SPI (cartes et jetons).

Ci-dessous sont présentés les paramètres possibles du bloc operationList.

Caractère obligatoire Nom Type Description
Facultatif

operationType String Type de transaction. Les valeurs suivantes sont disponibles :
  • P2P_VERIFY - demande le montant de la commission ;
  • P2P_DEBIT - débite l'argent ;
  • P2P_CREDIT - crédite l'argent ;
  • P2P_DEBIT_REVERSAL - annulation du débit ;
  • P2P_CREDIT_REVERSAL — annulation du crédit ;
  • P2P_TRANSFER - transfert d'argent de carte à carte ;
  • P2P_TRANSFER_REVERSAL - retour automatique en cas d'erreur lors du transfert.
    Facultatif

    amount Integer [0..12] Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
    Facultatif

    currency String [3] Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
    Facultatif

    datetime String Date et heure de l'exécution de l'opération.
    Facultatif

    resultCode String Code de réponse du traitement de la banque. Contient une valeur numérique. Voir la liste des codes de réponse ici.
    Facultatif

    resultCodeDescription String [1..512] Description du code d'erreur de la transaction.
    Facultatif

    maskedPan String [1..19] Numéro de carte masqué ou token utilisé pour le paiement.
    Facultatif

    cardholderName String [1..26] Nom du porteur de carte (le cas échéant).
    Facultatif

    refNum String [12] Identifiant unique de l'opération, attribué par la banque acquéreuse lors du traitement du paiement par carte bancaire. Le RRN est créé exclusivement par la banque acquéreuse et est utilisé pour la recherche, la vérification et le règlement ultérieurs des opérations (y compris les remboursements, chargebacks et enquêtes).

    Exemples

    Exemple de requête

    curl -X POST 'https://dev.bpcbt.com/payment/rest/api/p2p/getP2PStatus.do'
    -H 'Content-Type: application/json'
    --data-raw '{ 
      "username": "test_user",
      "password": "test_user_password",
      "orderId" : "0a4eaae8-653a-71a9-8259-46fc00a8ea58"
    }'

    Exemple de réponse

    {
      "orderStatus": 0,
      "errorCode": 0,
      "errorMessage": "Successful",
      "orderNumber": "2009",
      "amount": 50000,
      "currency": "978",
      "creationDate": 1674137044330,
      "orderParams": [],
      "operationList": [],
      "resultCode": 0
    }

    Finalisation de la transaction P2P 3DS2 via API

    Pour finaliser la transaction P2P, le vendeur envoie l'identifiant de la transaction à la passerelle en utilisant la méthode https://dev.bpcbt.com/payment/rest/api/p2p/finishThreeDsVer2.do.


    Lors de l'exécution de la requête, il est nécessaire d'utiliser l'en-tête : Content-Type: application/x-www-form-urlencoded

    Paramètres de la requête

    Obligatoire Nom Type Description
    Obligatoire

    username String [1..30] Identifiant du compte API du vendeur.
    Obligatoire

    password String [1..30] Mot de passe du compte API du vendeur.
    Obligatoire

    tDsTransId String [1..36] Identifiant unique de transaction obtenu du serveur 3DS.

    Paramètres de la réponse

    La réponse à cette requête ne contient aucun paramètre JSON. Au lieu de cela, elle redirige le client vers l'une des URL suivantes :

    Exemples

    Exemple de requête

    curl --request POST \
      --url https://dev.bpcbt.com/payment/rest/api/p2p/finishThreeDsVer2.do \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data '{
        "username": "test_user",
        "password": "test_user_password",
        "threeDSServerTransId": "65020d0c-2627-4a45-8eab-b93b58fc52ae"
    }'

    Exemple d'URL de redirection

    https://mybestmerchantreturnurl.com/finish.html?orderId=906bf262-bd53-4ac7-983c-07127954681b&amp;lang=en

    Catégories:
    P2P API V1
    Catégories
    Résultats de recherche