API d’encaissement USDC : intégrer BEP20 et Solana
USDC convient aux produits numériques, abonnements et membres utilisant BSC ou Solana. Identifiez d’abord leurs réseaux disponibles. Un nom d’actif identique ne rend pas les transferts entre réseaux équivalents.
Choisir le réseau et le modèle
BSC-USDC (BEP20) et SOL-USDC (SPL) sont pris en charge, avec chainCode=BSC ou SOL. Configurez un portefeuille adapté et affichez réseau, adresse et montant ensemble. TRON-USDC et les futurs réseaux ne sont pas disponibles.
Paramètres et étapes d’intégration
Pour un achat à montant fixe, utilisez POST /openapi/payin/orders. Conservez merchantOrderNo, orderNo, address, cashierUrl et expireAt avant d’ouvrir le checkout retourné. Une liaison dédiée peut servir aux recharges continues.
Ce corps est illustratif : aucune requête n’est envoyée et aucune donnée réelle n’est incluse. L’appel complet exige UID, API Key, timestamp, nonce et signature côté serveur. Transmettez les montants en chaînes et utilisez un calcul exact pour la comptabilité.
{
"chainCode": "BSC",
"tokenSymbol": "USDC",
"merchantOrderNo": "DEMO_PRODUCT_001",
"amount": "10.00",
"notifyUrl": "https://merchant.example.com/payments/notify"
}
Statuts, callbacks et exceptions
Attente et confirmations ne signifient pas prestation terminée. Le succès est completed. Compensez les callbacks absents avec GET /openapi/payin/orders/{orderNo}. Sous-paiements, mauvais actifs ou réseaux et transferts tardifs exigent une analyse, sans promettre de récupération interchaînes.
Si la création d’un encaissement expire sans orderNo, vérifiez l’opération originale dans le tableau de bord. Ne supposez pas que merchantOrderNo garantit une relance idempotente. Avec orderNo, consultez cet ordre. La déduplication des callbacks et la relance de création sont distinctes.
Utilisez l’API Key de l’ordre original et le rawBody inchangé. Vérifiez HMAC-SHA256(timestamp + "." + nonce + "." + rawBody) avec x-callback-signature. Contrôlez ensuite identité, ordre, actif, réseau et montant. Transaction de base de données et contrainte unique évitent les crédits doubles. Répondez HTTP 2xx après persistance fiable ; une redirection ne confirme pas le paiement.
Exemple illustratif d’intégration
Exemple : produit à 10.00 USDC. Créez l’ordre BSC et conservez la référence. Vérifiez le callback completed et enregistrez paiement et droit de téléchargement dans une transaction. Le callback répété n’accorde aucun droit supplémentaire ; un timeout exige la consultation de l’ordre original. Ce n’est pas une transaction client.
Vérifications avant lancement
- La signature valide passe ; modifier le corps original invalide la vérification.
- Un callback répété crédite une seule fois ; un traitement interrompu peut reprendre.
- Requêtes, callbacks, écritures et transactions en chaîne concordent.
- Mauvais réseau, montant anormal, expiration et résultat inconnu nécessitent une enquête.
Intégration et références techniques
- Paramètres API
- Signature des requêtes
- Vérification des callbacks
- Offres et frais réseau
- Tutoriel associé
- API de paiement USDT
- API de paiement USDC
- Encaissement par adresse dédiée
- SDK Node.js
- SDK PHP / Laravel
- Solana: tokens and token accounts
Ces sources expliquent les standards et méthodes techniques ; elles ne constituent pas une approbation d’UUGate. Les paramètres applicables sont dans la documentation UUGate actuelle.