api

Aperçu de l'API et authentification

QuantaPay met à votre disposition une API de type REST simple d'utilisation pour créer des paiements, interroger des transactions et gérer votre compte de manière programmatique.

Mis à jour: 09/03/2026

QuantaPay fournit une API simple de type REST pour créer des paiements, interroger des transactions et gérer votre compte par programmation.

Point de terminaison

Toutes les requêtes API sont envoyées à un seul point de terminaison :

POST https://cloud.quantapay.app/api.php

Type de contenu

Les requêtes utilisentapplication/x-www-form-urlencoded(encodage de formulaire HTML standard).

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-balances" \
  -d "api-key=YOUR_API_KEY"

Authentification

Chaque requête API doit inclure votreClé APIen tant que paramètre POST.

ParamètreTypeObligatoireDescription
api-keystringOuiVotre clé API. Se trouve dans Paramètres → Compte.
functionstringOuiLe nom de la fonction API à appeler.

Obtenir votre clé API

  1. Connectez-vous àcloud.quantapay.app
  2. Allez dansParamètres → Compte
  3. Copiez votre clé API

Sécurité: Gardez votre clé API secrète. Ne l’exposez pas dans le code côté client ou dans les référentiels publics.

Signature HMAC (facultatif)

Pourcreate-checkout-session, vous pouvez ajouter une vérification de signature HMAC-SHA256 pour empêcher la falsification des requêtes.

Comment ça marche

  1. Construisez la chaîne de données de signature :{price}|{currency}|{order_id}|{timestamp}
  2. Générez HMAC-SHA256 en utilisant votreClé secrète de webhookcomme secret
  3. Incluezsignatureettimestampdans votre requête

Exemple (PHP)

$webhook_secret = 'your-webhook-secret-key';
$price = '49.99';
$currency = 'usd';
$order_id = 'ORD-12345';
$timestamp = time();

$sign_data = $price . '|' . $currency . '|' . $order_id . '|' . $timestamp;
$signature = hash_hmac('sha256', $sign_data, $webhook_secret);

// Include in your API request:
// signature={$signature}&timestamp={$timestamp}

Exemple (Node.js)

const crypto = require('crypto');

const webhookSecret = 'your-webhook-secret-key';
const price = '49.99';
const currency = 'usd';
const orderId = 'ORD-12345';
const timestamp = Math.floor(Date.now() / 1000);

const signData = `${price}|${currency}|${orderId}|${timestamp}`;
const signature = crypto.createHmac('sha256', webhookSecret).update(signData).digest('hex');

Remarque: Le timestamp doit être à moins de 5 minutes de l'heure du serveur, sinon la requête sera rejetée avec le message "Request expired".

Format de réponse

Succès

{
  "success": true,
  "response": { ... }
}

Erreur

{
  "success": false,
  "error_code": "error-code-slug",
  "message": "Human-readable error description"
}

Codes d'erreur

Code d'erreurDescription
missing-function-nameLe paramètrefunctionn'a pas été inclus dans la requête.
function-not-foundLe nom de la fonction spécifiée n'existe pas.
api-key-not-foundLe paramètreapi-keyLe paramètre n'a pas été inclus.
invalid-api-keyLa clé API fournie est incorrecte.
missing-argumentUn paramètre requis est manquant pour la fonction spécifiée.

Limites de débit

Il n'y a pas de limites de débit strictes, mais les requêtes excessives peuvent être limitées. Pour une utilisation typique (moins de 100 requêtes/minute), aucune limitation ne se produira.