Reference API

Créer une demande de contrat

POST /api/v1/payments/dexpay/checkout-sessions/auto/classic — créer une demande de contrat avec lien de paiement.

But

Créer une demande de contrat auto classique côté partenaire. La réponse contient un lien de paiement et un statut métier initial.

Cette page est maintenant interactive: tu peux lire le schéma réel, voir les exemples générés depuis Swagger et tester l'endpoint directement depuis la doc.

Résumé rapide

  • Méthode: POST
  • Route: /api/v1/payments/dexpay/checkout-sessions/auto/classic
  • Auth: x-api-key partenaire ou JWT
  • Résultat: reference, contractStatus, payment.paymentUrl

Quand utiliser cet endpoint

Utilise cet endpoint quand le partenaire a deja collecte toutes les donnees metier du contrat et veut:

  • creer une demande de contrat exploitable,
  • obtenir un lien de paiement immediat,
  • suivre ensuite l emission via webhook ou relecture de reference.

Points d'attention

  • cat=550 et scatCode=011 exigent pfs > 125.
  • cat=550 et scatCode=010 exigent pfs <= 125.
  • contract doit respecter les règles ASKIA (champs obligatoires, formats).

Ce qu'il faut conserver dans ta base

  • reference: cle de reconciliation du flow complet
  • contractStatus: statut metier initial, typiquement PENDING_PAYMENT
  • payment.paymentUrl: URL a presenter ou ouvrir cote client final
  • payment.expiresAt: utile pour gerer l expiration du lien de paiement

Erreurs frequentes sur cette route

  • 401 unauthorized: cle absente, invalide ou mauvais environnement
  • 400 dexpay_config_missing: configuration interne paiement non active
  • 422 validation_failed: payload coherent en JSON mais refuse par une regle metier
  • 502 provider_upstream_error: erreur temporaire du provider paiement ou ASKIA

Ne traite pas la reponse 201 comme un contrat emis. A ce stade, tu as une demande de contrat et un lien de paiement, pas encore une police active.

Référence interactive

POST
/api/v1/payments/dexpay/checkout-sessions/auto/classic
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "http://localhost:3210/api/v1/payments/dexpay/checkout-sessions/auto/classic" \  -H "Content-Type: application/json" \  -d '{    "contract": {      "cliCode": "1107C000257",      "cat": "510",      "carrCode": "07",      "nrg": "E00002",      "pfs": 14,      "nbP": 5,      "dure": 12,      "effet": "16/04/2025",      "numImmat": "DK2314BA",      "mqCode": "M00427",      "modele": "Qashqai"    },    "successUrl": "https://partner.com/payment/success",    "failureUrl": "https://partner.com/payment/failure"  }'
Empty

Et ensuite

  1. Rediriger l utilisateur vers payment.paymentUrl.
  2. Attendre le webhook partenaire ou relire l etat avec GET /api/v1/payments/dexpay/{reference}.
  3. En production, verifier aussi la Go-live checklist.

On this page