# Suivre un paiement depuis le navigateur

`GET https://api.payiz.app/v1/widget/payments/{id}`

Demande le secret du client, pas de clé secrète.

Le seul appel sans clé : le secret du client ouvre ce paiement-là, et rien d’autre.

Posez « client_secret », rendu une seule fois à la création. La réponse dit si c’est payé — ni métadonnées, ni référence, ni frais. Ne livrez jamais sur la seule foi du navigateur : le webhook fait foi.

## Ce qu'on met dans l'adresse

| Champ | Type | Requis | Ce que c'est |
| --- | --- | --- | --- |
| `client_secret` | texte | oui | Le secret rendu à la création du paiement. |

## Ce qu'on reçoit

`200` · un objet `payment`

| Champ | Type | Requis | Ce que c'est |
| --- | --- | --- | --- |
| `object` | « payment » | — | Le genre de l’objet rendu : il ne change jamais. |
| `id` | texte | — | Un identifiant préfixé « pay_ », par exemple pay_01j9x3kq7m4tzv8qhw2n. |
| `amount` | entier | — | Un entier, dans l’unité mineure de la devise. |
| `currency` | texte | — | Le code ISO 4217, en majuscules. |
| `status` | « requires_payment » · « processing » · « succeeded » · « expired » · « canceled » · « partially_refunded » · « refunded » | — | Où en est le paiement. |
| `description` | texte ou null | — | Ce que le payeur lit sur sa page. |
| `amount_paid` | entier ou null | — | Ce que le payeur a versé, frais compris. |
| `paid_at` | entier ou null | — | Des secondes depuis 1970, ou null. |
| `created` | entier ou null | — | Des secondes depuis 1970, ou null. |
| `livemode` | vrai ou faux | — | Faux en mode test : aucun argent ne circule. |

## La demande

```bash
curl https://api.payiz.app/v1/widget/payments/pay_01j9x3kq7m4tzv8qhw2n
```

## La réponse

```json
{
  "object": "payment",
  "id": "pay_01j9x3kq7m4tzv8qhw2n",
  "amount": 10000,
  "currency": "XOF",
  "status": "succeeded",
  "description": "Commande 42",
  "amount_paid": 10000,
  "paid_at": 1790002912,
  "created": 1790002692,
  "livemode": false
}
```
