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

# Créer un lien de paiement

> Un lien que vous créez une fois et partagez n'importe où, payable par autant de clients que nécessaire.

Ce guide couvre la création d'un lien de paiement réutilisable : la manière la plus rapide d'encaisser sans construire de session pour chaque client. Voir [Liens de paiement](https://docs.mercy-pay.com/payment-links/overview.md) pour le fonctionnement général.

**1. Créez le lien**

Laissez `amount` de côté si vous voulez que le client choisisse combien payer, utile pour un don ou une collecte. Fixez-le pour vendre à prix fixe.

```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl https://mercy-pay.com/api/v1/payment_links \
  -H "Authorization: Bearer mp_live_XXXXXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Collecte caritative",
    "currency": "XAF",
    "minimum_amount": 500
  }'
```

```php PHP theme={"theme":{"light":"github-light","dark":"github-dark"}}
$ch = curl_init('https://mercy-pay.com/api/v1/payment_links');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer mp_live_XXXXXXXXXXXXXXXX',
    'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'title' => 'Collecte caritative',
    'currency' => 'XAF',
    'minimum_amount' => 500,
]));

$response = curl_exec($ch);
curl_close($ch);
```

```js JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
const response = await fetch('https://mercy-pay.com/api/v1/payment_links', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer mp_live_XXXXXXXXXXXXXXXX',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Collecte caritative',
    currency: 'XAF',
    minimum_amount: 500,
  }),
});

const data = await response.json();
```

```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import requests

response = requests.post(
    'https://mercy-pay.com/api/v1/payment_links',
    headers={'Authorization': 'Bearer mp_live_XXXXXXXXXXXXXXXX'},
    json={
        'title': 'Collecte caritative',
        'currency': 'XAF',
        'minimum_amount': 500,
    },
)

data = response.json()
```

La réponse contient `url` : c'est le lien à partager tel quel, pas besoin de le transformer.

**2. Partagez-le**

N'importe où : WhatsApp, Instagram, un lien en bio, un SMS. Chaque personne qui l'ouvre peut payer indépendamment des autres. Rien à créer de votre côté pour chaque client.

**3. Suivez les paiements comme d'habitude**

Chaque paiement effectué via le lien déclenche les mêmes webhooks qu'un paiement classique (`payment.succeeded`, `payment.failed`), et apparaît dans `GET /api/v1/payments` avec la référence de sa session. Voir [Gérer les webhooks](https://docs.mercy-pay.com/developers/webhooks/handle.md).

**4. Désactivez-le quand vous n'en avez plus besoin**

Un lien désactivé refuse les nouveaux paiements mais garde son historique. Désactivez-le depuis votre tableau de bord, ou avec [`PATCH /api/v1/payment_links/{id}`](https://docs.mercy-pay.com/api/payment-links/create) et `active: false`. `POST /api/v1/payment_links/{id}/archive` le retire de votre liste.

## Erreurs fréquentes

| Message | Cause |
| - | - |
| `Ce lien n'est plus disponible.` | Lien désactivé, expiré, ou slug incorrect |
| Erreur de validation sur `amount` | Montant sous le `minimum_amount` fixé à la création |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.