GuidesCommencerSDK et boutique d’exemple
SDK et boutique d’exemple
Le SDK JavaScript fait pour vous les appels de votre serveur, la vérification des notifications et l’ouverture de la caisse. La boutique d’exemple Atelier Lumen l’utilise de bout en bout.
Sur votre serveur
La clé secrète reste sur votre serveur : le SDK refuse de démarrer dans un navigateur. Chaque création demande une clé d’idempotence.
import { payhaze } from "@payhaze/sdk";
const api = payhaze({ apiKey: process.env.PAYHAZE_KEY, merchantId: process.env.PAYHAZE_MERCHANT, baseUrl: process.env.PAYHAZE_API });
const payment = await api.payments.create(
{ merchant_reference: "CMD-2026-0412", amount: "124.90", currency: "EUR", capture_mode: "automatic" },
{ idempotencyKey: "CMD-2026-0412-creation" },
);
const session = await api.checkout.create(payment.id);
// Renvoyez checkout_url et launch_token à votre page, rien d’autre.Vérifier une notification
import { verifyWebhook } from "@payhaze/sdk";
const ok = verifyWebhook({ body: rawBody, eventId: req.headers["payhaze-event-id"],
signature: req.headers["payhaze-signature"], secrets: [process.env.PAYHAZE_WEBHOOK_SECRET] });
if (!ok) return res.status(400).end();
// Dédupliquez sur PayHaze-Event-ID, relisez le paiement, puis confirmez la commande.Le SDK et PayHaze partagent le même exemple de signature dans leurs tests : leurs calculs ne peuvent pas diverger sans qu’un test échoue.
La boutique d’exemple
En local, /boutique montre une vraie commande : création du paiement par le serveur de la boutique, passage en caisse, retour, confirmation après relecture du paiement, et la notification signée vérifiée par le récepteur d’exemple. Le panneau « Côté serveur » affiche chaque appel au moment où il a lieu.
- Clé de test avec payments:read et payments:write, et l’espace, dans le fichier privé work/demo-shop.json
- Destination de notification vers le récepteur local, et sa clé, dans work/demo-receiver-config.json
- Aucune clé ne quitte le serveur de la boutique