- Document d’aperçu x402 : https://docs.cdp.coinbase.com/x402/docs/overview
- Exemples open source x402 : https://github.com/coinbase/x402
- Le lien de paiement est complété sur le réseau principal Base, les actifs utilisés sont USDC ;
- Il est nécessaire d’utiliser la clé privée EVM du portefeuille pour générer l’en-tête de signature
X-PAYMENT; - Toutes les API se trouvent sous le domaine
https://platform.acedata.cloud, l’en-têteAuthorizationdoit inclure le Token de Plateforme.
I. Préparatifs
1. Vérifier les commandes et enregistrer les informations de paiement
Connectez-vous à la console https://platform.acedata.cloud, dans la liste des commandes ou la page de détails de la commande, vous pouvez voir les commandes à payer. Les détails de la commande afficheront :- ID de commande (par exemple
7744945e-5e77-4dcc-a9c4-528692d17b34) ; - Adresse de paiement
pay_to(qui sera également renvoyée dans la réponse 402, il est conseillé de se fier aux informations de la page).
pay_to, car elle doit être garantie lors de l’envoi de fonds.
2. Préparer le portefeuille de paiement et les fonds
- Préparez un portefeuille EVM prenant en charge le réseau principal Base et exportez la clé privée à utiliser ;
- Rechargez suffisamment de USDC sur le réseau principal Base (le montant de paiement est exprimé en unités atomiques avec 6 décimales) ;
- Le Facilitateur x402 paiera les frais de réseau, le portefeuille de paiement doit simplement conserver suffisamment d’USDC ;
- La clé privée est uniquement utilisée pour la signature locale, veuillez la garder en sécurité et éviter de l’exposer dans un navigateur ou un environnement non fiable.
3. Créer un Token de Plateforme
Le Token de Plateforme est utilisé pour appeler l’API de la plateforme, similaire à la fonction du Token utilisateur utilisé dans le navigateur après connexion, mais il ne périme pas. Veuillez suivre les étapes suivantes pour le créer :- Ouvrez la page de la console https://platform.acedata.cloud/console/platform-tokens ;
- Cliquez sur « Créer Token », remplissez les informations de remarque selon les instructions, puis générez ;
- Copiez le Token généré (par exemple
platform-v1-xxxx), conservez-le en toute sécurité en tant queplatform_token.
Tous les appels API ultérieurs doivent inclure dans l’en-tête :
4. Demander des informations de base
- Domaine de base de l’API :
https://platform.acedata.cloud - Chemin de requête de paiement :
/api/v1/orders/{order_id}/pay/ - Les requêtes et réponses utilisent toutes deux JSON, encodé en UTF-8.
II. Aperçu du processus de paiement
- Initier la requête de paiement : première requête
POSTsans en-têteX-PAYMENT, déclenchant la plateforme pour renvoyer 402 Payment Required ; - Lire les exigences de paiement : analyser le tableau
acceptsdans la réponse 402, confirmer quenetworkestbase,assetest USDC,payToest cohérent avec la page de commande ; - Générer
X-PAYMENT: utiliser la clé privée du portefeuille de paiement, les exigences du corps de réponse, les domaines EIP-712 renvoyés par le Facilitateur, etc., pour générer une signature (généralement à l’aide du SDK officiel) ; - Réessayer avec la signature : ajouter l’en-tête
X-PAYMENTà la requête du même chemin, la plateforme vérifiant avec succès renvoie 200 ; - Analyser les résultats : lire l’en-tête de réponse
X-PAYMENT-RESPONSE, qui peut fournir le hachage de la transaction en chaîne, le montant réellement débité, etc., pour la réconciliation.
III. Exemples d’intégration
1. Première requête (déclenchement de 402)
network: doit êtrebase(réseau principal Base) ;asset: adresse du contrat USDC sur Base (exemple de contrat principal officiel) ;maxAmountRequired: unité atomique d’USDC requise pour ce paiement (1 USDC = 1 000 000 unités atomiques) ;payTo: adresse de paiement de la plateforme, doit être cohérente avec la page de détails de la commande ;extra: informations de domaine EIP-712 nécessaires pour la signature, etc.
2. Générer X-PAYMENT
La pratique courante consiste à utiliser le SDK officiel (comme x402-js, x402-fetch, x402.clients, etc.) :
- Convertir la clé privée du portefeuille de paiement en objet de compte ;
- Enregistrer les données
acceptsde la réponse 402, choisir l’option de paiement oùnetwork == "base"; - Appeler la fonction de signature fournie par le SDK pour générer une chaîne
X-PAYMENTencodée en Base64 (pas besoin de connexion directe au facilitateur côté client ; le backend de la plateforme se chargera d’appeler le facilitateur pour vérifier/régler) ; - Il est conseillé de vérifier si
maxAmountRequiredest dans la plage acceptable, sinon rappeler à l’utilisateur de recharger.
extra.eip712 avant de signer.
3. Réessayer avec la signature
X-PAYMENT-RESPONSE peut être décodé à l’aide de la fonction de décodage du SDK pour obtenir le hachage de la transaction en chaîne, le réseau de paiement, l’adresse du payeur, etc., pour la comptabilité ou l’affichage.
IV. Exemples de code multilingues
Les exemples suivants supposent tous que les variables d’environnement ou les fichiers de configuration sont injectés :ACE_PLATFORM_TOKEN: Token de la plateforme ;ACE_X402_ORDER_ID: ID de la commande ;ACE_X402_PRIVATE_KEY: Clé privée du portefeuille de paiement (avec le préfixe0x).
1. Axios (TypeScript)
2. Fetch (JavaScript)
3. Python requests
4. Python httpx (asynchrone)
Exemple uniquement pour démontrer les appels clés, veuillez ajouter la gestion des exceptions, la stratégie de réessai, les journaux et le contrôle de sécurité dans un environnement de production.
Cinq, vérification après le succès du paiement
- Vérification dans la console : Accédez à la page de détails de la commande
https://platform.acedata.cloud/console/orders/{order_id}, si la page affiche « paiement réussi » ou que l’état de la commande est devenu payé/terminé, cela signifie que le règlement sur la chaîne est terminé. - Vérification API : Appelez
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/avecAuthorization: Bearer {platform_token}, vérifiez le champstatedans la réponse (PAIDouFINISHEDindique un paiement réussi). - En-tête de retour : Lisez
X-PAYMENT-RESPONSEdans la réponse de paiement réussie, vous pouvez analyser le hachage de la transaction sur la chaîne comme preuve finale ; il est conseillé de conserver cette information dans les journaux du système pour la réconciliation.
Six, dépannage des problèmes courants
- Retourne toujours 402 : Assurez-vous que l’adresse de paiement a suffisamment de USDC sur le réseau principal Base, vérifiez si
maxAmountRequireddépasse le solde du portefeuille ou la limite personnalisée. - Échec de la signature : Assurez-vous que la clé privée a le préfixe
0x; lors de la signature, utilisez strictementextra(domaine EIP-712) etpayTodans l’ordre des champs, ne modifiez pas l’ordre des champs. - Incompatibilité de réseau : Il peut y avoir plusieurs exigences dans
accepts, veuillez choisir l’optionnetwork === "base". - Manque de
X-PAYMENT-RESPONSE: Cela signifie que le paiement n’a pas été réellement débité, vous pouvez relancer en fonction de l’erreur dans le corps de la réponse ; en cas de congestion sur la chaîne, veuillez réessayer plus tard. - Token de plateforme invalide : Assurez-vous que le Token n’a pas été supprimé et commence par le préfixe
platform-v1-; si l’interface retourne 401, vous pouvez le régénérer dans la console.
Sept, plus d’aide
- Documentation en ligne et questions fréquentes : navigation en haut de la console de la plateforme « Documentation ».
- Soumettre un ticket et support client : https://platform.acedata.cloud/support
- Échanges communautaires : Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
- Autres canaux : e-mail
office@acedata.cloud,office@germey.tech; adresse de l’entreprise 651 N Broad St, Suite 201, Middletown, Delaware, USA ; pour le service client WeChat, veuillez consulter le dernier code QR sur la page de support. - Retours et suggestions : N’hésitez pas à nous faire part de vos besoins d’amélioration par l’un des canaux ci-dessus.

