Erreurs
L'API Scalapay utilise des codes d'état HTTP standard pour indiquer le résultat des requêtes. En cas d'erreur, une réponse est renvoyée au format JSON avec des informations détaillées.
Codes d'état HTTP
Code | Description |
2XX | La demande a été acceptée. |
4XX | La demande n'est pas valide (par exemple, paramètres obligatoires manquants ou données incorrectes). |
5XX | Erreur inattendue côté serveur de Scalapay. |
Structure de la réponse d'erreur
Les réponses d'erreur contiennent des informations utiles pour diagnostiquer les problèmes. Bien que le message au format lisible puisse changer avec le temps, il est recommandé de se baser sur le code d'erreur et sur le code d'état HTTP pour la gestion des erreurs.
Attribut | Tipo | Description |
| string | Code d'identification de l'erreur (e.g. |
| string | Identifiant unique de l'erreur. |
| string | Description lisible de l'erreur. Pourrait être mis à jour, ne l'utilisez pas pour la logique d'application. |
| integer | Code d'état HTTP associé à l'erreur. |
Flux de la commande de test
Comment passer une commande de test avec Scalapay ?
Choisissez un produit dont le montant est inférieur au maximum autorisé.
Remplir les informations du panier avec des informations factices.
Sélectionner Scalapay comme méthode de paiement au checkout.
Connectez-vous à Scalapay avec un utilisateur de test (le même que celui utilisé dans le Merchant Portal, ou créez-en un nouveau).
Saisissez les informations de votre carte de test (voir ci-dessous) pour terminer votre commande.
Vérifiez que vous avez été correctement redirigé vers la page de confirmation de votre site.
Carte di Test
Cartes pour les tests avec résultats positifs
5200 8282 8282 8210
5555 5555 5555 4444
4242 4242 4242 4242
Cartes pour les tests avec résultat négatif
4000 0000 0000 0341
4000 0000 0000 0002
4000 0000 0000 9995
Pour tous :
CVV: n'importe quel code (par exemple, 123)
Date d'expiration: n'importe quelle date future
Code postal: tout code postal valide
Les cartes présentées fonctionnent toutes, vous pouvez les essayer alternativement.
Statut de la commande
Chaque commande a deux types de statut : Statut de la commande et Statut de la capture.
Statut de la commande
Status | Description |
| La commande a été créée mais n'a pas encore été autorisée par le client. Elle reste dans cet état pendant 40 minutes si elle n'est pas complétée. |
| La commande a expiré sans l'autorisation du client. |
| La commande a expirée mais a été autorisée. La capture n'a pas été effectuée. |
| La commande a été saisie correctement. |
| La commande a été partiellement remboursée. |
| Le montant total de la commande a été remboursé. |
Capture Status
Status | Description |
| La commande n'a pas encore été saisie. |
| La commande a été saisie correctement. |
| La capture a été retardée (par défaut : 5 jours). |
| La commande a été annulée avant la capture. |
Vous pouvez télécharger un fichier contenant la combinaison des statuts à partir de ce lien : [Order Status and Capture Status.pdf].
Visualisation des commandes dans le Merchant Portal
Dans la section Commandes du Merchant Portal, les commandes sont affichées avec les statuts suivants :
Paid (charged) - La commande a été finalisée avec succès.
Authorized - Visible temporairement ; s'il est terminé, il devient "Payé", sinon il expire et n'apparaît plus.
Refunded / Partially Refunded - Commandes remboursées, avec le détail du montant.
Les commandes en statut refunded_not_charged
et expired
ne sont pas affichées dans le backend.
Les commandes expired
n'indiquent pas d'erreurs techniques, mais simplement des commandes abandonnées ou rejetées par la banque du client. Pour des raisons de confidentialité, Scalapay ne peut pas fournir les raisons du rejet.
En revanche, les commandes refunded_not_charged
sont dues à des problèmes techniques.
Woocommerce et Prestashop
Sur les plateformes WooCommerce et PrestaShop, le plugin Scalapay crée la commande juste avant que le client ne soit redirigé vers la page de paiement Scalapay.
Cela entraîne deux conséquences principales :
La commande est déjà visible dans le back-office du commerçant, même si le paiement n’a pas encore été finalisé.
Si le client n’achève pas le paiement ou si la session expire, la commande reste enregistrée dans le système.
Magento 2 et Shopify
Sur Magento 2 et Shopify, le comportement est différent. La commande est créée uniquement après que le client a terminé avec succès le paiement Scalapay et a été redirigé vers le site du commerçant.
Les implications sont les suivantes :
Si une erreur se produit pendant la redirection (par exemple, une interruption réseau, la fermeture du navigateur ou un problème de session), la commande n’est pas créée et ne sera donc pas visible dans le back-office du commerçant.
Dans le cas spécifique de Magento 2, un processus automatique (cron job) est en place pour vérifier régulièrement les transactions dont la capture du paiement a échoué. Si de tels cas sont détectés, le système change automatiquement l’état de la commande à "Annulée", afin de garder la liste des commandes propre et d’éviter toute confusion.
Contrôles en cas de commandes autorisées mais non capturées / finaliséès (Refunded_not_Charged)
Intégration custom:
Vérifiez que le flux mis en œuvre est correct.
Regardez la documentation officielle sur ce lien : [Lien de la documentation].
Vérifiez que l'appel Order Capture est présent et exécuté au bon moment : lorsque la commande est dans l'état
authorized
(vérifiable avecGET ORDER
ou via Webhook).Si vous utilisez l'appel Delay, vérifiez que le champ
authorizationExpiryMilliseconds
est rempli de la manière suivante
{ "authorizationExpiryMilliseconds":
432000000 }
Intégration via plugin :
Vérifiez que la version du plugin est à jour : [Scalapay Changelog].
Vérifiez que dans le plugin, le champ
Order Status : Payment Complete
est correctement paramétré conformément à la documentation. S'il est modifié, le flux risque de ne pas s'achever.Choisissez votre plate-forme sur ce lien : [Documentation] pour vérifier les écrans et les valeurs correctes.
Intégration via Shopify :
Consultez ce lien de notre documentation : [Shopify Documentation] pour vérifier les paramètres ou configurer correctement la capture différée.