Cost+Docs

Démarrage rapide

Acceptez votre premier paiement en 5 minutes

Ce guide vous accompagne dans la création et la finalisation d'un paiement de test avec l'API Cost+. À la fin, vous disposerez d'une intégration fonctionnelle sur laquelle vous pourrez vous appuyer.

Prérequis

Vous ne savez pas comment obtenir votre clé API ? Consultez Tester votre intégration pour des instructions détaillées.

Étape 1 : Créer une commande

Envoyez une requête POST pour créer une commande de paiement. Remplacez YOUR_API_KEY par votre clé API sandbox :

Créer une commande
curl -X POST https://api.costplus.online/v1/orders/ \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "EUR",
    "amount": 1295,
    "merchant_order_id": "my-first-order",
    "description": "Test order",
    "return_url": "https://example.com/return",
    "webhook_url": "https://example.com/webhook",
    "transactions": [
      {
        "payment_method": "credit-card"
      }
    ]
  }'

Le champ amount est exprimé dans la plus petite unité monétaire (centimes). 1295 signifie 12,95 EUR.

L'API renvoie l'objet commande complet. Les champs clés sont id, status et le payment_url à l'intérieur de la transaction :

Réponse
{
  "id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
  "status": "new",
  "currency": "EUR",
  "amount": 1295,
  "merchant_order_id": "my-first-order",
  "description": "Test order",
  "return_url": "https://example.com/return",
  "webhook_url": "https://example.com/webhook",
  "created": "2026-01-15T12:00:05.433502+00:00",
  "modified": "2026-01-15T12:00:05.553125+00:00",
  "expiration_period": "PT1H",
  "transactions": [
    {
      "id": "d291f03f-a406-428a-967a-4895a46e03fd",
      "payment_method": "credit-card",
      "status": "new",
      "amount": 1295,
      "currency": "EUR",
      "payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f...",
      "is_capturable": false,
      "expiration_period": "PT30M"
    }
  ]
}

Sauvegardez l'id — vous en aurez besoin à l'étape 3.

Étape 2 : Finaliser le paiement de test

  1. Ouvrez le payment_url de la réponse dans votre navigateur
  2. Sur la page de paiement, saisissez les informations de la carte de test :
ChampValeur
Numéro de carte4111 1111 1111 1111
ExpirationToute date future (ex. 12/28)
CVC3 chiffres quelconques (ex. 123)
  1. Validez le paiement
  2. Vous serez redirigé vers votre return_url

Ne vous fiez pas uniquement à la redirection pour confirmer le paiement. Le client peut fermer son navigateur avant d'être redirigé. Vérifiez toujours via l'API (étape 3) ou les webhooks (étape 4).

Étape 3 : Vérifier le paiement

Récupérez la commande pour confirmer qu'elle a abouti :

Vérifier le statut de la commande
curl -u YOUR_API_KEY: \
  https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/

Un paiement réussi ressemble à ceci :

Réponse (completed)
{
  "id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
  "status": "completed",
  "currency": "EUR",
  "amount": 1295,
  "merchant_order_id": "my-first-order",
  "completed": "2026-01-15T12:02:30.123456+00:00",
  "transactions": [
    {
      "id": "d291f03f-a406-428a-967a-4895a46e03fd",
      "payment_method": "credit-card",
      "status": "completed",
      "amount": 1295,
      "currency": "EUR",
      "payment_method_details": {
        "truncated_pan": "1111",
        "card_expiry": "122028"
      }
    }
  ]
}

Le status de la commande est "completed" — le paiement a réussi.

Étape 4 : Gérer le webhook (recommandé)

Lorsque le statut du paiement change, Cost+ envoie une requête POST à votre webhook_url :

Payload du webhook
{
  "event": "status_changed",
  "order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}

À la réception :

  1. Appelez GET /v1/orders/{order_id}/ pour vérifier le statut actuel (ne faites jamais confiance au payload du webhook seul)
  2. Renvoyez un HTTP 200 pour confirmer la réception
  3. Traitez la commande si le statut est "completed"

Pour le développement local, utilisez un tunnel comme ngrok pour exposer votre serveur local et recevoir les webhooks.

Consultez le guide Webhooks pour la logique de réessai, les bonnes pratiques et les détails du payload.

Alternative : Liens de paiement

Si vous n'avez pas besoin de logique de redirection côté serveur, les liens de paiement offrent un chemin plus simple. Créez un lien, partagez l'URL avec votre client, et vérifiez le statut plus tard.

Créer un lien de paiement
curl -X POST https://api.costplus.online/v1/paymentlinks/ \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_order_id": "invoice-1234",
    "amount": 2500,
    "currency": "EUR",
    "description": "Invoice #1234"
  }'

La réponse inclut un payment_url que vous pouvez partager par e-mail, SMS ou messagerie. Le client peut tenter le paiement plusieurs fois (jusqu'à 25) jusqu'à l'expiration du lien ou la réussite du paiement.

Consultez le guide Liens de paiement pour le flux complet.

Et ensuite ?

Vous avez finalisé votre premier paiement. Voici les prochaines étapes :

Points d'accès associés

On this page