Download the PHP package thelia/cawl-payment-module without Composer

On this page you can find all versions of the php package thelia/cawl-payment-module. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cawl-payment-module

CawlPayment - Module de Paiement CAWL Solutions pour Thelia 2.6

Module de paiement intégrant la passerelle CAWL Solutions / Worldline pour Thelia 2.6. Supporte plus de 30 méthodes de paiement incluant les cartes bancaires, portefeuilles numériques, virements et paiement fractionné.

Table des matières


Fonctionnalités


Prérequis


Installation

Via Composer (recommandé)

Installation manuelle

  1. Télécharger le module et le placer dans local/modules/CawlPayment/

  2. Installer le SDK Worldline :

  3. Activer le module via la CLI Thelia :

  4. Vider le cache :

Structure du module


Configuration

Accédez à la configuration via : Administration > Modules > CawlPayment > Configurer

1. Identifiants API

Environnement

Sélectionnez l'environnement actif :

PSPID (Merchant ID)

Votre identifiant marchand CAWL Solutions. Cet identifiant est fourni lors de la création de votre compte.

Identifiants de Test

Champ Description
Test API Key Clé API pour l'environnement de test
Test API Secret Secret API pour l'environnement de test
Test Webhook Key Clé webhook pour l'environnement de test
Test Webhook Secret Secret webhook pour valider les notifications

Identifiants de Production

Champ Description
Production API Key Clé API pour l'environnement de production
Production API Secret Secret API pour l'environnement de production
Production Webhook Key Clé webhook pour l'environnement de production
Production Webhook Secret Secret webhook pour valider les notifications

Important : Ne jamais utiliser les identifiants de test en production et vice-versa.

Tester la connexion

Cliquez sur le bouton "Tester la connexion" pour vérifier que vos identifiants sont corrects. Un message de succès ou d'erreur s'affichera.

2. Méthodes de paiement

Sélectionnez les méthodes de paiement à proposer à vos clients. Les méthodes sont chargées dynamiquement depuis l'API CAWL en fonction de votre contrat.

Catégories disponibles

Catégorie Méthodes
Cartes bancaires Visa, Mastercard, CB, American Express, Maestro, JCB, Diners Club
Portefeuilles PayPal, Apple Pay, Google Pay, WeChat Pay, Alipay
Virements bancaires iDEAL, Bancontact, Giropay, EPS, Przelewy24, Sofort, SEPA
Paiement fractionné Klarna (Pay Now, Pay Later, Slice It), Oney 3x/4x
Titres restaurant Edenred, Sodexo, Up Déjeuner

3. Options

Journalisation

Attention : Désactivez les logs en production pour des raisons de performance et de confidentialité.

Limites de montant

Option Description
Montant minimum Montant minimum pour utiliser ce mode de paiement (0 = pas de minimum)
Montant maximum Montant maximum autorisé (0 = pas de maximum)

4. Configuration Webhook

Les webhooks permettent de recevoir les notifications de paiement en temps réel (confirmation, échec, remboursement, etc.).

URL du Webhook

Configuration dans le back-office CAWL

  1. Connectez-vous au Portail Marchand CAWL (test) ou Production
  2. Allez dans Configuration > Webhooks
  3. Ajoutez l'URL du webhook de votre site
  4. Copiez la Webhook Key et le Webhook Secret générés
  5. Collez-les dans la configuration du module Thelia

Événements webhook supportés

Sécurité Webhook - Whitelist IP

Pour renforcer la sécurité des webhooks, vous pouvez activer une whitelist d'adresses IP autorisées. Seules les requêtes provenant des IP listées seront acceptées.

Option Description
Activer la whitelist Active/désactive la vérification des IP sources
Liste des IP autorisées Liste des adresses IP séparées par des virgules

IP Worldline à autoriser :

Note : La whitelist IP est une couche de sécurité supplémentaire. La validation de signature HMAC-SHA256 reste la méthode principale de vérification.


Méthodes de paiement supportées

Cartes bancaires

Code Nom ID Produit
visa Visa 1
mastercard Mastercard 3
cb Carte Bancaire 130
amex American Express 2
maestro Maestro 117
jcb JCB 125
diners Diners Club 132

Portefeuilles numériques

Code Nom ID Produit
paypal PayPal 840
applepay Apple Pay 302
googlepay Google Pay 320
wechatpay WeChat Pay 863
alipay Alipay 861

Virements bancaires

Code Nom ID Produit Pays
ideal iDEAL 809 Pays-Bas
bancontact Bancontact 3012 Belgique
giropay Giropay 5408 Allemagne
eps EPS 5700 Autriche
przelewy24 Przelewy24 3124 Pologne
multibanco Multibanco 5500 Portugal
twint TWINT 5600 Suisse

Paiement fractionné (BNPL)

Code Nom ID Produit
klarna_paynow Klarna Pay Now 3301
klarna_paylater Klarna Pay Later 3302
klarna_sliceit Klarna Slice It 3303
oney3x Oney 3x 5110
oney4x Oney 4x 5111

Test du module

Cartes de test

Utilisez ces numéros de carte dans l'environnement de test :

Paiement réussi (Frictionless 3DS)

Carte Numéro Date CVV
Visa 4012 0000 3333 0026 Toute date future 123
Mastercard 5399 9999 9999 9999 Toute date future 123

Paiement avec Challenge 3DS

Carte Numéro Date CVV
Visa 4874 9700 0000 0014 Toute date future 123

Paiement refusé

Carte Numéro Date CVV Raison
Visa 4000 0200 0000 0000 Toute date future 123 Fonds insuffisants

Test de connexion API

Depuis l'interface de configuration du module (Administration > Modules > CawlPayment > Configurer), le bouton "Test API Connection" (en haut à droite) permet de vérifier que les identifiants sont corrects et que l'API Worldline est accessible.

Créer une transaction de test (commande console)

La commande cawlpayment:test-transaction permet de créer une transaction sandbox sans passer par le checkout Thelia. Elle vérifie automatiquement la configuration avant de lancer le paiement.

La commande effectue 7 vérifications avant de créer le checkout :

  1. Environnement Thelia ≠ production
  2. Module configuré sur "test"
  3. PSPID configuré
  4. api_key_test configurée
  5. api_secret_test configuré
  6. Au moins une méthode de paiement activée
  7. Connexion API live (appel sandbox)

En cas d'échec, un message indique précisément quelle configuration est manquante.

Tester le callback de retour (URL de test)

Après le paiement, Worldline redirige vers l'URL de retour du module. En développement local (DDEV), cette URL n'est pas accessible depuis les serveurs Worldline car *.ddev.site résout sur 127.0.0.1.

Solution : exposer DDEV via ngrok

  1. Installer ngrok : sudo snap install ngrok
  2. Créer un compte gratuit sur ngrok.com et récupérer l'authtoken
  3. Configurer DDEV dans .ddev/config.yaml :

  4. Démarrer le tunnel dans un terminal dédié (laisser tourner) :

  5. Copier l'URL publique affichée (ex : https://xxxx.ngrok-free.app)
  6. Dans Admin > CawlPayment > Configuration > Test Credentials, renseigner cette URL dans le champ "Test return URL base"
  7. Relancer cawlpayment:test-transaction

Worldline redirigera vers l'URL ngrok après le paiement. Le résultat (statut, paymentId, isPaid) est enregistré dans var/log/log-thelia.txt avec le préfixe [CawlPayment][test-return].

Note : le plan gratuit ngrok affiche une page d'avertissement à la première visite — cliquer sur "Visit Site" pour continuer.

Créer une transaction de test (interface admin)

Depuis Admin > CawlPayment > Configuration > Test Credentials, un panneau "Create a test transaction" permet de lancer un checkout sandbox sans passer par le terminal :

  1. Saisir le montant en euros et la devise (défaut : 10,00 EUR)
  2. Cliquer "Create test transaction" — le module vérifie la configuration puis appelle l'API
  3. Un lien "Open checkout" apparaît avec le hostedCheckoutId — cliquer pour accéder à la page de paiement Worldline
  4. Après le paiement, utiliser le panneau "Module logs" (juste en dessous) et cliquer "Refresh" pour voir le statut retourné par Worldline ([CawlPayment][test-return])

Cette interface équivaut à ddev exec php Thelia cawlpayment:test-transaction --amount=<n> --currency=EUR sans quitter le navigateur.

Lancer les tests unitaires


Intégration Frontend

Flux de paiement standard

  1. Le client sélectionne CawlPayment comme mode de paiement
  2. Le client choisit sa méthode de paiement (carte, PayPal, etc.)
  3. Redirection vers la page Hosted Checkout de Worldline
  4. Le client effectue le paiement
  5. Redirection vers la page de confirmation Thelia
  6. Le webhook confirme le statut final du paiement

URLs de callback

Route URL Description
Success /cawlpayment/success Retour après paiement réussi
Failure /cawlpayment/failure Retour après échec
Cancel /cawlpayment/cancel Retour après annulation
Webhook /cawlpayment/webhook Réception des notifications

API OpenAPI

Le module s'intègre avec le module OpenApi de Thelia pour exposer les options de paiement.

Endpoint

Réponse

Initier un paiement via API


Dépannage

Erreurs courantes

"No payment mode available"

Cause : Aucune méthode de paiement n'est activée ou les identifiants API sont incorrects.

Solution :

  1. Vérifiez que le PSPID est configuré
  2. Testez la connexion API
  3. Activez au moins une méthode de paiement

"Invalid webhook signature"

Cause : Le secret webhook ne correspond pas ou n'est pas configuré.

Solution :

  1. Vérifiez que le Webhook Secret est correctement copié depuis le portail CAWL
  2. Assurez-vous d'utiliser le bon secret (test vs production)

"Controller not callable"

Cause : Le cache Symfony n'est pas à jour.

Solution :

Commande payée mais statut "Not paid"

Cause : Le webhook n'a pas été reçu ou traité.

Solution :

  1. Vérifiez l'URL du webhook dans le portail CAWL
  2. Vérifiez les logs dans var/log/cawlpayment.log
  3. Assurez-vous que votre serveur accepte les requêtes POST externes

Logs

Les logs sont enregistrés dans :

Format des logs :


Sécurité

Bonnes pratiques implémentées

Recommandations

  1. Désactivez les logs en production
  2. Utilisez HTTPS obligatoirement
  3. Configurez le Webhook Secret en production
  4. Limitez les accès au back-office
  5. Mettez à jour régulièrement le module

Checklist mise en production

Avant de basculer en mode production, vérifier les points suivants :


Changelog

Voir CHANGELOG.md pour l'historique complet des versions.

Version 1.1.0 (2026-06-24)

Version 1.0.1 (2026-06-24)

Version 1.0.0 (2024-12)


Bugs connus

Aucun bug connu pour le moment.

Corrigé (voir CHANGELOG [Unreleased]) — les méthodes de paiement sont désormais filtrées en mode test : createTestHostedCheckout() applique PaymentProductFilters à partir des méthodes activées dans Admin > CawlPayment > Payment Methods, comme en production.


Support

Documentation officielle

Contact

Pour toute question ou problème :


Licence

Ce module est distribué sous licence propriétaire CAWL Solutions.

© 2026 CAWL Solutions - Tous droits réservés.


All versions of cawl-payment-module with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
thelia/installer Version ~1.1
online-payments/sdk-php Version ^5.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package thelia/cawl-payment-module contains the following files

Loading the files please wait ...