Chargement de vos clés API…

Saleor

App de paiement Saleor (Transactions API, webhooks synchrones).

Validé de bout en bout

Prérequis

  • Une instance Saleor et un hébergement pour l'app (Next.js, Express, ou saleor-app-sdk).
  • Une clé API Mobupay (sk_test_… / sk_live_…) et le secret whsec_….

Modèle

L'acheteur paie sur la page hébergée Mobupay (redirect). Saleor appelle des webhooks synchrones de la Transactions API ; l'app y répond, puis reporte le résultat final via la mutation transactionEventReport quand le webhook signé Mobupay arrive.

  • TRANSACTION_INITIALIZE_SESSION : crée la session, renvoie CHARGE_ACTION_REQUIRED + data.checkoutUrl.
  • TRANSACTION_PROCESS_SESSION : relit le statut (CHARGE_SUCCESS / CHARGE_FAILURE).
  • TRANSACTION_REFUND_REQUESTED : remboursement Mobupay.
  • Webhook Mobupay : vérifie la signature V2 puis transactionEventReport.

Installation

  1. 1Hébergez l'app et ajustez les targetUrl du manifest.json vers vos routes.
  2. 2Installez l'app sur Saleor via le manifeste (permission HANDLE_PAYMENTS).
  3. 3Branchez chaque webhook Saleor sur le handler correspondant (src/handlers.ts), en passant la config Mobupay.
  4. 4Exposez POST /api/mobupay/notify vers handleMobupayNotify (corps brut + headers).
// Config passée aux handlers
{
  apiKey: process.env.MOBUPAY_API_KEY,          // sk_test_… / sk_live_…
  webhookSecret: process.env.MOBUPAY_WEBHOOK_SECRET, // whsec_…
  saleorApiUrl: "https://votre-saleor/graphql/",
  appToken: process.env.SALEOR_APP_TOKEN,
  storefrontReturnUrl: "https://votre-storefront/checkout/return",
}

Tester

Validé de bout en bout sur Saleor 3.23 (saleor-platform en Docker) : app installée, transactionInitialize crée la session Mobupay, paiement carte de test Monext 5476 4309 9999 9892 (CVV 123), puis le webhook Mobupay reporte CHARGE_SUCCESS et la transaction Saleor passe « chargée ». Chaque webhook doit embarquer sa subscription query (fournie dans le manifest.json) pour recevoir action.amount / currency.