Mobupay
Payments and refunds for New Caledonia and the Pacific region
Mobupay pour Medusa v2
Fournisseur de paiement Mobupay pour Medusa v2 (offsite redirect). Consomme l'API publique Mobupay (sessions, remboursement, webhook signé V2). Statut : VALIDÉ e2e sur Medusa 2.17.1 (2026-07-01) — paiement réel capturé
- webhook signé (signature V2 vérifiée). NB v2 : options via Copy to clipboard
this.config.
Modèle
Copy to clipboardAbstractPaymentProvider (Copy to clipboardstatic identifier = "mobupay"). Copy to clipboardinitiatePayment crée une session Mobupay et renvoie l'URL de la page hébergée dans Copy to clipboarddata.checkoutUrl (le storefront y redirige l'acheteur). Le statut est confirmé par webhook (Copy to clipboardgetWebhookActionAndData, signature V2 vérifiée via le module Node Copy to clipboardcrypto). Refund total/partiel via Copy to clipboardrefundPayment.
Fichiers
Fichier Rôle Copy to clipboardsrc/modules/mobupay/service.ts Provider (initiate/authorize/capture/refund/status/webhook) Copy to clipboardsrc/modules/mobupay/index.ts Copy to clipboardModuleProvider(Modules.PAYMENT, …)
Installation
Par npm (recommandé)
1npm install medusa-payment-mobupay
Puis déclarer le provider dans Copy to clipboardmedusa-config.ts avec Copy to clipboardresolve: "medusa-payment-mobupay" (voir la config ci-dessous).
Par copie de fichiers (alternative)
- Copier Copy to clipboard
src/modules/mobupay/dans le projet Medusa. - Déclarer le provider dans Copy to clipboard
medusa-config.tsavec Copy to clipboardresolve: "./src/modules/mobupay".
Configuration
1234567891011121314151617181920module.exports = defineConfig({modules: [{resolve: "@medusajs/medusa/payment",options: {providers: [{resolve: "medusa-payment-mobupay", // ou "./src/modules/mobupay" si copie localeid: "mobupay",options: {apiKey: process.env.MOBUPAY_API_KEY, // sk_live_… / sk_test_…webhookSecret: process.env.MOBUPAY_WEBHOOK_SECRET, // whsec_…apiBase: "https://api.mobupay.nc",redirectUrl: "https://votre-storefront/checkout/return",// URL publique du backend Medusa -> route webhook /hooks/payment/mobupay_mobupaywebhookBaseUrl: process.env.MOBUPAY_WEBHOOK_BASE_URL,},},],},
- Le webhook Mobupay est POSTé sur la route Medusa Copy to clipboard
/hooks/payment/mobupay_mobupay(format Copy to clipboard{identifier}_{provider}), qui déclenche Copy to clipboardgetWebhookActionAndData. Le module construit automatiquement la Copy to clipboardnotificationUrlà partir de Copy to clipboardwebhookBaseUrl.
Packaging npm
Le dossier est packagé pour npm sous le nom Copy to clipboardmedusa-payment-mobupay : Copy to clipboardnpm run build (tsc -> Copy to clipboarddist/), entrée Copy to clipboarddist/modules/mobupay/index.js. Les keywords Copy to clipboardmedusa-v2 + Copy to clipboardmedusa-plugin-integration conditionnent le listing automatique sur l'annuaire medusajs.com/integrations (vetting mensuel core team, seuil ~20 téléchargements). Publication depuis le repo public Copy to clipboardmobupay/medusa-payment-mobupay (export via Copy to clipboardscripts/publish-connector.sh medusa <version>).

