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 secretwhsec_….
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, renvoieCHARGE_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
- 1Hébergez l'app et ajustez les
targetUrldumanifest.jsonvers vos routes. - 2Installez l'app sur Saleor via le manifeste (permission
HANDLE_PAYMENTS). - 3Branchez chaque webhook Saleor sur le handler correspondant (
src/handlers.ts), en passant la config Mobupay. - 4Exposez
POST /api/mobupay/notifyvershandleMobupayNotify(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.