Projet

Général

Profil

Bug #9107

authorisation_id à la place de transaction_id ?

Ajouté par Antoine Nguyen il y a plus de 8 ans. Mis à jour il y a plus de 3 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
25 novembre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Bonjour,

j'utilise votre framework pour l'intégration de plusieurs backends de paiement et je constate que dans Mercanet, vous renvoyez "AUTHORISATION_ID" à la place de "TRANSACTION_ID" dans le champ "transaction_id" de la réponse. (fichier eopayment/sips.py).

Est ce une erreur ou existe il une raison particulière ?

Merci.

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Toute d'abord j'ai écrit tout ça en 2012 et je ne l'ai jamais utilisé donc ce n'est plus très frais dans ma tête :)

Ceci étant dit c'est order_id que vous devez utiliser pour lier les requêtes de paiement avec les réponses. Le champ transaction_id sert normalement à renvoyer le numéro de transaction interne à la plateforme de paiement.

Le code du module SIPS est un peu difficile à suivre parce que l'API SIPS elle même utilise des termes identiques à ceux employés dans eopayment mais pour des choses différentes; ici le transaction_id dans eopayment est généralement un numéro unique dans le temps de transaction mais chez SIPS c'est un numéro unique sur 24H, à 6 chiffres. Dans la méthode request on génère alors deux choses, order_id qui sera le numéro de transaction coté commerçants unique dans le temps, et le transaction_id pour faire plaisir à l'API SIPS mais qui de mon point de vue ne sert à rien. (J'ai relu rapidement http://mojoh.free.fr/optimalog/rapport/guide_developpeur%20BANQUE%20POPULAIRE.pdf pour vous répondre, ce n'est peut-être plus à jour).

#2

Mis à jour par Antoine Nguyen il y a plus de 8 ans

Vous voulez dire que le champ transaction_id envoyée dans la requête n'est pas le même que celui renvoyé par Mercanet dans réponse ?

#3

Mis à jour par Antoine Nguyen il y a plus de 8 ans

Par souci de cohérence, je pense qu'il est préférable de renvoyer TRANSACTION_ID dans la réponse. De plus, il me semble que c'est le numéro qui est utilisé dans les journaux de transaction disponibles dans le backoffice Mercanet.

J'ai besoin de cet identifiant à des fins de rapprochement comptable entre les données stockées par ma solution et celles affichées dans le backoffice marchand. Je teste cette modification et vous tiens au courant.

#4

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Le mieux serait que vous proposiez un patch, comme je vous l'ai dit je ne maintiens plus cette partie, merci :) Mais clairement d'après la doc SIPS que je pointe plus haut transaction_id seul ne peut-être utilisé pour un rapprochement comptable, il n'a aucune garantie d'unicité. Il faut au minimum le coupler avec la date.

#5

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

À noter aussi que l'intégralité des champs renvoyés pas SIPS se trouve dans response.bank_data.

#6

Mis à jour par Antoine Nguyen il y a plus de 8 ans

Je proposerai un patch le cas échéant. Mais oui, l'unicité est garantie par le couple date/transaction_id qui sont tous les deux renvoyés avec la réponse.

#7

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

Apparemment SIPS a changé son interface, j'ai implémenté la nouvelle dans sips2.py .

#8

Mis à jour par Antoine Nguyen il y a environ 8 ans

De mon côté je m'en suis sorti autrement, j'utilise le champ ORDER_ID qui apparaît bien dans les journaux générés par Mercanet.

#9

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Nouveau à Rejeté

Le backend sips n'existe plus.

Formats disponibles : Atom PDF