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
- Créez un compte marchand et utilisez votre
appid,apikeyetkeyde production. - Définissez votre véritable
notify_urldans les paramètres du compte ou par commande. - Ne jamais exposer la clé API dans le code côté client.
- Toujours vérifier les signatures des webhooks côté serveur.
Référence complète : Documentation de l'API · Tests en direct : Bac à sable