GuidesCommencerDémarrage rapide
Démarrage rapide
Un premier paiement de test, du serveur à la confirmation, en trois appels. Aucun argent réel ne circule.
1Créer le paiement
Depuis votre serveur, jamais depuis le navigateur : la clé ne doit pas quitter votre serveur. La même Idempotency-Key renvoyée après une coupure retrouve la même demande.
curl -X POST "$PAYMENT_OS_API/v1/payment-intents" \
-H "Authorization: Bearer $PAYMENT_OS_KEY" \
-H "X-Merchant-ID: $MERCHANT_ID" \
-H "X-Environment: test" \
-H "Idempotency-Key: CMD-2026-0412-creation" \
-d '{
"merchant_reference": "CMD-2026-0412",
"amount": "124.90",
"currency": "EUR",
"capture_mode": "automatic",
"connection_id": "con_5b1d7e2a-0c4f-4e8b-a9d3-6f2e1c8b4a70"
}'{
"id": "pay_7c1e4a0e-5b2f-4d8e-9a61-2f0c3b8d4e17",
"merchant_reference": "CMD-2026-0412",
"amount": "124.90",
"currency": "EUR",
"state": "PLANNED",
"provider_status": "",
"operation_id": "op_2e9d6c14-8a3b-4f71-b5e0-9c4a7d1f3b28",
"captured_amount": "0.00",
...
}2Ouvrir la caisse
Créez une session de caisse pour ce paiement, puis envoyez l’acheteur vers checkout_url avec launch_token dans le corps d’un formulaire POST.
curl -X POST "$PAYMENT_OS_API/v1/checkout-sessions" \
-H "Authorization: Bearer $PAYMENT_OS_KEY" \
-H "X-Merchant-ID: $MERCHANT_ID" \
-H "X-Environment: test" \
-d '{ "payment_id": "pay_7c1e4a0e-5b2f-4d8e-9a61-2f0c3b8d4e17" }'{
"id": "chk_3a8f0d52-7e1b-4c96-8d2a-5f7b9e0c1a64",
"checkout_url": "https://pay.payhaze.com/checkout/chk_3a8f…/start",
"launch_token": "launch_Q4ZK7MXW2PRT5HN3JB6DVCLAYE"
}3Attendre la confirmation
PayHaze vous envoie payment.updated, signée dans l’en-tête PayHaze-Signature. Vérifiez la signature, relisez le paiement côté serveur, et livrez seulement quand state vaut SUCCEEDED.
PLANNED→PROCESSING→SUCCEEDED→INDETERMINATEcurl "$PAYMENT_OS_API/v1/payment-intents/pay_7c1e4a0e-5b2f-4d8e-9a61-2f0c3b8d4e17" \
-H "Authorization: Bearer $PAYMENT_OS_KEY" \
-H "X-Merchant-ID: $MERCHANT_ID" \
-H "X-Environment: test"