> ## Documentation Index
> Fetch the complete documentation index at: https://docs-api.maketou.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Utilisez l'API Maketou v1 décrite par la spécification OpenAPI de ce site.
> Gardez la clé API côté serveur et ne l'exposez jamais dans du code client, des logs ou une réponse destinée au navigateur.
> Ne livrez un produit et n'activez un accès que lorsque le statut du panier est `completed`.
> N'inventez pas d'endpoint, de champ ou de webhook absent de la documentation.

# Accepter des paiements dans votre SaaS

> Configurez Maketou, créez un parcours de paiement et confirmez le statut avant d'activer une offre SaaS.

Ce guide montre comment utiliser Maketou pour accepter le paiement d'une offre vendue depuis votre SaaS. Vous configurez le produit et l'accès API dans Maketou. Vous reliez ensuite ce produit à votre propre parcours d'achat.

```text theme={null}
Offre SaaS → Panier Maketou → Paiement → Confirmation → Accès activé
```

## Préparez votre offre dans Maketou

<Steps>
  <Step title="Créez le produit correspondant à votre offre">
    Créez dans Maketou le produit qui représente l'offre vendue par votre SaaS. Vérifiez qu'il est disponible à la vente avant de commencer l'intégration.

    <Frame caption="Liste des produits dans Maketou">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/product-list.png?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=3502de265a3b26671d380f7b9cd15d47" alt="Liste des produits dans Maketou avec le bouton Nouveau produit" width="2940" height="1912" data-path="images/use-cases/product-list.png" />
    </Frame>
  </Step>

  <Step title="Récupérez l'identifiant public du produit">
    Ouvrez le produit, cliquez sur **Partager**, puis copiez son `productDocumentId`. Votre application utilisera cet identifiant pour créer un panier pour cette offre.

    <Frame caption="Action Partager dans la fiche du produit">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/product-share-action.png?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=10f23243374406104e717d34471a6990" alt="Fiche d'un produit Maketou avec le bouton Partager" width="2940" height="1912" data-path="images/use-cases/product-share-action.png" />
    </Frame>

    <Frame caption="Identifiant public du produit">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/product-public-id.png?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=d26c8c23674da32b0e1dd278ffe0f159" alt="Panneau Partager avec l'identifiant public du produit" width="2940" height="1912" data-path="images/use-cases/product-public-id.png" />
    </Frame>
  </Step>

  <Step title="Créez une clé API pour votre boutique">
    Dans votre boutique, ouvrez **Autres**, puis **Clés API**. Créez une clé et conservez-la dans le système de secrets de votre application.

    <Frame caption="Accès aux clés API">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/api-keys-navigation.jpeg?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=9a6d550ea28a0141b4042336c7b75bfe" alt="Page Autres de Maketou avec l'option Clés API" width="2940" height="1846" data-path="images/use-cases/api-keys-navigation.jpeg" />
    </Frame>

    <Frame caption="Création d'une clé API">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/api-key-list.jpeg?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=e8fa060183d0cabb931af7282cc4d3c5" alt="Page des clés API avec le bouton Créer une clé API" width="2940" height="1846" data-path="images/use-cases/api-key-list.jpeg" />
    </Frame>

    <Frame caption="Configuration de la clé API">
      <img src="https://mintcdn.com/maketou/9HxEWG87v_8M34Jg/images/use-cases/api-key-creation-form.jpeg?fit=max&auto=format&n=9HxEWG87v_8M34Jg&q=85&s=f715271323e2cfc6072e778f28904dbf" alt="Formulaire de création d'une clé API" width="2940" height="1846" data-path="images/use-cases/api-key-creation-form.jpeg" />
    </Frame>
  </Step>
</Steps>

<Warning>
  N'exposez jamais votre clé API dans une application web ou mobile. Votre backend doit être le seul à l'utiliser.
</Warning>

## Reliez votre application à Maketou

Vous devez associer chaque offre SaaS vendue à son `productDocumentId` Maketou. Lorsqu'un client choisit une offre, votre backend crée le panier correspondant avec l'API Maketou.

Lors de cette création, transmettez les informations du client, une URL de retour vers votre application et les données qui permettent de relier le paiement à votre système, par exemple l'utilisateur, le workspace ou l'offre choisie.

<Note>
  L'API supporte actuellement un seul produit par panier. Ce guide concerne les offres SaaS payantes : un produit gratuit ne retourne pas nécessairement d'URL de paiement.
</Note>

## Redirigez le client vers le paiement

Après la création du panier, Maketou retourne une URL de paiement. Redirigez votre client vers cette URL pour qu'il finalise son paiement sur la page de checkout Maketou.

Enregistrez l'identifiant du panier retourné par Maketou dans votre système. Associez-le à l'utilisateur, au workspace ou à l'offre concernée avant de rediriger le client.

## Confirmez le paiement avant d'activer l'offre

Si vous fournissez une `redirectURL`, Maketou y ajoute automatiquement le `cartId` du panier. Au retour du client, votre backend doit consulter le statut de ce panier avec l'API Maketou.

Ne considérez pas le retour du navigateur comme une confirmation de paiement. Activez l'offre uniquement après avoir vérifié que le statut du panier est `completed`.

| Statut Maketou    | Action attendue dans votre SaaS                                             |
| ----------------- | --------------------------------------------------------------------------- |
| `completed`       | Activez l'offre ou la fonctionnalité achetée.                               |
| `waiting_payment` | Informez le client que le paiement est en cours de confirmation.            |
| `payment_failed`  | Informez le client que le paiement a échoué et proposez-lui de recommencer. |
| `abandoned`       | Laissez l'accès inactif et proposez au client de reprendre le paiement.     |

<Tip>
  Vérifiez le statut avant chaque activation et assurez-vous qu'une même confirmation n'accorde pas plusieurs fois le même accès.
</Tip>

## Continuez avec l'API Reference

<CardGroup cols={2}>
  <Card title="Créer un panier" href="/guides/create-cart">
    Consultez les données à transmettre pour créer un panier et initier le paiement.
  </Card>

  <Card title="Vérifier un panier" href="/guides/retrieve-cart">
    Consultez le statut d'un panier avant d'activer une offre.
  </Card>
</CardGroup>
