VibeFox Midtrans for OpenCart — Aide
Prérequis
OpenCart : 3.0.x (testé avec 3.0.5.0) ou 4.0.2 et supérieur (testé avec 4.1.0.3).
PHP : 8.0 ou ultérieur.
Devise : roupie indonésienne (IDR). Midtrans débite uniquement en IDR ; le mode de paiement n'est donc proposé que lorsque la devise du paiement est IDR. Il n'y a pas de conversion de devise. Ajoutez la devise IDR dans System > Localisation > Currencies si votre boutique ne l'a pas.
Compte Midtrans : vous avez besoin de la Server Key, disponible dans Midtrans Dashboard > Settings > Access Keys, dans le tableau de bord sandbox comme dans celui de production. Seule la Server Key est utilisée. La Client Key n'est pas nécessaire pour Snap Redirect. Les modes de paiement eux-mêmes (GoPay, QRIS, comptes virtuels et autres) sont activés dans votre compte Midtrans.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne pour un seul domaine.
Installation
Le téléchargement est un fichier zip unique contenant les paquets des deux versions d'OpenCart. Décompressez-le sur votre ordinateur. Il contient README.txt, le paquet OpenCart 3 wcp_midtrans_payment_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_midtrans_payment_gateway.ocmod.zip. N'installez que le paquet correspondant à votre version d'OpenCart. La clé de licence est la même pour les deux versions.
OpenCart 3
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_midtrans_payment_gateway-oc3-(version).ocmod.zip. L'extension ne contient aucune modification OCMOD, il n'est donc pas nécessaire d'actualiser Extensions > Modifications. Au lieu de l'installateur, vous pouvez copier le contenu du dossier upload de ce paquet dans le dossier racine de votre boutique.
2. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox Midtrans Payment Gateway et cliquez sur Install (le bouton vert +). Votre utilisateur administrateur doit avoir le droit de modifier la liste des extensions de paiement.
3. Cliquez sur Edit (le bouton crayon) pour ouvrir la page de réglages. Collez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, puis cliquez sur Activate (voir Clé de licence).
4. Saisissez les Server Keys et copiez l'URL de notification de paiement dans le tableau de bord Midtrans (voir Configuration).
5. Activez Enable/Disable et cliquez sur Save. Testez en Sandbox, puis basculez Environment sur Production.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_midtrans_payment_gateway.ocmod.zip. Ne renommez pas le fichier : OpenCart 4 prend le code de l'extension dans le nom du fichier, et un paquet renommé ne fonctionne pas.
2. Le paquet apparaît dans la liste des extensions installées sur la même page. Cliquez sur Install (le bouton vert +) à côté.
3. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox Midtrans Payment Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les Server Keys et l'URL de notification comme aux étapes 3 à 5 pour OpenCart 3. La page de configuration et ses champs sont identiques dans les deux versions. Seule l'URL de notification est différente (voir Configuration).
Une nouvelle installation démarre avec le mode de paiement désactivé et l'environnement Sandbox sélectionné.
Configuration
Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox Midtrans Payment Gateway > Edit. Les sections sont listées à gauche ; le bouton Save sous la liste enregistre la page entière. Au-dessus des réglages, la page vous avertit lorsque la Server Key de l'environnement sélectionné est absente (le mode de paiement est alors masqué au moment du paiement) et lorsque la devise par défaut de la boutique n'est pas IDR, et affiche Sandbox mode: payments are simulated, no real money is charged. tant que Sandbox est sélectionné. Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.
Lors de l'enregistrement, Title doit comporter de 1 à 128 caractères, Sort Order doit être un nombre entier, Total doit être un nombre supérieur ou égal à 0 et Payment page expiry (minutes) doit être un nombre entier. Si une valeur est incorrecte, la page affiche l'erreur et rien n'est enregistré.
Midtrans
Enable/Disable : Enable Midtrans payments active ou désactive le mode de paiement. Par défaut : désactivé.
Title : le titre du mode de paiement affiché au client au moment du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Midtrans. Obligatoire.
Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation. Par défaut : Pay securely via Midtrans — GoPay, QRIS, ShopeePay, cards, bank transfer and more. En Sandbox, la ligne SANDBOX MODE: no real money is charged. est affichée au-dessus.
Sort Order : la position de Midtrans parmi les modes de paiement au moment du paiement. Laissez vide ou saisissez un nombre entier.
Geo Zone : proposer Midtrans uniquement pour les adresses de paiement de la zone géographique sélectionnée. Par défaut : All zones. Les zones géographiques se configurent dans System > Localisation > Geo Zones.
Total : le montant total du panier, dans la devise par défaut de la boutique, que doit atteindre une commande pour que Midtrans soit proposé. Laissez vide pour proposer Midtrans quel que soit le montant.
Identifiants API
Copiez la Server Key depuis Midtrans Dashboard > Settings > Access Keys. La section contient des liens vers le tableau de bord de production et celui de sandbox.
Environment : l'environnement Midtrans utilisé par les nouveaux paiements. Lors d'un changement, la clé et l'API de l'environnement sélectionné sont utilisées. Les commandes conservent l'environnement dans lequel elles ont été payées, pour les remboursements et les notifications. Par défaut : Sandbox.
Production Server Key : commence par Mid-server-. Gardez-la secrète.
Sandbox Server Key : commence par SB-Mid-server-.
Les clés enregistrées ne sont plus jamais affichées. Le champ reste vide et affiche Saved — leave empty to keep it. Saisissez une nouvelle valeur uniquement pour la modifier. Pour supprimer une clé enregistrée, cochez Clear the saved key on save sous le champ et cliquez sur Save.
URL de notification de paiement
La notification indique à votre boutique qu'un paiement a été effectué. Le champ Notification URL affiche l'URL à utiliser. Sous OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_midtrans_payment_gateway/webhook, et sous OpenCart 4 à https://your-store/index.php?route=extension/wcp_midtrans_payment_gateway/payment/wcp_midtrans_payment_gateway.webhook. Elle est construite à partir de l'adresse de la vitrine de votre installation OpenCart. Copiez l'URL exactement telle qu'elle est affichée dans les réglages et collez-la dans Midtrans Dashboard > Settings > Payment > Notification URL, dans le tableau de bord sandbox et dans celui de production que vous utilisez. L'URL doit être accessible depuis Internet. Si vous l'ouvrez dans un navigateur, elle affiche une courte explication, ce qui vous permet de vérifier qu'elle est accessible. Le bouton Test notification URL du tableau de bord Midtrans reçoit aussi une réponse.
Chaque notification doit porter une signature valide, réalisée avec l'une de vos Server Keys, et l'environnement de la clé doit correspondre à celui du paiement. Les notifications sans signature valide sont rejetées. Le statut est alors relu depuis l'API de statut de Midtrans avant que la commande ne change. L'extension gère ces statuts de transaction Midtrans :
Sans l'URL de notification, une commande n'est confirmée que lorsque le client revient dans la boutique après avoir payé, et un paiement différé effectué plus tard n'est pas détecté avant le retour du client.
Réglages de paiement
Midtrans débite uniquement en IDR, et les montants sont envoyés en roupies entières. Si les lignes de la commande ne correspondent pas au total arrondi, une ligne Rounding adjustment est envoyée à Midtrans.
Payment page expiry (minutes) : durée pendant laquelle le client peut payer (page Snap, compte virtuel, etc.). Laissez vide ou mettez 0 pour la valeur par défaut de Midtrans.
Order ID prefix : ajouté au numéro envoyé à Midtrans, afin que plusieurs boutiques puissent partager un même compte Midtrans. Le numéro correspond à l'ID de commande OpenCart suivi d'un horodatage, par exemple OC-123-1700000000. Seuls les lettres, chiffres et - _ . ~ sont admis, jusqu'à 20 caractères ; les autres caractères sont supprimés à l'enregistrement. Les notifications des autres boutiques sont ignorées. Par défaut : OC-.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande incomplète). La commande ne reçoit un statut qu'après la confirmation de la transaction par Midtrans. Chacun des champs ci-dessous présente vos statuts de commande OpenCart.
Status after payment : le statut après un paiement confirmé. Par défaut : En cours. Choisissez un statut terminé pour marquer les commandes payées comme terminées, ou votre propre statut d'examen pour contrôler manuellement chaque commande payée.
Awaiting Midtrans payment status : Midtrans signale pending : un compte virtuel, un code de supérette ou un code QRIS a été émis, ou une vérification 3-D Secure de la carte n'est pas terminée. Par défaut : En attente.
Midtrans payment on hold status : le paiement nécessite votre examen (voir Statuts de commande). Par défaut : En attente, car OpenCart n'a pas de statut On hold. Vous pouvez créer votre propre statut dans System > Localisation > Order Statuses et le sélectionner ici.
Payment failed status : Midtrans signale deny ou failure pour une commande en attente. Par défaut : Échoué.
Payment expired / cancelled status : la transaction en attente d'une commande en attente a expiré ou a été annulée. Lorsque vous passez vous-même une commande Midtrans non payée à ce statut, sa transaction Midtrans en attente (par exemple un compte virtuel émis) est expirée afin qu'elle ne puisse plus être payée. Par défaut : Annulée.
Refunded status : le paiement a été intégralement remboursé depuis la page de la commande ou dans le tableau de bord Midtrans. Par défaut : Remboursée.
Avancé
Debug log : écrit les appels API et les notifications dans midtrans_p_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web. Les erreurs sont toujours journalisées. Les clés et les données clients ne sont jamais journalisées. Par défaut : désactivé.
Log : affiche la taille et les dernières entrées du journal. Cliquez sur Clear log pour le vider.
Delete data on uninstall : lorsqu'il est activé, la désinstallation de l'extension supprime les réglages de la passerelle et le journal. Les références de paiement Midtrans et les remboursements des commandes sont toujours conservés, de sorte que les anciennes commandes peuvent encore être remboursées après une réinstallation. Par défaut : désactivé.
Import / Export
Export : Download JSON enregistre les réglages dans un fichier JSON. Les Server Keys ne sont pas exportées.
Import : collez le JSON exporté précédemment et cliquez sur Import pour restaurer les réglages. Les Server Keys enregistrées sont conservées.
Paiement
À l'étape Payment Method, le client choisit le mode de paiement (par défaut Midtrans). À l'étape Confirm Order, le client voit votre description et la note You will be redirected to the Midtrans payment page (GoPay, QRIS, ShopeePay, cards, bank transfer and more). OpenCart crée la commande à cette étape, toujours sans statut. Lorsque le client clique sur Confirm Order, l'extension crée une transaction Midtrans Snap pour le montant de la commande en roupies entières, avec les lignes de commande, la livraison, les remises, les taxes ainsi que les coordonnées de facturation et de livraison du client, et envoie le client sur la page de paiement Midtrans. Là, le client choisit n'importe quel mode activé dans votre compte Midtrans. Sous OpenCart 4, le client choisit le mode de paiement avec le bouton Choose du bloc du mode de paiement, dans la fenêtre Payment method options, puis clique sur Confirm Order en bas de la page de paiement.
Après le paiement, le client revient dans votre boutique. Le lien de retour ne marque jamais une commande comme payée : la commande n'est marquée payée qu'après confirmation de Midtrans, soit par la notification signée, soit par une requête à l'API de statut de Midtrans lorsque le client revient. La commande reçoit alors son statut de la manière habituelle d'OpenCart, avec les e-mails de commande habituels et la mise à jour du stock, et le client voit la page de succès de commande d'OpenCart. Pour un paiement différé, la page affiche aussi We are waiting for Midtrans to confirm your payment. If you chose a bank transfer, virtual account or convenience store, please complete the payment using the instructions from Midtrans. You will receive an e-mail once the payment is confirmed. Si Midtrans est injoignable lorsque le client revient, une page Payment confirmation affiche We are confirming your payment with Midtrans. The order will be updated automatically — please do not pay again. avec un bouton Check again et un bouton Back to checkout.
Si le client a quitté la page Snap sans payer, il revient à la page de paiement avec The Midtrans payment was not completed. You can try again below. Si le paiement a été refusé ou a expiré, le message est Your Midtrans payment was declined or has expired. Please try again or choose another payment method. Sous OpenCart 4, ces messages s'affichent au-dessus de la page de paiement. Le panier est conservé. OpenCart 3 crée une nouvelle commande chaque fois que l'étape Confirm Order est affichée ; OpenCart 4 garde une commande pour la caisse et règle la même commande à nouveau ; l'extension traite donc toutes les commandes d'un même panier comme un seul paiement : lorsque le client paie à nouveau, un Snap inutilisé ou en attente du même montant est réutilisé (un compte virtuel déjà émis reste valide) ; si le montant a changé, la transaction en attente est d'abord expirée chez Midtrans ; si un Snap précédent a entre-temps été payé, ce paiement est confirmé et le client accède à la page de succès sans nouvelle transaction.
OpenCart 4 conserve la commande dans le paiement jusqu'à l'affichage de la page de succès. Si cette commande a été fermée sans paiement entre-temps (par exemple le paiement a été refusé ou a expiré, ou vous avez annulé la commande), le client est renvoyé au paiement avec Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order., et le prochain Confirm Order règle une nouvelle commande. Si la commande est déjà enregistrée et que le panier a changé depuis, le message est Your previous order #(number) has already been placed. Your cart has changed: please confirm the new order to pay for it. Une modification du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement. Si le paiement d'une commande est refusé ou expire après que le panier a déjà été vidé (par exemple après un paiement par compte virtuel), le client voit The Midtrans payment of order #(number) was declined or has expired, so the order will not be shipped. To buy these items, please place a new order.
Si Midtrans ne peut pas démarrer le paiement, le client reste à l'étape Confirm Order avec un bref message au-dessus du bouton : Could not connect to Midtrans. Please try again in a moment., Midtrans payments are temporarily unavailable. Please choose another payment method or contact us. (par exemple avec une Server Key erronée) ou la raison fournie par Midtrans. La raison technique est écrite dans le journal.
La notification fonctionne aussi lorsque la boutique est en mode maintenance : OpenCart 3 laisse passer les requêtes des extensions de paiement, et sous OpenCart 4 l'extension ajoute une action de démarrage pour elle, qui laisse aussi passer le retour du client depuis Midtrans.
L'extension n'utilise que Snap Redirect. Il n'y a ni fenêtre Snap, ni formulaire de carte sur votre site, ni cartes enregistrées ou paiements en un clic, ni réglages de versements ou de promotions (les modes de paiement se configurent dans le tableau de bord Midtrans), ni abonnements. Les paiements par carte sont capturés immédiatement, sans autorisation et capture séparées.
Commandes et remboursements
Statuts de commande
No status (missing order) : le client a été envoyé vers Midtrans et n'a pas payé, ou Midtrans n'a pas encore confirmé le paiement. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status défini sur Missing Orders.
Awaiting Midtrans payment status (par défaut En attente) : le client a choisi un mode de paiement différé ou a commencé un paiement par carte qui n'est pas terminé. Lorsque Midtrans signale le paiement, la commande passe à Status after payment.
Status after payment (par défaut En cours) : le paiement a été confirmé. Une note affiche le mode de paiement, l'ID de commande Midtrans et la transaction.
Midtrans payment on hold status (par défaut En attente) : un paiement par carte est en examen antifraude (challenge, aucun montant encore enregistré), le montant ou la devise payé ne correspond pas à la commande (la commande n'est pas marquée payée), ou un paiement est arrivé pour une commande annulée (la commande n'est pas rouverte automatiquement). La note l'explique. Vérifiez la commande, puis exécutez-la ou remboursez le paiement.
Payment expired / cancelled status (par défaut Annulée) : la transaction non payée d'une commande en attente a expiré ou a été annulée.
Payment failed status (par défaut Échoué) : le paiement a échoué, ou un paiement par carte soumis à challenge a été refusé.
Refunded status (par défaut Remboursée) : le paiement a été intégralement remboursé.
OpenCart informe le client de ces changements de statut de la manière habituelle. Si un second paiement arrive pour le même panier, la commande n'est pas modifiée. Une note sur la commande payée vous demande de rembourser le second paiement dans le tableau de bord Midtrans. Un paiement pour une commande remboursée ajoute seulement une note.
Les notes sont des entrées de l'History de la commande que le client ne voit pas.
Onglet VibeFox Midtrans Payment Gateway
Dans Sales > Orders, ouvrez une commande payée avec Midtrans. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox Midtrans Payment Gateway affiche le Midtrans order ID, le Transaction ID (lié à la transaction dans le tableau de bord Midtrans de l'environnement du paiement) avec une étiquette Sandbox pour les paiements sandbox, le Payment method, le Status, les montants Paid / refunded, le formulaire de remboursement, l'historique des remboursements et les Midtrans notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension.
Remboursements
Dans l'onglet VibeFox Midtrans Payment Gateway, saisissez le Amount (le montant non encore remboursé est prérempli), facultativement un Reason (optional), puis cliquez sur Refund via Midtrans. Confirmez la question Refund this amount through Midtrans? This cannot be undone. Les remboursements totaux et partiels sont pris en charge en roupies entières ; un montant avec décimales est refusé. Vous devez avoir le droit de modifier l'extension (défini dans System > Users > User Groups). Vous pouvez rembourser jusqu'au montant réellement débité par Midtrans, même si la commande a été modifiée ensuite. Le remboursement est envoyé dans l'environnement dans lequel le paiement a été effectué, donc la Server Key de cet environnement doit être renseignée. Midtrans n'autorise les remboursements via API que pour certains modes de paiement et certaines transactions réglées. Si Midtrans refuse le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré ; remboursez alors dans le tableau de bord Midtrans. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes. Un remboursement total place la commande en Refunded status sans prévenir le client et sans remettre les produits en stock, comme un changement de statut manuel. Un remboursement partiel ne change pas le statut. Les remboursements ne sont disponibles qu'une fois que Midtrans a signalé le paiement comme réglé.
Les retours de produits dans Sales > Returns ne renvoient pas d'argent via Midtrans.
Les remboursements effectués dans le tableau de bord Midtrans arrivent par notification et sont ajoutés automatiquement à l'historique des remboursements, avec la raison Refunded in the Midtrans dashboard. Lorsque le paiement entier y est remboursé, la commande reçoit le Refunded status.
Clé de licence
L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox Midtrans Payment Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox Midtrans Payment Gateway > Edit, au-dessus des réglages. Collez la clé dans License key et cliquez sur Activate. Ensuite, le bloc affiche la clé masquée, le statut (par exemple la date de fin de validité de la licence et votre domaine) et les boutons Check now pour vérifier à nouveau le statut, Change key pour saisir une autre clé et Remove key pour retirer la clé de cette boutique. En dessous figurent la ligne Product: opencart-payment-midtrans et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les utilisateurs administrateurs disposant du droit Modify pour l'extension peuvent modifier la clé. Les textes du bloc suivent la langue de l'administration (l'anglais et le russe sont inclus).
Si la clé n'est pas acceptée, le bloc indique la raison, par exemple Key not found, This key belongs to another product, Domain limit reached ou License expired on suivi d'une date. Après un changement d'adresse de la boutique, ou après avoir libéré un emplacement de domaine dans votre compte, cliquez sur Check now. Si le serveur de licences est injoignable, l'extension continue de fonctionner avec le dernier statut connu.
Une clé fonctionne pour un seul domaine : l'adresse de la boutique issue de la configuration d'OpenCart. Retirer la clé de la boutique ne libère pas son emplacement de domaine. Libérez-le dans votre compte vibefox.net.
Sans clé active, Midtrans n'est pas affiché aux clients au moment du paiement. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. Un utilisateur administrateur connecté à l'administration dans le même navigateur voit toujours le mode de paiement dans la boutique, marqué (unlicensed — visible to admins only), afin que vous puissiez configurer et tester l'extension avant d'acheter une clé. Sous OpenCart 4, cet aperçu n'est pas disponible : la boutique ne voit pas la connexion administrateur, donc sans clé active le mode de paiement est masqué pour tout le monde. Après avoir ouvert une fois la page Edit, un rappel apparaît sur le Dashboard de l'administration. Fermez-le avec × pour le masquer pendant 7 jours. Les commandes existantes ne sont pas affectées : les paiements déjà lancés sont toujours confirmés, et les remboursements fonctionnent.
Lorsqu'une licence expire, l'extension continue de fonctionner, mais les mises à jour et le support nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement lorsque vous ouvrez le Dashboard ou la page Edit de l'administration : une fois par jour pendant les 14 premiers jours après la saisie de la clé, puis une fois par semaine. Aucune tâche cron n'est nécessaire. La désinstallation de l'extension supprime toujours la clé de licence et le statut de la licence.
Dépannage
Midtrans n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable/Disable est activé et que l'Environment sélectionné dispose de sa Server Key. Vérifiez que la devise du paiement est IDR, que l'adresse de paiement se trouve dans la Geo Zone sélectionnée et que la commande atteint le Total défini dans les réglages. La page de réglages affiche un avertissement lorsque la clé est absente ou que la devise de la boutique n'est pas IDR.
Le paiement a été effectué, mais la commande reste sans statut : la notification ne fonctionne pas. Vérifiez que l'URL de notification de paiement est configurée dans le tableau de bord Midtrans de l'environnement utilisé (sandbox ou production), qu'elle correspond exactement à l'URL affichée dans Notification URL et qu'elle est accessible : ouvrez-la dans un navigateur, elle affiche une courte explication. Activez Debug log pour voir les notifications. La commande reçoit aussi son statut lorsque le client revient dans la boutique après le paiement.
La notification répond Invalid signature : la notification n'a pas été signée avec votre Server Key Sandbox ou Production. Vérifiez que les clés des réglages appartiennent au même compte Midtrans que le tableau de bord qui envoie les notifications.
La notification répond Server key not configured : aucune Server Key n'est renseignée. Saisissez-la dans les réglages ; Midtrans renouvelle la notification.
La notification répond Order not found — ignored : l'ID de commande Midtrans n'a pas été émis par cette boutique, par exemple par une autre boutique du même compte Midtrans. Attribuez à chaque boutique un Order ID prefix différent.
La notification répond Environment mismatch — ignored : la notification a été signée avec la clé de l'autre environnement que celui dans lequel le paiement a été effectué.
La notification répond Verification failed, please retry : l'API de statut de Midtrans était injoignable. Midtrans renouvelle la notification.
La notification répond Busy, please retry : le panier était en cours de mise à jour par une autre requête au même moment, ou le statut de la commande n'a pas pu être défini. Midtrans renouvelle la notification. Consultez le journal pour en connaître la raison.
La commande est en statut d'examen : lisez les Midtrans notes dans l'onglet. Le paiement par carte est en examen antifraude, le montant ou la devise payé ne correspondait pas à la commande, ou le paiement est arrivé après l'annulation de la commande.
Le client voit une erreur après Confirm Order : consultez le champ Log de la page de l'extension ; les erreurs sont toujours journalisées. Une Server Key erronée donne le message indiquant que les paiements Midtrans sont temporairement indisponibles. Midtrans only supports payments in IDR (Indonesian Rupiah). Please choose another payment method. signifie que la commande n'est pas en IDR. This payment method is not available. signifie que la session de paiement ne correspond plus à la commande, ou que le mode de paiement a été désactivé entre-temps : le client doit recharger la page de paiement.
Le client revient au paiement avec Payment verification failed. : le lien de retour était incomplet ou n'appartient pas à la commande. La commande reçoit tout de même son statut grâce à la notification.
Aucun formulaire de remboursement dans l'onglet : l'onglet indique la raison : le paiement n'est pas encore réglé, il est entièrement remboursé, votre groupe d'utilisateurs n'a pas le droit de modifier l'extension, ou aucune Server Key n'est renseignée pour l'environnement dans lequel la commande a été payée.
Le remboursement échoue : le mode de paiement ou l'état de la transaction n'autorise pas les remboursements via API ; remboursez dans le tableau de bord Midtrans, et le remboursement sera enregistré automatiquement sur la commande.
Pour les développeurs : avant la création de la transaction Snap, l'extension déclenche l'événement OpenCart midtrans_p_snap_payload avec les données de la requête et la commande ; l'ID de commande et le montant ne peuvent pas être modifiés.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Midtrans Payment Gateway. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours ses propres réglages de l'extension : Enable/Disable, Sort Order, Geo Zone, Total et les statuts de commande de la section Orders, qui reviennent à leurs valeurs par défaut lors d'une réinstallation. Les événements OpenCart de l'extension sont également supprimés (sous OpenCart 4, également leur action de démarrage, qui laisse passer les notifications en mode maintenance). Si Delete data on uninstall est activé, les autres réglages de la passerelle (titre, description, environnement, Server Keys, réglages de paiement, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les références de paiement Midtrans et les remboursements des commandes sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être remboursées après une réinstallation. Les commandes existantes conservent leurs notes de paiement.
Sous OpenCart 4, pour supprimer aussi les fichiers de l'extension, allez dans Extensions > Installer après la désinstallation, cliquez sur Uninstall (le bouton orange −) à côté de VibeFox Midtrans Payment Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge en forme de poubelle) pour supprimer le paquet téléversé.
Midtrans est une marque de son propriétaire respectif. Cette extension n'est ni affiliée à Midtrans ni approuvée par Midtrans.
