Skip to main content
POST
Créer un lien de paiement hébergé
Un lien de paiement délègue l’interface de paiement à iMoney Encaissement : vous redirigez votre client vers une page de paiement hébergée, où il choisit son moyen de paiement et valide. C’est l’équivalent API du lien créé depuis le tableau de bord. La réponse renvoie page_url, la page à transmettre au payeur (redirection, email, SMS, réseau social).
Ne considérez jamais la redirection du client comme une confirmation de paiement : vérifiez l’état du lien côté serveur, avec Consulter un lien de paiement ou un webhook, avant de livrer une commande.
  • Authentification. Les clés et le choix Sandbox ou Live suivent les mêmes règles que le reste de l’API : voir Authentification.
  • reference. Si vous la fournissez plutôt que de laisser l’API la générer, elle devient l’identifiant utilisé pour consulter l’état du lien via Consulter un lien de paiement, une opération non authentifiée. Générez une valeur aléatoire à forte entropie, jamais un identifiant de commande séquentiel ou prévisible. Laisser l’API la générer évite ce risque.
  • Redirections. Les deux URL de redirection doivent être en HTTPS : une URL en HTTP est rejetée.
  • Expiration. Un lien créé par l’API expire toujours, trente minutes après sa création, quelle que soit la valeur envoyée dans shouldExpire. Transmettez le lien à votre client tout de suite, et recréez-en un plutôt que de rediffuser un lien ancien.
  • Doublons. Une seconde création avec la même reference fournie manuellement échoue en validation (422) : la référence doit rester unique sur votre compte. Il n’existe pas de clé d’idempotence ; aucune garantie n’est documentée en cas d’appels concurrents (à confirmer auprès du support). Un compte introuvable ou inactif pour l’environnement ciblé renvoie 404.
Messages d’erreur communs : Erreurs.

Authorizations

Authorization
string
header
required

Clé secrète du compte Sandbox ou Live

Headers

Ipay-Target-Environment
enum<string>
required
Available options:
sandbox,
live
Ipay-Payment-Type
string
required
Allowed value: "external_payment"

Body

application/json
title
string
required
description
string
amount
integer | null
Required range: x >= 50
reference
string

Omettre pour génération automatique, ou fournir une valeur aléatoire privée d'au moins 128 bits.

Minimum string length: 32
shouldExpire
boolean
default:true

La v1 actuelle crée toujours un lien expirant.

on_success_redirection_url
string<uri>
Pattern: ^https://
on_failed_redirection_url
string<uri>
Pattern: ^https://

Response

Lien créé

title
string
amount
integer | null
reference
string
status
string
Example:

"initiated"

should_expire
boolean
page_url
string<uri>