PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Utilisation des dlls de Wordline
Utilisation des dlls de Wordline
Started by Etienne, Sep., 05 2018 12:02 PM - 15 replies
Registered member
23 messages
Posted on September, 05 2018 - 12:02 PM
Bonjour,

Quelqu'un a t'il déjà réussi a intégrer et utiliser la/les dll(s) de gestion des terminaux de paiement de worldline ?

easyctep.dll et CTEPDotNetLib.dll (en dotNet, probablement le pilotage de la dll principal)
Posted on November, 27 2018 - 2:03 PM
Bonjour,

J'essaie également d'utiliser cette librairie pour accéder à un terminal Yomani de Worldline mais sans succès. La librairie est bien intégrée au projet mais la création de l'instance de service ne fonctionne pas.

Voici ce qui est indiqué dans la doc mais que je n'arrive pas à transposer en Windev :

Startup
3.1 Create and start a service
First, you need to create the Service instance that will be used to make transactions.
The listener parameter is an interface to listen for terminal connections.

// Create a service with TCP/IP connection
Service service = new Service(tcpPortNumber, this);
// Create a service with Serial connection
Service service = new Service(comPort, this);


Merci
Posted on November, 28 2018 - 9:42 AM
Bonjour,

Je rajoute un complément d'informations suivant mon précédent post.

J'ai donc bien importé la DLL CTEPDotnetLib.DLL qui est reconnu comme un assemblage .NET, et qui me permet d'utiliser les classes et méthodes.

Le problème vient surtout de la traduction de la commande :
Service service = new Service(tcpPortNumber, this);

En effet, l'instruction "this" n'existe pas en WinDev. Après recherches, j'ai vu que l'équivalent était "Objet".

J'ai donc fait pas mal de tests, mais non concluants.
En effet, j'ai toujours un message d'erreur différent.

Voici quelques exemples :
pclMonService est un objet CTEPDotNetLib.Service dynamique
pclMonService = allouer un CTEPDotNetLib.Service(9000,IServiceListener)
--> Dans ce cas, j'ai un message "Un élément de type 'vide' ne peut pas être converti vers le type 'entier'.".
Cela référence un NullReferenceException.

J'ai donc essayer d'instancier un iServiceListener, mais j'ai un message me disant que la classe est abstraite et que je ne peux pas l'instancier.

J'ai donc essayé avec Objet :
oService est un objet CTEPDotNetLib.Service dynamique
oService = allouer un CTEPDotNetLib.Service(nPort,objet:oService)
--> J'ai un message d'erreur disant que "Objet" ne peut être utilisé que dans le code de classe. Le problème, c'est que j'ai importé ces classes depuis l'assemblage dotNet à la base.

J'ai essayé une déclaration directe :
oService est un objet CTEPDotNetLib.Service(9000,oService) = new CTEPDotNetLib.Service(9000,oService)
--> Je n'ai pas eu le choix de mettre directement les paramètres à gauche, car le constructeur de la classe le demande obligatoirement. En effet, il est de type "Constructeur (entier, iServiceListener). J'ai un message d'erreur "Impossible de convertir l'objet de type 'CTEPDotNetLib.Service' en type 'CTEPDotNetLib.IServiceListener'.".

Enfin, j'ai essayé une affectation directe :
pclService est un objet CTEPDotNetLib.Service dynamique <- new CTEPDotNetLib.Service(9000,pclService)
--> Dans ce cas, je n'ai pas de message d'erreur mais quand j'essaie ensuite de démarrer mon service, j'ai un message "La référence d'objet n'est pas définie à une instance d'un objet.".

Le code pour démarrer le service est très simple : pclService.startService() sans aucun paramètres.

Je dois avouer que je sèche un peu après plusieurs heures à me casser la tête la dessus. Quelqu'un aurait-il des informations supplémentaires concernant cette POO ?

Merci d'avance.
Registered member
281 messages
Posted on November, 28 2018 - 11:07 AM
Bonjour,

Les joies des assemblages .NET dans Windev...

Et comme ceci ?

oService est un objet CTEPDotNetLib.Service dynamique
oService = allouer un CTEPDotNetLib.Service(nPort, oService)
Posted on December, 05 2018 - 8:53 AM
Bonjour,

Tout d'abord, merci de votre réponse.

C'est en effet une des méthodes que j'ai aussi essayée.

Lorsque j'exécute de cette manière, je n'ai pas de message d'erreur mais aussitôt que j'exécute une fonction qui fait référence à cet objet, j'ai un plantage.

Voici le message d'erreur :
L'invocation de la méthode <startService()> du type <Void> a échoué
Le framework .NET a renvoyé l'erreur suivante :
La référence d'objet n'est pas définie à une instance d'un objet.

Et voici le code utilisé :
nPort est un entier = 9000
oService est un objet CTEPDotNetLib.Service dynamique
oService = allouer un CTEPDotNetLib.Service(nPort, oService)
oService.startService()

Cette procédure est pourtant bien présente dans ma classe.





En .NET, voici le morceau de code fourni :

// Create a service with TCP/IP connection
Service service = new Service(tcpPortNumber, this);
// To start the service, use the following code:
service.startService();

Si vous avez des informations ou idées supplémentaires, je suis preneur. Merci d'avance.
Registered member
23 messages
Posted on December, 21 2018 - 3:15 PM
Bonjour,

Tu est toujours bloqué avec ces DLL ?
Car de notre coté on avais réussi a éjecter worldline du projet en passant par un autre fournisseur.

Sauf que pour un des utilisateurs du projet en question, worldline revient de nouveau sur le tapis comme le fournisseur des terminaux de paiement...

Bien à vous

--
Etienne
Staff tactique
24PM - Agence de développement stratégique coopérative
www.24pm.be
Posted on April, 23 2019 - 9:42 AM
Bonjour
Ce texte est saisi en néerlandais et traduit avec Google Translate.

J'ai le même problème. Je souhaite donc faire le lien entre une caisse enregistreuse et Worldline.

Dans cette rubrique, l'utilisation de la fonction Api () n'apparaît nulle part.

Je me demande s'il n'est pas possible d'établir la connexion de manière simple via la fonction Api () fournie par PC Soft.

Salutations
Willy Hermans.
Posted on September, 17 2019 - 11:46 AM
Eric a écrit :
Bonjour,

Tout d'abord, merci de votre réponse.

C'est en effet une des méthodes que j'ai aussi essayée.

Lorsque j'exécute de cette manière, je n'ai pas de message d'erreur mais aussitôt que j'exécute une fonction qui fait référence à cet objet, j'ai un plantage.

Voici le message d'erreur :
L'invocation de la méthode <startService()> du type <Void> a échoué
Le framework .NET a renvoyé l'erreur suivante :
La référence d'objet n'est pas définie à une instance d'un objet.

Et voici le code utilisé :
nPort est un entier = 9000
oService est un objet CTEPDotNetLib.Service dynamique
oService = allouer un CTEPDotNetLib.Service(nPort, oService)
oService.startService()

Cette procédure est pourtant bien présente dans ma classe.





En .NET, voici le morceau de code fourni :

// Create a service with TCP/IP connection
Service service = new Service(tcpPortNumber, this);
// To start the service, use the following code:
service.startService();

Si vous avez des informations ou idées supplémentaires, je suis preneur. Merci d'avance.
Posted on September, 17 2019 - 11:48 AM
Bonjour Eric,

J’espère que vous avez trouvé la solution pour ton problème, j'ai le même problème et je veux juste savoir quelle piste à suivre.

Cordialement
Posted on November, 20 2019 - 2:36 PM
Bonjour,

Est-ce que l'un de vous a pu avancer sur ce sujet ? La solution m'intéresse également...

Merci.
Posted on May, 25 2024 - 12:28 PM
Bonjour à tous,

J'ai adapté la dll de WorldLine pour qu'elle soit compatible avec Windev.

Si une personne est intéressée par la solution, vous pouvez me contacter : ).

Philippe
Registered member
6 messages
Posted on May, 27 2024 - 10:04 AM
Bonjour

je suis en cours de développement
les paiements fonctionnent
je dois encore finaliser quelques fonctions pour obtenir la certification
Posted on June, 18 2024 - 6:54 PM
Bonjour,

J'ai une solution qui fonctionne à ce jour avec une interface de Treibauf.

Si votre solution fonctionne, je serai intéressé à une collaboration.

JM
Posted on June, 19 2024 - 8:45 AM
Philippe wrote:
Bonjour à tous,

J'ai adapté la dll de WorldLine pour qu'elle soit compatible avec Windev.

Si une personne est intéressée par la solution, vous pouvez me contacter : ).

Philippe


Bonjour,

Oui je suis intéressé car j'aimerais utiliser directement TIM de Wordline.
Posted on July, 17 2024 - 1:11 AM
Bonjour, je suis intéressé par votre adaptation de la dll. Pouvez-vous prendre contact avec moi ? Merci d'avance
Posted on July, 17 2024 - 1:49 PM
Tu peux passer par leur API pour intégrer les paiements
https://docs.direct.worldline-solutions.com/en/api-reference