PayHazeDocsTableau de bord

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.

POST/v1/payment-intentscURL
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"
  }'
202RéponseJSON
{
  "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.

POST/v1/checkout-sessionscURL
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" }'
201RéponseJSON
{
  "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.

PLANNEDPROCESSINGSUCCEEDEDINDETERMINATE
INDETERMINATE : pas encore certain, ne relancez pas de paiement
GET/v1/payment-intents/{id}cURL
curl "$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"