Les transactions bancaires

Le 13 avril 2022 par Admin
3 minutes de lecture · Référence du webservice : #SWO-P009

Comment sont gérés les paiements au niveau des commandes ?

Lorsqu’un client passe commande sur votre boutique, il doit également la régler avant que vous ne puissiez lui envoyer la marchandise.

Ce règlement se traduit par ce que l’on appelle « une trans­ac­tion ban­caire » qui con­siste ainsi à faire un trans­fert ou un envoi d’une somme d’ar­gent d’un compte en banque vers un autre compte dans le même étab­lisse­ment ou pas.

Comme nous l’avons vu dans la rubrique précédente « Les commandes clients », vous allez, une fois votre boutique reliée avec OpenSi, gérer vos commandes directement en son sein. Il est donc également nécessaire qu’OpenSi soit au courant du paiement de celles-ci afin que vous puissiez les traiter.

Nous allons voir dans cet article de quelle manière cela va se dérouler une fois la connexion avec OpenSi effective.

Le module OpenSi Connect dispose ainsi d’un flux de synchronisation (webservice) spécifique permettant de récupérer sur votre boutique toutes les informations de paiement (pour chaque commande) afin de pouvoir les envoyer à OpenSi. Vous l’avez compris, dès qu’une commande est réglée (via CB, etc…), le webservice vient récupérer ces informations et les envoie à OpenSi. La commande sera alors automatiquement validée/payée.

Cet article aborde les sujets suivants :

La récupération des transactions bancaires

La synchronisation des transactions bancaires s’effectue de la boutique vers OpenSi.

La synchronisation des transactions bancaires est effectuée via un webservice spécifique qui vient dans un premier temps récupérer les règlements sur votre boutique avant de les envoyer dans OpenSi pour valider et payer les commandes clients.

Schéma représentant les différentes étapes de la récupération des transactions bancaires sur la boutique.

Attention toutefois, la récupération des transactions bancaires nécessite un paramétrage afin que cela fonctionne.

En effet, pour que le règlement d’une commande soit pris en compte et synchronisé dans OpenSi, il faut au préalable sélectionner le module de paiement dans la configuration du module OpenSi Connect.

Pour cela, il faut vous rendre dans le backoffice de votre boutique, dans la configuration du module (bloc « transactions bancaires ») et sélectionner les modules tels que par exemple :

Sous PrestaShop :

Sous PrestaSshop, il est possible de sélectionner le nom du paiement dans la transaction bancaire (en se basant soit sur le champ « payment » de la table « ps_orders », soit sur le champ « payment_method » de la table « ps_order_payment »).

Schéma représentant la sélection des modules devant générer des transaction bancaires sous PrestaShop.

Sous PrestaShop, il est également possible de prendre en compte (ou l’inverse justement, ne pas prendre en compte) les statuts de commande dans la génération des transactions bancaires (voir la section suivante « paramètres avancés »).

Schéma représentant la sélection des statuts de commande devant être pris en compte dans la génération des transactions bancaires sous PrestaShop.

Sous Magento :

Schéma représentant la sélection des modules devant générer des transaction bancaires sous Magento.

La synchronisation avec OpenSi

La synchronisation des transactions bancaires est effectuée en standard toutes les 10 minutes (cette fréquence peut néanmoins être modifiée par nos soins selon vos besoins).

Le webservice de récupération des transactions bancaires va récupérer les règlements des commandes sur votre boutique. Ces derniers seront alors envoyés à OpenSi où vos commandes seront alors automatiquement validées/payées.

Liste des informations synchronisables dans OpenSi

Voici la liste exhaustive des champs que vous pouvez synchroniser avec OpenSi (récupération des transactions bancaires sur la boutique).
Tous ces champs sont obligatoires.

OrderNumber *Numéro de la commande (Chaîne de 11 caractères max.)
TransactionNumber *Numéro de transaction bancaire (Chaîne de 20 caractères max.)
PaymentMethod *Méthode de paiement de la commande (Chaîne de 25 caractères max.)
Amount *Montant de la transaction bancaire (Nombre décimal de 14 chiffres au total dont 2 chiffres après la virgule)
TransactionDate *Date de la transaction (Date)
(*) Champs obligatoires

Exemple de flux XML

Voici ci-dessous l’exemple d’une transaction bancaire retournée par la boutique et envoyée à OpenSi (flux XML) :

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.opensi.fr/xsd" xmlns:ns2="http://www.opensi.fr">
   <SOAP-ENV:Body>
      <ns2:getBankTransactionsResponse>
         <ns2:return>
            <ns1:OrderNumber>1</ns1:OrderNumber>
            <ns1:TransactionNumber>82C96778XW557162H</ns1:TransactionNumber>
            <ns1:PaymentMethod>PayPal</ns1:PaymentMethod>
            <ns1:Amount>68.9</ns1:Amount>
            <ns1:TransactionDate>2020-05-01 09:03:12</ns1:TransactionDate>
         </ns2:return>
      </ns2:getBankTransactionsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Cet article a-t-il répondu à vos attentes ?