VibeFox iPay88 for PrestaShop — Aide
Prérequis
PrestaShop : 8.0 à 9.x.
PHP : 8.0 ou ultérieur. Le module refuse de s'installer sur les versions antérieures de PHP.
Compte marchand iPay88 : le Merchant Code et la Merchant Key sont délivrés par iPay88 lorsque votre compte marchand est activé. Ils figurent aussi dans le portail marchand iPay88. Si vous n'êtes pas encore marchand, faites votre demande sur le site d'iPay88. Gardez la Merchant Key secrète : elle signe les paiements. iPay88 ne propose pas de bac à sable distinct, il n'existe donc pas de clés de test.
URL de requête : l'adresse de votre site doit être enregistrée auprès d'iPay88 comme URL de requête. Sinon, la page iPay88 affiche « Permission not allow ».
Devise : Malaysia — MYR, et USD, SGD, AUD, CAD, EUR, GBP, HKD, CNY, TWD, INR, IDR, PHP ou THB si l'option multidevise est activée sur votre compte iPay88 ; Philippines — PHP ou USD ; Indonesia — IDR ; Thailand — THB. Si la devise du panier ne peut pas être débitée dans votre région, le mode de paiement est masqué au moment du paiement.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.
Installation
1. Dans le back-office, allez dans Modules > Module Manager et cliquez sur Upload a module. Choisissez le fichier ZIP du module.
2. Une fois le téléversement terminé, cliquez sur Configure, ou retrouvez plus tard VibeFox iPay88 Payment dans la liste des modules et cliquez sur Configure.
3. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page Configure, et cliquez sur Activate (voir Clé de licence).
4. Choisissez votre iPay88 region, saisissez le Merchant Code et la Merchant Key, activez Enable/Disable et cliquez sur Save.
5. Pour vérifier la configuration, effectuez un paiement avec Test mode activé, puis désactivez le mode test.
À l'installation, le module crée deux statuts de commande : Awaiting iPay88 payment et iPay88 payment on hold. PrestaShop active le nouveau module de paiement pour toutes les devises, tous les pays et tous les groupes de clients. Vous pouvez les restreindre dans Payment > Preferences. Un pays que vous activez après l'installation du module doit aussi y être coché pour le module, sinon les clients de ce pays ne verront pas iPay88. Les URL de réponse et de backend sont envoyées avec chaque paiement.
Configuration
Tous les réglages se trouvent sur la page du module : Modules > Module Manager > VibeFox iPay88 Payment > Configure. Chaque bouton Save enregistre la page entière. Au-dessus des champs, la page affiche Saisissez le Merchant Code et la Merchant Key d'iPay88 — tant que ce n'est pas fait, le mode de paiement n'est pas affiché au moment du paiement. lorsqu'une clé manque, un avertissement lorsque la devise par défaut de la boutique ne peut pas être débitée dans la région choisie (le mode de paiement est alors masqué au moment du paiement), et un avertissement tant que le mode test est activé.
iPay88
Enable/Disable : Enable iPay88 Payment Gateway active ou désactive le mode de paiement. Par défaut : désactivé.
Title : le nom du mode de paiement que voient les clients au moment du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : iPay88.
Description : le texte affiché sous le mode de paiement au moment du paiement. Par défaut : Pay securely via iPay88 (credit card, online banking, e-wallet).
Compte iPay88
iPay88 region : le pays de votre compte marchand iPay88. Il détermine la page de paiement iPay88 et les devises pouvant être débitées. La commande est toujours débitée dans sa propre devise. Par défaut : Malaysia.
Merchant Code : votre Merchant Code iPay88, par exemple M01234.
Merchant Key : votre Merchant Key iPay88. Elle signe les demandes de paiement et vérifie les réponses d'iPay88. Gardez-la secrète. La clé enregistrée n'est jamais réaffichée : le champ reste vide et affiche Enregistrée — laissez vide pour la conserver. Ne saisissez une valeur que si vous voulez la modifier. La clé est enregistrée exactement telle que saisie, y compris les guillemets et les antislashs.
Clear saved secret : cochez Merchant Key et cliquez sur Save pour supprimer la clé enregistrée. Un champ vide conserve la valeur enregistrée.
Signature type : la manière dont les demandes de paiement sont signées. Les réponses sont vérifiées dans les deux formats, donc les paiements démarrés avant un changement restent vérifiables.
Paiement
Payment method : présélectionnez un mode de paiement iPay88 dans la liste des PaymentId de Malaysia, ou laissez Let the customer choose on the iPay88 page (par défaut). La liste comprend Credit Card (MYR), FPX (Online Banking), Maybank2U, Alliance Online, AmBank, RHB Bank, Hong Leong Bank, CIMB Clicks, Web Cash, PayPal (MYR), Credit Card (PHP), Boost, Touch n Go eWallet, GrabPay et ShopeePay.
Reference prefix : facultatif. Il est ajouté avant le numéro de panier dans la référence iPay88 (RefNo), par exemple SHOP1-. Utilisez un préfixe différent dans chaque boutique qui partage le même compte iPay88, afin que la réponse d'une boutique ne soit jamais appliquée au panier d'une autre. Lettres, chiffres, « - » et « _ », jusqu'à 10 caractères. Les autres caractères sont supprimés à l'enregistrement, et un préfixe se terminant par un chiffre reçoit un « - » à la fin, car le numéro de panier est lu depuis la fin du RefNo. La page affiche ensuite la valeur enregistrée. Si vous passez de WooCommerce à PrestaShop avec le même compte iPay88, définissez un préfixe pour que les nouvelles références ne reprennent jamais d'anciens numéros de commande.
Test mode : Charge a fixed test amount instead of the order total. iPay88 n'a pas de bac à sable distinct : les paiements de test sont de véritables transactions sur la page iPay88 en production, avec un petit montant (1,00 ; IDR 10 000). La commande est marquée comme payée lorsque le montant de test est reçu, et la note de commande l'indique. Tant que le mode test est activé, le paiement affiche TEST MODE: only a test amount of ... will be charged. Un paiement démarré en mode test est toujours contrôlé par rapport au montant de test, même si vous désactivez le mode test avant la réponse d'iPay88. Ne laissez jamais le mode test activé sur une boutique en production. Par défaut : désactivé.
URL de réponse et de backend
Le module envoie les deux URL à chaque paiement : il n'y a donc rien à configurer. Si iPay88 les demande, copiez-les depuis cette section. Avec des URL conviviales, elles ressemblent à https://your-shop/module/wcp_ipay88_payment/response (Response URL, le retour du client) et https://your-shop/module/wcp_ipay88_payment/backend (Backend URL, la notification serveur à serveur), éventuellement avec un code de langue comme /en/. La section affiche aussi l'adresse de votre site, qui doit être enregistrée auprès d'iPay88 comme URL de requête.
Les deux réponses d'iPay88 sont contrôlées de la même façon : les champs obligatoires, la signature faite avec votre Merchant Key, et la référence d'un paiement que cette boutique a démarré pour ce panier. Les réponses sans signature valide sont rejetées et ne modifient jamais un panier ni une commande. La notification backend n'obtient RECEIVEOK qu'après avoir été traitée ; sinon, iPay88 la renvoie. Elle fonctionne même lorsque la boutique est en mode maintenance et n'est pas bloquée par la restriction par pays de votre boutique. iPay88 signale ces statuts de paiement :
Avancé
Debug log : enregistre les demandes de paiement et les réponses d'iPay88 dans logs/ipay88_p_debug.log.php, dans le dossier du module. Le fichier ne peut pas être ouvert depuis le web. Aucune donnée personnelle, aucune Merchant Key ni aucune signature n'est journalisée. Les erreurs et avertissements sont toujours journalisés, même lorsque le commutateur est désactivé. 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 : supprime les réglages, les journaux et les données de paiement iPay88 lors de la désinstallation du module. Les commandes et leurs statuts ne sont jamais supprimés. Par défaut : désactivé.
Paiement
À l'étape de paiement, le client choisit le mode de paiement (par défaut iPay88) et confirme. La page suivante affiche Redirecting to iPay88 payment gateway... et Please do not close this window. pendant l'envoi d'un formulaire vers la page de paiement iPay88 de votre région. Sans JavaScript, le client clique sur Pay Now. Aucune commande n'existe encore à ce stade. Le module transmet le total du panier dans la devise du panier (le montant de test en mode test), les noms des produits, ainsi que le nom, l'e-mail et le téléphone du client. Sur la page iPay88, le client paie par carte, par banque en ligne FPX, par portefeuille électronique ou par une autre méthode proposée par votre compte.
La commande n'est marquée comme payée que lorsque iPay88 la confirme par une réponse signée, soit au retour du client, soit par la notification backend. Après un paiement réussi, la commande est créée et le client voit la page standard de confirmation de commande avec Your iPay88 payment has been received. Pour un paiement en attente, la page affiche Your payment is pending confirmation from iPay88. We will update your order as soon as the payment is confirmed. Pour une commande en attente de vérification, elle affiche We have received a payment notification from iPay88 and are reviewing it. We will contact you if anything is needed. Si la commande est en Payment error ou a été annulée, elle affiche The payment was not completed. Please contact us.
Si la confirmation est traitée au même moment par la notification backend, le client voit We have not received the payment confirmation from iPay88 yet. If you completed the payment, your order will be updated shortly. avec les boutons Check again et Back to checkout.
Si le paiement a échoué ou a été annulé, aucune commande n'est créée et le panier est conservé. Le client revient au paiement avec The payment was not completed: et la raison donnée par iPay88, suivi de You can try again or choose another payment method. Chaque tentative pour un même panier utilise le même RefNo. Si la réponse ne peut pas être vérifiée, le client voit The payment response could not be verified. If you completed the payment, please contact us with your order number — the payment will be checked manually. avec un bouton Return to the store.
Si le paiement ne peut pas être lancé, le client revient au paiement avec This payment method is temporarily unavailable. Please choose another payment method. (clés manquantes ou total nul) ou iPay88 cannot accept payments in ... Please choose another payment method. (devise non débitable dans la région). Si le panier a déjà une commande (payée ou en attente d'un paiement en cours), aucun second formulaire de paiement n'est généré et le client est redirigé vers la page de confirmation de commande.
Le module ne gère que les paiements uniques. Il ne prend en charge ni les remboursements depuis PrestaShop, ni les cartes enregistrées, ni les abonnements, ni la pré-autorisation et la capture, ni les champs de carte sur votre site. Il n'interroge pas de nouveau iPay88 sur le statut du paiement : les commandes ne sont mises à jour que par la réponse d'iPay88 et par la notification backend.
Commandes
Order statuses
No order yet : le client a été envoyé vers iPay88 et aucun résultat n'est encore arrivé, ou le paiement a échoué. Seul le panier existe.
Payment accepted : iPay88 a signalé un paiement réussi avec le montant et la devise attendus. Le paiement est enregistré avec le TransId d'iPay88 comme identifiant de transaction. Une note privée affiche le TransID, le PaymentID, le montant et la devise. En mode test, une seconde note indique que le montant de test a été débité à la place du total de la commande.
Awaiting iPay88 payment : iPay88 a signalé le paiement comme en attente. La commande passe à Payment accepted lorsque iPay88 le confirme, ou à Payment error si le paiement échoue.
Payment error : un paiement en attente a ensuite échoué. La note affiche la raison donnée par iPay88. Ce panier a déjà une commande : le client ne peut donc pas la payer à nouveau et passe une nouvelle commande.
iPay88 payment on hold : iPay88 a signalé un paiement réussi avec un montant ou une devise différent de la commande, ou le paiement est arrivé après l'annulation de la commande. La commande n'a PAS été marquée comme payée. La note l'explique. Vérifiez le paiement dans le portail iPay88, puis traitez la commande ou remboursez le paiement.
Une commande payée ou remboursée n'est jamais modifiée par une réponse ultérieure. Si un autre paiement réussi arrive pour elle, une note vous demande de le vérifier dans le portail iPay88 et de le rembourser s'il s'agit d'un doublon. Une réponse d'échec ne modifie jamais une commande payée, remboursée ou annulée. Les réponses répétées n'ajoutent rien.
Bloc de paiement iPay88
La page de commande affiche un bloc iPay88 payment avec le RefNo, le TransId, le statut, le montant demandé, le montant reçu, le PaymentId, l'AuthCode, l'erreur et la région, ainsi qu'un badge TEST MODE pour les paiements de test.
Remboursements
Les remboursements ne sont pas envoyés à iPay88 depuis PrestaShop. Remboursez le paiement dans le portail marchand iPay88, puis enregistrez le remboursement manuellement dans PrestaShop.
Clé de licence
Le module fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox iPay88 Payment est le premier bloc de Modules > Module Manager > VibeFox iPay88 Payment > Configure, au-dessus des réglages. Saisissez la clé dans License key et cliquez sur Activate. Ensuite, le bloc affiche la clé masquée, le statut (par exemple la date jusqu'à laquelle la licence est active et votre domaine), ainsi que 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: presta-payment-ipay88 et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les employés disposant de l'autorisation Configure pour le module peuvent modifier la clé. Les textes du bloc suivent la langue du back-office (l'anglais et le russe sont inclus).
Si la clé n'est pas acceptée, le bloc indique le motif, 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, le module continue de fonctionner avec le dernier statut connu.
Une clé fonctionne pour un seul domaine : celui de la boutique principale, y compris dans une configuration multiboutique. 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, iPay88 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. La boutique PrestaShop ne sait pas que vous êtes connecté au back-office : le mode de paiement est donc masqué pour vous aussi. Vous pouvez configurer le module avant d'acheter une clé, mais pas le tester au moment du paiement. Un rappel apparaît dans Modules > Module Manager, sur l'onglet Alerts. Les commandes existantes ne sont pas affectées : les paiements déjà lancés sont toujours confirmés.
Lorsqu'une licence expire, le module continue de fonctionner, mais les mises à jour et le support nécessitent un renouvellement. Le statut est vérifié automatiquement pendant votre travail dans le back-office : 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. Désinstaller ou réinitialiser le module supprime toujours la clé de licence et le statut de la licence.
Dépannage
iPay88 n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable/Disable est activé, que le Merchant Code et la Merchant Key sont saisis, et que la devise du panier peut être débitée dans la iPay88 region choisie. La page des réglages affiche un avertissement lorsque quelque chose manque. Dans Payment > Preferences, vérifiez que le module est autorisé pour la devise du panier, le pays du client et le groupe du client.
Le paiement a été effectué, mais aucune commande n'a été créée : ni le retour du client ni la notification backend n'ont atteint votre boutique avec une signature valide. Consultez le champ Log : les erreurs sont toujours journalisées. Vérifiez que la Merchant Key est exactement celle que vous a donnée iPay88 et que votre serveur accepte les requêtes d'iPay88 à la Backend URL affichée dans les réglages.
La page iPay88 affiche « Permission not allow » : l'adresse de votre site n'est pas enregistrée auprès d'iPay88 comme URL de requête. Demandez à iPay88 d'enregistrer l'adresse affichée dans la section Response and backend URLs.
La notification backend répond BAD SIGNATURE : la signature ne correspond pas à la Merchant Key. Vérifiez la Merchant Key. Rien n'a été modifié.
La notification backend répond NOT CONFIGURED : le Merchant Code ou la Merchant Key ne sont pas renseignés, la réponse ne peut donc pas être vérifiée. iPay88 renvoie la notification.
La notification backend répond UNKNOWN ORDER : aucun paiement iPay88 n'a été démarré pour cette référence sur cette boutique, par exemple parce qu'une autre boutique utilisant le même compte n'a pas de Reference prefix ou utilise le même, ou parce que les données de paiement iPay88 ont été supprimées lors de la désinstallation.
La notification backend répond RETRY : le panier était en cours de confirmation par le retour du client au même moment, ou la commande n'a pas pu être créée (par exemple parce que le module est désactivé). iPay88 renvoie la notification.
La Backend URL affiche BAD REQUEST dans le navigateur : c'est normal. L'URL n'accepte que les requêtes signées d'iPay88.
La commande est iPay88 payment on hold : iPay88 a signalé un paiement qui ne correspond pas à la commande, ou la commande avait été annulée. Vérifiez la note de commande et le paiement dans le portail iPay88, puis finalisez la commande ou remboursez le paiement.
Le client voit « iPay88 cannot accept payments in » suivi d'une devise : la devise du panier ne peut pas être débitée dans la région choisie. Sur iPay88 Malaysia, les devises autres que MYR nécessitent aussi l'option multidevise sur votre compte iPay88.
Les clients réels ne sont débités que de 1,00 : le Test mode est activé. Désactivez-le.
Désinstallation
Allez dans Modules > Module Manager, ouvrez le menu à côté de VibeFox iPay88 Payment et choisissez Uninstall. La clé de licence et le statut de licence de ce module sont toujours supprimés. La confirmation indique que les réglages et les données de paiement iPay88 sont conservés, sauf si Delete data on uninstall est activé. S'il est activé, les réglages, les journaux et les données de paiement iPay88 sont supprimés. S'il est désactivé, tout est conservé en vue d'une réinstallation ultérieure. Les statuts de commande Awaiting iPay88 payment et iPay88 payment on hold sont toujours conservés. Les commandes ne sont jamais supprimées et conservent leurs notes de paiement et leurs identifiants de transaction.
iPay88 est une marque déposée de son propriétaire respectif. Ce module n'est ni affilié à iPay88 ni approuvé par iPay88.
