Documentation/Créer un lien de paiement
openapi.jsonOuvrir mon espace

Créer un lien de paiement

POST/v1/payment_links

Une adresse qui encaisse, à prix fixe ou libre.

Les en-têtes

Idempotency-KeytexteConseillée : rejouée, la même clé rend la première réponse au lieu de refaire le geste.

Ce qu’on envoie

Un corps JSON. Ce qui n’est pas requis peut être omis.

titleREQUIStexteCe que le payeur lit en grand sur sa page.
descriptiontexteCe que le payeur lit sous le titre.
type« fixed » · « open »« open » : le payeur choisit le montant, entre les bornes. Par défaut « fixed ».
amountentierLe prix, quand il est fixe.
min_amountentierPour un prix libre.
max_amountentierPour un prix libre.
currencytexteSans précision : la monnaie de l’espace.
reusablevrai ou fauxFaux : le lien se ferme au premier paiement réussi. Par défaut vrai.
fees_paid_by« merchant » · « customer »« customer » : les frais s’ajoutent à ce qu’on demande au payeur.
collectliste de « name » · « email » · « address »Ce qu’on demande au payeur en plus de son numéro. L’e-mail est toujours demandé.
expires_atentierQuand le lien se ferme, en secondes depuis 1970.

La demande

bash
curl https://api.payiz.app/v1/payment_links \
  -H "Authorization: Bearer sk_test_…" \
  -H "Idempotency-Key: liens-creer-01" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Robe wax brodée",
    "amount": 12500,
    "currency": "XOF",
    "collect": [
      "name"
    ]
  }'

La réponse

json
{
  "object": "payment_link",
  "id": "lnk_01j9xc4qv2n8ywd3hs6m",
  "url": "https://pay.payiz.app/l/robe-wax-brodee",
  "title": "Robe wax brodée",
  "description": "Taille unique, livraison sous 48 h.",
  "type": "fixed",
  "amount": 12500,
  "min_amount": null,
  "max_amount": null,
  "currency": "XOF",
  "reusable": true,
  "fees_paid_by": "merchant",
  "collect": [
    "email",
    "name"
  ],
  "active": true,
  "payments_count": 2,
  "amount_collected": 25000,
  "expires_at": null,
  "created": 1789998092,
  "livemode": false
}

Ce qu’on reçoit

201 · un objet payment_link

object« payment_link »Le genre de l’objet rendu : il ne change jamais.
idtexteUn identifiant préfixé « lnk_ », par exemple lnk_01j9x3kq7m4tzv8qhw2n.
urltexteL’adresse à partager, et son QR code.
titletexteLe titre que le payeur lit en haut de la page.
descriptiontexte ou nullCe que le payeur lit sous le titre.
type« fixed » · « open »« open » : le payeur choisit le montant.
amountentier ou nullLe prix, quand il est fixe.
min_amountentier ou nullLe plancher, quand le payeur choisit son montant.
max_amountentier ou nullLe plafond, quand le payeur choisit son montant.
currencytexteLe code ISO 4217, en majuscules.
reusablevrai ou fauxFaux : le lien se ferme au premier paiement réussi.
fees_paid_by« merchant » · « customer »Qui porte la commission sur les paiements de ce lien.
collectliste de « name » · « email » · « address »Ce qu’on demande au payeur, l’e-mail toujours compris.
activevrai ou fauxFaux : le lien est fermé, sa page ne prend plus rien.
payments_countentierCombien de paiements réussis ce lien a portés.
amount_collectedentierCe que ce lien a encaissé en tout.
expires_atentier ou nullDes secondes depuis 1970, ou null.
createdentier ou nullDes secondes depuis 1970, ou null.
livemodevrai ou fauxFaux en mode test : aucun argent ne circule.
© 2026 PayizUne question ? L’aide est dans le rond, en bas à droite.

Créer un lien de paiement

POST/v1/payment_links

Une adresse qui encaisse, à prix fixe ou libre.

Les en-têtes

Idempotency-KeytexteConseillée : rejouée, la même clé rend la première réponse au lieu de refaire le geste.

Ce qu’on envoie

Un corps JSON. Ce qui n’est pas requis peut être omis.

titleREQUIStexteCe que le payeur lit en grand sur sa page.
descriptiontexteCe que le payeur lit sous le titre.
type« fixed » · « open »« open » : le payeur choisit le montant, entre les bornes. Par défaut « fixed ».
amountentierLe prix, quand il est fixe.
min_amountentierPour un prix libre.
max_amountentierPour un prix libre.
currencytexteSans précision : la monnaie de l’espace.
reusablevrai ou fauxFaux : le lien se ferme au premier paiement réussi. Par défaut vrai.
fees_paid_by« merchant » · « customer »« customer » : les frais s’ajoutent à ce qu’on demande au payeur.
collectliste de « name » · « email » · « address »Ce qu’on demande au payeur en plus de son numéro. L’e-mail est toujours demandé.
expires_atentierQuand le lien se ferme, en secondes depuis 1970.

La demande

bash
curl https://api.payiz.app/v1/payment_links \
  -H "Authorization: Bearer sk_test_…" \
  -H "Idempotency-Key: liens-creer-01" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Robe wax brodée",
    "amount": 12500,
    "currency": "XOF",
    "collect": [
      "name"
    ]
  }'

La réponse

json
{
  "object": "payment_link",
  "id": "lnk_01j9xc4qv2n8ywd3hs6m",
  "url": "https://pay.payiz.app/l/robe-wax-brodee",
  "title": "Robe wax brodée",
  "description": "Taille unique, livraison sous 48 h.",
  "type": "fixed",
  "amount": 12500,
  "min_amount": null,
  "max_amount": null,
  "currency": "XOF",
  "reusable": true,
  "fees_paid_by": "merchant",
  "collect": [
    "email",
    "name"
  ],
  "active": true,
  "payments_count": 2,
  "amount_collected": 25000,
  "expires_at": null,
  "created": 1789998092,
  "livemode": false
}

Ce qu’on reçoit

201 · un objet payment_link

object« payment_link »Le genre de l’objet rendu : il ne change jamais.
idtexteUn identifiant préfixé « lnk_ », par exemple lnk_01j9x3kq7m4tzv8qhw2n.
urltexteL’adresse à partager, et son QR code.
titletexteLe titre que le payeur lit en haut de la page.
descriptiontexte ou nullCe que le payeur lit sous le titre.
type« fixed » · « open »« open » : le payeur choisit le montant.
amountentier ou nullLe prix, quand il est fixe.
min_amountentier ou nullLe plancher, quand le payeur choisit son montant.
max_amountentier ou nullLe plafond, quand le payeur choisit son montant.
currencytexteLe code ISO 4217, en majuscules.
reusablevrai ou fauxFaux : le lien se ferme au premier paiement réussi.
fees_paid_by« merchant » · « customer »Qui porte la commission sur les paiements de ce lien.
collectliste de « name » · « email » · « address »Ce qu’on demande au payeur, l’e-mail toujours compris.
activevrai ou fauxFaux : le lien est fermé, sa page ne prend plus rien.
payments_countentierCombien de paiements réussis ce lien a portés.
amount_collectedentierCe que ce lien a encaissé en tout.
expires_atentier ou nullDes secondes depuis 1970, ou null.
createdentier ou nullDes secondes depuis 1970, ou null.
livemodevrai ou fauxFaux en mode test : aucun argent ne circule.