Mode Public Key
Le mode Public Key est concu pour les integrations navigateur. Le frontend utilise une public_key pour obtenir un token de session court, puis creer des commandes et consulter leur statut sans exposer une API Key.
Flux d'integration
- Generez une Public Key dans le tableau de bord marchand et activez l integration frontend.
- Configurez la liste blanche des domaines autorises.
- Le navigateur appelle /api/v1/sdk/token avec la Public Key.
- Le token de session retourne sert a appeler /api/v1/sdk/orders.
- Redirigez vers payment_url ou interrogez le statut de la commande.
Le mode Public Key actuel ne demande plus de signature de parametres cote frontend. Utilisez de preference le SDK JavaScript ou les appels API manuels ci-dessous.
Obtenir la Public Key
- Connectez-vous au tableau de bord PonponPay.
- Ouvrez la page "Frontend Integration".
- Activez l integration frontend.
- Generez et copiez la Public Key au format pub_xxx.
Liste blanche de domaines
La Public Key ne peut etre utilisee que depuis les domaines autorises. Le backend verifie Origin ou Referer.
- Autorisez localhost uniquement en developpement.
- Utilisez les vrais domaines en production.
- Les sous-domaines wildcard comme *.example.com sont pris en charge.
Si votre page tourne dans un iframe, une WebView ou une couche intermediaire, Origin peut ne pas etre envoye de facon stable. Verifiez Origin et Referer avant la mise en production.
Recommande : SDK JavaScript
npm install @ponponpay/sdkInitialiser le client
import { PonponPayClient } from '@ponponpay/sdk/browser';
const client = new PonponPayClient({
publicKey: 'pub_your_public_key',
baseUrl: 'https://api.ponponpay.com'
});Creer une commande
const order = await client.createOrder({
currency: 'USDT',
network: 'tron',
amount: 100,
orderId: 'ORDER_123456',
notifyUrl: 'https://your-site.com/webhook',
redirectUrl: 'https://your-site.com/success'
});
window.location.href = order.paymentUrl;Consulter le statut
const status = await client.getOrderStatus(order.tradeId);
console.log(status.status);Pour plus de details SDK, consultez la section JavaScript SDK ou le README du depot.
Integration API manuelle
1. Obtenir un token court
const tokenRes = await fetch('https://api.ponponpay.com/api/v1/sdk/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
public_key: 'pub_your_public_key',
timestamp: Date.now()
})
});
const tokenData = await tokenRes.json();
const token = tokenData.data.token;2. Creer une commande avec le token
const orderRes = await fetch('https://api.ponponpay.com/api/v1/sdk/orders', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`
},
body: JSON.stringify({
currency: 'USDT',
network: 'tron',
amount: 100,
order_id: 'ORDER_123456',
notify_url: 'https://your-site.com/webhook',
redirect_url: 'https://your-site.com/success'
})
});
const orderData = await orderRes.json();
window.location.href = orderData.data.payment_url;3. Consulter le statut
const statusRes = await fetch(
'https://api.ponponpay.com/api/v1/sdk/orders/T20240101120000123456/status',
{
headers: {
Authorization: `Bearer ${token}`
}
}
);
const statusData = await statusRes.json();
console.log(statusData.data.status);Limites fonctionnelles
| Capacite | Support | Description |
|---|---|---|
| Creer une commande | ✅ | Pris en charge via les APIs token order du SDK. |
| Consulter le statut | ✅ | Uniquement pour les commandes du marchand associe a la Public Key. |
| APIs admin completes | ❌ | Non exposees au navigateur en mode Public Key. |
| Exposer API Key dans le navigateur | ❌ | A ne jamais faire. Utilisez uniquement Public Key. |
Securite
- La Public Key peut etre publique, mais ne fonctionne que sur les domaines autorises.
- Les tokens de session sont courts et doivent etre renouveles avant expiration.
- Le backend verifie timestamp, domaine d origine et limites frontend du marchand.
- Utilisez toujours HTTPS en production.
Si vous avez besoin d APIs de gestion cote serveur, utilisez le mode API Key.