- Directives d'intégration
- Fonctionnalités prises en charge (Autres fonctionnalités)
- Données supplémentaires
- Données de niveau II et de niveau III
Données de niveau II et de niveau III
Une transaction par carte de crédit peut être soumise avec trois niveaux de données de transaction : Niveau I, niveau II et niveau III. Chaque niveau est défini par les informations fournies pour traiter la transaction.
- Le niveau I comporte les données de transaction standard, telles que la date, le numéro de carte et le montant total d'achat.
- Le niveau II comporte les données de niveau I, ainsi que des données de transaction supplémentaires, telles que le numéro de référence client, le numéro de facture et le montant de taxe sur les ventes.
- Le niveau III comporte les données de niveau II, ainsi que les détails des postes.
Si vous acceptez les cartes d'entreprise, professionnelles ou d'achat, l'indication de données de niveau II/III sur la transaction permet de qualifier la transaction pour des taux d'interchange plus intéressants. L'entreprise de votre client peut également bénéficier de relevés de carte détaillés, ainsi que d'informations permettant de prendre en charge et rationaliser les processus commerciaux, tels que l'autorisation, le rapprochement et la génération de rapports.
Notez que la passerelle ne vérifie pas que les données indiquées sur la transaction sont suffisantes pour qualifier la transaction pour des taux d'interchange spécifiques, comme requis par les systèmes de cartes.
Fournir des données de niveau II/III sur les opérations initiales
Lorsque vous créez une commande, toutes les données de niveau II ou III que vous indiquez s'appliquent à toutes les transactions de la commande.
Si vous utilisez la passerelle pour effectuer des transactions d'authentification et de paiement 3DS, vous pouvez créer une commande en soumettant une demande INITIATE_AUTHENTICATION (Initier l'authentification) suivie d'une demande AUTHENTICATE_PAYER (Authentifier le payeur) avec des données de niveau II/III, et fournir une authentification.transactionId dans la demande AUTHORIZE (Autoriser), PAY (Payer) ou VERIFY (Vérifier) suivante, et les données de niveau II/III sont renseignées à partir de l'authentification référencée.
Si vous avez fourni des données de niveau II/III dans la demande AUTHENTICATE_PAYER (Authentifier le payeur), puis si vous fournissez l'authentification.transactionId dans la demande AUTHORIZE (Autoriser), PAY (Payer) ou VERIFY (Vérifier) suivante, vous pouvez toujours soumettre des données de niveau II/III identiques ou différentes sur votre demande financière pour remplacer le niveau. Données II/III fournies lors de l'authentification.
Les champs Niveau II sont pris en charge à partir de la version 64 et Niveau III à partir de la version 77 de la requête AUTHENTICATE_PAYER.
Référence de l'API Authenticate Payer (Authentifier le payeur) [REST][NVP]
Fournir des données de niveau II/III sur les opérations ultérieures
Vous ne devez indiquer des données de niveau II/III sur les opérations ultérieures (Capture [Collecter] ou Refund [Rembourser]) que lorsque vous souhaitez :
- remplacer les données que vous avez indiquées pour la commande.
Vous pouvez remplacer les données de niveau II/III de la commande en indiquant les données au niveau de la commande elle-même. Cela permet de corriger les informations indiquées au moment de la création de la commande. Les informations mises à jour s'appliqueront alors à toutes les transactions ultérieures de la commande. Par exemple,
order.customerReference
Seuls les champs au niveau de la commande présents sur la demande de transaction peuvent être remplacés. Par exemple, le champorder.amount
peut être indiqué dans une demande de transaction Authorize (Autoriser), mais pas sur une demande de transaction Capture (Collecter) ultérieure.Voir la colonne Champ au niveau de la commande dans les tableaux Niveaux II/III ci-dessous.
- indiquer des données qui ne s'appliquent qu'à la transaction.
Vous pouvez indiquer des données de niveau II/III qui ne s'appliquent à la transaction donnée. Par exemple,
transaction.taxAmount
Voir la colonne Champ au niveau de la transaction dans les tableaux Niveaux II/III ci-dessous.
- réaliser des transactions Capture (Collecter) ou Refund (Rembourser) dans lesquelles le montant de la transaction est différent du montant de la commande. Dans ces cas, vous devez indiquer les données de niveau II/III sur la transaction, telles que les montants ou les détails des postes, ces données ne pouvant pas provenir par défaut de la commande.
Envoi des données de niveau II/III à votre acquéreur
Lorsque la passerelle envoie des données de niveau II/III à votre acquéreur, les valeurs indiquées sur la transaction priment sur les valeurs indiquées au niveau de la commande. Si vous n'indiquez aucune valeur sur la transaction, la passerelle envoie les valeurs indiquées au niveau de la commande à l'acquéreur, lorsqu'applicables uniquement.
Pour transmettre les données de niveau II suivantes dans votre demande de transaction, utilisez les champs API correspondants au niveau de la commande et/ou au niveau de la transaction, comme illustré dans le tableau ci-dessous.
Données de niveau II | Champ au niveau de la commande | Champ au niveau de la transaction |
---|---|---|
Date de la commande client | order.customerOrderDate |
|
Montant de la commande (montant à autoriser, soumis lors de la création d'une commande) | order.amount Si vous indiquez des montants des sous-totaux ( order.itemAmount , order.shippingAndHandlingAmount , order.taxAmount , order.gratuityAmount , order.cashbackAmount order.discount.amount ), le montant de la commande DOIT être égal à la somme des montants des sous-totaux moins le montant de remise. |
|
Montant de l'article | order.itemAmount Si vous ne renseignez pas ce champ mais indiquez des données pour un poste, ce montant est calculé comme étant la somme du montant total article ( order.item[n].unitPrice x order.item[n].quantity ) pour tous les postes. Si vous renseignez ce champ et les données de l'un des postes, la valeur de ce champ DOIT être égale à la valeur calculée.Si les positions décimales dans la valeur calculée dépassent les unités mineures de la devise du payeur, la passerelle arrondit le total au moyen de l'algorithme « arrondir au nombre entier supérieur ». Par exemple, si 2,555 (quantité) fois 3 (prix unitaire) est égal à 7,665, et si la devise du payeur (USD) comporte 2 unités mineures, le montant arrondi du poste est 7,66. Assurez-vous d'appliquer cet arrondi lorsque vous indiquez le montant du poste dans la demande. |
transaction.itemAmount |
Montant des frais d'expédition et de manutention | order.shippingAndHandlingAmount Montant total des frais d'expédition et de manutention pour la transaction, y compris les taxes applicables. |
transaction.shippingAndHandlingAmount |
Montant de taxe des frais d'expédition et de manutention | order.shippingAndHandlingTaxAmount Ce champ est pris en charge à partir de la version 67 et et versions supérieures. Montant de la taxe prélevée sur le montant des frais d'expédition et de manutention pour la transaction. Ce montant est inclus dans le montant des frais d'expédition et de manutention indiqué dans le champ order.shippingAndHandlingTaxAmount .
|
transaction.shippingAndHandlingTaxAmount |
Taux de taxe des frais d'expédition et de manutention | order.shippingAndHandlingTaxRate Ce champ est pris en charge à partir de la version 67 et et versions supérieures. Taux de taxe appliqué au montant des frais d'expédition et de manutention de la commande pour déterminer le montant de la taxe des frais d'expédition et de manutention. Pour un taux de taxe de 2,5 %, indiquer 0,025. |
transaction.shippingAndHandlingTaxRate |
Montant des droits | order.dutyAmount Ce champ est pris en charge à partir de la version 67 et et versions supérieures. Le montant des droits, également appelé taxe douanière, tarif douanier ou droits de douane, pour la transaction. |
transaction.dutyAmount |
Montant de taxe | order.taxAmount Si vous ne renseignez pas ce champ mais indiquez des données pour un poste, ce montant est calculé comme étant la somme du montant total de taxe ( order.item[n].unitTaxAmount x order.item[n].quantity ) pour tous les postes. Si vous renseignez ce champ et les données de l'un des postes, la valeur de ce champ DOIT être égale à la valeur calculée.Si les positions décimales dans la valeur calculée dépassent les unités mineures de la devise du payeur, la passerelle arrondit le total au moyen de l'algorithme « arrondir au nombre entier supérieur ». Par exemple, si 2,555 (quantité) fois 3 (prix unitaire) est égal à 7,665, et si la devise du payeur (USD) comporte 2 unités mineures, le montant arrondi du poste est 7,66. Assurez-vous d'appliquer cet arrondi lorsque vous indiquez le montant du poste dans la demande. |
transaction.taxAmount |
Type de taxe [n] | order.tax[n].type Vous pouvez devoir soumettre la valeur d'énumération correcte comme requis par votre acquéreur. Veuillez contacter votre your payment service provider pour plus de détails. |
transaction.tax[n].type Vous pouvez devoir soumettre la valeur d'énumération correcte comme requis par votre acquéreur. Veuillez contacter votre your payment service provider pour plus de détails. |
Montant de taxe [n] | order.tax[n].amount |
transaction.tax[n].amount |
Taux de taxe [n] | order.tax[n].rate |
transaction.tax[n].rate |
Indicateur d'exonération de taxe | order.taxStatus |
transaction.taxStatus |
Montant de remise | order.discount.amount |
transaction.discountAmount |
Référence de l'achat du commerçant | order.reference Si non indiquée, la passerelle utilise la valeur fournie dans le champ order.id (champ obligatoire). |
|
Numéro de facture | order.invoiceNumber |
|
Numéro de référence du client/du titulaire de la carte | order.customerReference |
|
Nom du demandeur | order.requestorName |
|
ID d'enregistrement fiscal du commerçant - Fédéral/national | order.taxRegistrationId |
Si vous êtes commerçant américain, indiquez votre code d'identification fiscale fédéral. Si vous êtes commerçant canadien, indiquez votre compte HST (Harmonized Sales Tax) auprès de l'Agence du revenu du Canada. |
ID d'enregistrement fiscal du commerçant - État/Province/local | order.localTaxRegistrationId |
|
Numéro de TVA intracommunautaire du client | customer.taxRegistrationId |
|
Adresse du commerçant - Code postal | La valeur configurée dans votre profil de commerçant est envoyée à l'acquéreur. | |
Adresse du commerçant - État/Province | La valeur configurée dans votre profil de commerçant est envoyée à l'acquéreur. | |
Origine de l'expédition - Code postal | shipping.origin.postcodeZip Si non indiqué, la valeur configurée dans votre profil de commerçant peut être envoyée à l'acquéreur. |
|
Destination de l'expédition - Rue | shipping.address.street shipping.address.street2 |
|
Destination de l'expédition - Ville | shipping.address.city |
|
Destination de l'expédition - État/Province | shipping.address.stateProvince Vous devez indiquer le code de subdivision de pays ISO 3166-2 à trois caractères. Si la destination est un territoire américain, indiquez le code du pays. Par exemple, GUM dans les champs shipping.address.country et shipping.address.stateProvince. Renseignez ce champ uniquement si tous les articles inclus dans la commande sont expédiés au même endroit. |
|
Destination de l'expédition - Pays | shipping.address.country Si la destination est un territoire américain, indiquez le code du pays. Par exemple, GUM dans les champs shipping.address.country et shipping.address.stateProvince . Renseignez ce champ uniquement si tous les articles inclus dans la commande sont expédiés au même endroit.
|
|
Destination de l'expédition - Code postal | shipping.address.postcodeZip |
|
Adresse de facturation - Nom | customer.firstName customer.lastName |
|
Adresse de facturation - Ligne 1 | billing.address.street |
|
Adresse de facturation - Ligne 2 | billing.address.street2 |
|
Adresse de facturation - Ville | billing.address.city |
|
Adresse de facturation - État | billing.address.stateProvince |
|
Adresse de facturation - Code postal | billing.address.postcodeZip |
|
Adresse de facturation - Pays | billing.address.country |
Référence de l'API Level II Data (Données de niveau II) [REST][NVP]
Les données niveau III comportent les données de niveau II répertoriées ci-dessus, ainsi que les données des postes. Pour transmettre les données de niveau III suivantes dans votre demande de transaction, utilisez les champs correspondants au niveau de la commande (du groupe de paramètres order.item[n]
) et/ou au niveau de la transaction (du groupe de paramètres transaction.item[n]
) API, comme illustré dans le tableau ci-dessous.
Données de niveau III | Champ au niveau de la commande | Champ au niveau de la transaction |
---|---|---|
Code d'identification fiscale du commerçant de l'article | Cette valeur ne peut pas être indiquée au niveau de l'article. Pour tous les articles, la valeur indiquée au niveau de la commande dans le champ order.taxRegistrationId sera soumise à l'acquéreur. |
|
Total article | Si requis dans le message de l'acquéreur, ce montant est calculé comme étant la somme du montant total article (order.item[n].unitPrice x order.item[n].quantity ) pour tous les postes. |
|
Unité de mesure de l'article | order.item[n].unitOfMeasure Vous devrez peut-être soumettre la valeur d'énumération correcte comme requis par votre acquéreur. Veuillez contacter votre your payment service provider pour plus de détails. |
transaction.item[n].unitOfMeasure Vous devrez peut-être soumettre la valeur d'énumération correcte comme requis par votre acquéreur. Veuillez contacter votre your payment service provider pour plus de détails. |
Description de l'article | order.item[n].description |
transaction.item[n].description |
Marque de l'article | order.item[n].brand |
transaction.item[n].brand |
Catégorie de l'article | order.item[n].category |
transaction.item[n].category |
Catégorie sectorielle de l'article | order.item[n].industryCategory |
transaction.item[n].industryCategory |
Nom de l'article | order.item[n].name |
transaction.item[n].name |
Référence de l'article | order.item[n].sku |
transaction.item[n].sku |
Référence UNSPSC (Classification universelle normalisée des produits et des services des Nations Unies - United Nations Standard Products and Services Code) de l'article | order.item[n].detail.unspsc |
transaction.item[n].detail.unspsc |
Référence UPC (Code universel des produits - Universal Product Code) de l'article | order.item[n].detail.upc |
transaction.item[n].detail.upc |
Code d'article | order.item[n].detail.commodityCode |
transaction.item[n].detail.commodityCode |
Quantité de l'article | order.item[n].quantity Lorsqu'une quantité décimale et multipliée par des montants ( order.item[n].unitPrice , order.item[n].unitTaxAmount ou order.item[n].unitDiscountAmount ) et si les positions décimales dans la valeur calculée dépassent les unités mineures de la devise du payeur, la passerelle arrondit le total au moyen de l'algorithme « arrondir au nombre entier supérieur ». Par exemple, si 2,555 (quantité) fois 3 (prix unitaire) est égal à 7,665, et si la devise du payeur (USD) comporte 2 unités mineures, le montant arrondi du poste est 7,66. |
transaction.item[n].quantity |
Prix unitaire de l'article | order.item[n].unitPrice Ce montant est multiplié par order.item[n].quantity pour déterminer le montant d'article total pour le poste. Si order.itemAmount est indiqué, la somme du montant total article pour tous les postes DOIT être égale à la valeur figurant dans order.itemAmount .
|
transaction.item[n].unitPrice |
Montant de taxe unitaire de l'article | order.item[n].unitTaxAmount Ce montant est multiplié par order.item[n].quantity pour déterminer le montant total de taxe pour le poste. Si order.taxAmount est indiqué, la somme du montant total de taxe pour tous les postes DOIT être égale à la valeur figurant dans order.taxAmount .
|
transaction.item[n].unitTaxAmount |
Type de taxe de l'article | order.item[n].detail.unitTaxType Utilisez ce champ pour indiquer le type de taxe facturé pour ce poste, s'il s'agit d'un seul type de taxe. |
transaction.item[n].detail.unitTaxType |
Taux de taxe de l'article (pourcentage) | order.item[n].detail.unitTaxRate Utilisez ce champ pour indiquer le taux de taxe facturé pour ce poste, s'il s'agit d'un seul taux de taxe. |
transaction.item[n].detail.unitTaxRate |
Type de taxe de l'article [n] | order.item[n].detail.tax[m].type order.item[n].detail.tax[m].amount order.item[n].detail.tax[m].rate Utilisez ces champs pour indiquer une ventilation du montant de taxe de la commande pour le poste par type de taxe. Cela s'applique si plusieurs types de taxes sont facturés pour ce poste. S'il n'y a qu'un seul type de taxe, utilisez order.item[n].detail.unitTaxType |
transaction.item[n].detail.tax[m].type transaction.item[n].detail.tax[m].amount transaction.item[n].detail.tax[m].rate Utilisez ces champs pour indiquer une ventilation du montant de taxe de la transaction pour le poste par type de taxe. Cela s'applique si plusieurs types de taxes sont facturés pour ce poste. S'il n'y a qu'un seul type de taxe, utilisez transaction.item[n].detail.unitTaxType |
Montant de taxe de l'article [n] | ||
Taux de taxe de l'article [n] (pourcentage) | ||
Montant de remise de l'article | order.item[n].unitDiscountAmount Ce montant est multiplié par order.item[n].quantity pour déterminer le montant total de remise pour le poste. Si order.discount.amount est indiqué, la valeur de ce champ DOIT être égale à la somme du montant total de remise pour tous les postes. |
transaction.item[n].unitDiscountAmount |
Taux de remise de l'article (pourcentage) | order.item[n].detail.unitDiscountRate |
transaction.item[n].detail.unitDiscountRate |
Référence de l'API Level III Data (Données de niveau III) [REST][NVP]