Comment accepter l’USDC sur Monad avec des liens EIP-681

Avec Cosmos Pay, un lien de paiement sur Monad est une demande EIP-681 vers une adresse de dépôt créée pour ce paiement : votre client scanne son QR code avec un wallet EVM et approuve le transfert d’USDC. L’adresse de dépôt ne peut que transférer l’argent à votre adresse, et Cosmos Pay marque le lien comme payé dès que c’est fait. Chaque lien Monad exige un montant.

Ce que contient un lien EIP-681

EIP-681 est la norme Ethereum pour les demandes de paiement que lisent les wallets EVM : un lien ethereum:, ou son QR code, avec le jeton, le réseau et le montant. Le réseau principal de Monad a le chain id 143, et son Testnet le 10143.

Le lien paie une adresse de dépôt créée pour ce paiement, et non directement votre adresse. Son code ne peut envoyer ce qu’elle reçoit qu’à votre adresse : Cosmos Pay ne détient donc aucune clé qui permettrait de déplacer l’argent ailleurs.

Comment l’adresse de dépôt vous paie

  • Cosmos Pay surveille l’adresse de dépôt. Dès qu’elle détient au moins le montant, un relais transfère l’argent à votre adresse, et ce transfert règle le lien.
  • Le relais peut prélever des frais sur le paiement pour ce transfert. Le checkout les affiche, et l’API les indique sur le paiement dans networkFee.
  • Un montant supérieur vous est transféré en entier. Un montant inférieur ne règle pas le lien.
  • Le wallet de votre client règle les frais de réseau Monad de son propre transfert, en MON.

Acceptez votre premier paiement en USDC sur Monad

  1. Passez en Sandbox

    Connectez-vous au tableau de bord et choisissez Sandbox en haut. Les liens que vous y créez fonctionnent sur Monad Testnet, qui n’a pas d’USDC préconfiguré : encaissez en MON, ou indiquez un jeton par son contrat.

  2. Ajoutez votre adresse Monad

    Dans les paramètres de votre organisation, ajoutez l’adresse EVM qui recevra l’argent sur Monad, puis signez ce que le tableau de bord demande pour prouver qu’elle est à vous.

  3. Créez le lien

    Dans Paiements, cliquez sur Créer un lien de paiement, choisissez Monad, saisissez le montant (il est obligatoire) et l’actif, puis votre adresse.

  4. Payez-le depuis un wallet

    Ouvrez la page de paiement et scannez son QR code avec un wallet EVM qui lit les liens EIP-681, sur le même réseau. Approuvez le transfert : le checkout passe à Payé dès que le paiement vous est transféré.

  5. Confirmez-le sur votre serveur

    Ajoutez un endpoint webhook dans le tableau de bord. Quand le paiement est confirmé, Cosmos Pay envoie PAYMENT_INTENT_SUCCEEDED, signé en HMAC-SHA256. Livrez la commande quand cet événement arrive.

  6. Passez en Production

    Choisissez Production et créez une clé d’API de production (elle commence par prod_). Les liens fonctionnent alors sur le réseau principal de Monad, où l’USDC a sa propre préconfiguration.

Créer le lien depuis votre serveur

Appelez POST /v1/payment-intents/pay avec chain défini sur monad, votre adresse comme destination, le montant et, pour l’USDC, le code d’actif avec son contrat comme émetteur, ou passez chain: 'monad' à client.paymentIntents.createPay dans le SDK TypeScript (version 2.2 ou ultérieure). La réponse contient le lien (son uri commence par ethereum:) et son QR code.

Les liens Monad ne prennent pas de message. Pour confirmer un paiement avant l’arrivée du transfert, envoyez le hash de la transaction de votre client (0x et 64 caractères hexadécimaux) à POST /v1/payment-intents/:id/validate.

Bon à savoir

  • Un lien reste ouvert pendant une durée limitée. Un paiement complet qui arrive quand même ensuite vous est transféré et marque le lien comme payé.
  • Un autre paiement vers la même adresse de dépôt est aussi transféré à votre adresse.
  • Avec vos propres frais sur le paiement, l’adresse de dépôt le répartit : vos frais vers votre wallet de frais et le reste vers vous.
  • Chaque paiement paie le tarif de votre offre, le même que sur chaque réseau.

Questions et réponses.

Paiements par réseau :Paiements sur StellarPaiements sur SolanaPaiements sur Monad

Pourquoi le lien paie-t-il une adresse de dépôt et non mon adresse ?

Chaque paiement reçoit sa propre adresse : Cosmos Pay peut ainsi distinguer les paiements sans mémo. L’adresse ne peut transférer ce qu’elle reçoit qu’à votre adresse.

Qui paie les frais sur Monad ?

Le wallet de votre client règle les frais de réseau de son transfert. Les frais du relais pour l’acheminement, quand il y en a, sont prélevés sur le paiement et affichés sur le checkout.

Mon client peut-il choisir le montant ?

Non. Un lien Monad exige un montant. Pour un montant libre, utilisez un lien Stellar ou Solana.

Puis-je tester sur Monad ?

Oui. En Sandbox et avec des clés de test (dv_), les liens fonctionnent sur Monad Testnet. Il n’y a pas d’USDC préconfiguré : encaissez donc en MON ou indiquez un jeton par son contrat.

Commencez à accepter les stablecoins.

Créez un compte gratuit, générez une clé de test et envoyez votre premier lien de paiement dès aujourd’hui.

Écrivez-nous

Une question sur les offres, l’intégration ou les paiements protégés : dites-le-nous, nous répondons par e-mail.

Nous utilisons ces données uniquement pour vous répondre.