Démarrage rapide : Testez votre intégration de paiement en 5 minutes

Team 2 min read 45 views

Testez votre intégration en 5 minutes

Utilisez notre bac à sable API Playground public avec des identifiants de test partagés. Aucun argent réel n'est débité — les commandes n'atteignent jamais les prestataires de paiement en direct.

Étape 1 : Obtenir les identifiants sandbox

Ouvrez /sandbox. Copiez l'ID d'application, la clé API (pour la signature) et la clé de requête (pour la recherche de commande).

Étape 2 : Créer une commande test

Utilisez le formulaire Playground ou envoyez une requête POST signée à /api/createorder :

curl -X POST "https://votre-domaine.com/api/createorder" \
  -H "Content-Type: application/json" \
  -d '{
    "appid": "VOTRE_APPID_SANDBOX",
    "action": "createorder",
    "clientip": "127.0.0.1",
    "amount": "9.99",
    "currency": "USD",
    "paymentMethod": "alipay",
    "description": "Commande de test",
    "notify_url": "https://votre-domaine.com/api/sandbox/webhook-receiver",
    "sign_type": "MD5",
    "sign": "SIGNATURE_MD5_CALCULEE"
  }'

Le Playground calcule la signature MD5 pour vous. Voir Documentation API — Signature pour l'algorithme.

Étape 3 : Simuler le paiement

Ouvrez le redirectUrl de la réponse de création de commande (ou utilisez Simuler le paiement dans le Playground). Cliquez sur Simuler le succès. La passerelle met en file d'attente un webhook vers votre notify_url.

Étape 4 : Vérifier la signature du webhook

Les callbacks sont envoyés en tant que requêtes GET avec des paramètres de requête incluant sign et sign_type=MD5. Vérifiez en utilisant le même algorithme que pour la création de commande, avec votre clé API.

// Exemple Node.js (conceptuel)
const crypto = require('crypto');
function verifyCallback(params, apiKey) {
  const copy = { ...params };
  delete copy.sign;
  delete copy.sign_type;
  const keys = Object.keys(copy).filter(k => copy[k] != null).sort();
  const str = keys.map(k => k + '=' + copy[k]).join('&') + apiKey;
  const expected = crypto.createHash('md5').update(str).digest('hex');
  return expected === params.sign;
}

Votre serveur doit répondre avec le texte brut success (insensible à la casse).

Étape 5 : Consulter le statut de la commande

GET /api/order?action=order&appid=APPID&key=QUERY_KEY&paymentId=ORDER_ID

Ou interrogez le point d'accès public : GET /api/order/status/:orderId

Passer en production

Référence complète : Documentation de l'API · Tests en direct : Bac à sable

Étiquettes : api, sandbox, integration, webhook

← Tous les articles