Aller au contenu
Crypto Merchant

Alternatives

Alternative à Coinbase Commerce : Crypto Merchant vs Coinbase Commerce (2026)

Coinbase Commerce a fermé après le 31 mars 2026 : Coinbase l’a intégré à Coinbase Business, qui n’accepte que les entreprises immatriculées aux États-Unis et à Singapour, et a invité les autres marchands à « passer à un autre fournisseur ». Crypto Merchant convient aux marchands situés hors de ces deux pays qui veulent continuer à accepter l’USDC et d’autres cryptos via une API ou des liens de paiement. Ce n’est pas le bon choix si vous voulez détenir vos propres clés comme avec Commerce, ou si vous avez besoin de plugins ou d’un règlement bancaire.

Dernière vérification : 29 octobre 2026

Cette comparaison a été rédigée par Crypto Merchant, et nous ne sommes affiliés à aucune des passerelles citées ici. Chaque information sur un concurrent provient des pages du fournisseur lui-même, dont les liens figurent sous le tableau. Les prix et les conditions changent : vérifiez-les avant de décider.

Comment Crypto Merchant se compare-t-il à Coinbase Commerce ?

Coinbase Business, le successeur de Commerce, conserve les fonds comme Crypto Merchant, mais ne sert que les États-Unis et Singapour et n’accepte que l’USDC et l’USDT. Crypto Merchant accepte les inscriptions de tous les pays et 11 cryptos, mais n’a ni plugins ni versements bancaires.

CaractéristiqueCrypto MerchantCoinbase Business
Frais de paiement1 % de chaque facture payée, dans la crypto utilisée, déduit lors du crédit. Les factures expirées ou annulées ne coûtent rien.1 % pour les marchands venus de Commerce. Pas de tarif public pour les nouveaux marchands : Coinbase indique qu’il faut se connecter pour voir les frais actuels.[1][2]
Frais mensuels et d’inscriptionAucun, et pas de frais d’inscription. Il n’y a aucun paiement à effectuer pour activer le compte : un compte est actif dès que la configuration est terminée.« Pas de frais de dossier ». Frais mensuels non confirmés.[2]
ConversionEn option : tout convertir dans une seule crypto de conservation. Le taux est le prix du marché en temps réel et inclut une marge de service de 1 %.Les paiements sont réglés en USDC. La conversion automatique de l’USDC en USD « est soumise à des frais » ; le montant n’est pas public.[2][3]
Versements et retraitsÀ tout moment, avec des frais de gas par versement. Pas de minimum fixe pour les versements manuels ; les automatiques attendent 5 $ par crypto. Chaque crypto vers sa propre adresse, ou d’abord convertie dans une seule crypto de conservation.Retrait vers votre banque « à tout moment », « sans blocage, sans minimum », et un produit Payouts. L’ancien outil de retrait de Commerce est définitivement désactivé après le 31 mars 2026.[1][2][3]
KYC ou KYB à l’inscriptionE-mail, nom et nom d’entreprise. Nous ne demandons pas de pièces d’identité lorsque vous créez un compte.Une entité commerciale immatriculée et un compte bancaire professionnel.[1][2]
Conservation des fondsAvec conservation (custodial). Nous détenons les clés ; chaque portefeuille provient d’une seule phrase de récupération conservée hors ligne sur papier. Les paiements sont regroupés dans un portefeuille pool dédié à votre entreprise.Avec conservation uniquement. Commerce (ancienne version) fonctionnait en auto-conservation.[1]
Cryptos et réseaux11 cryptos sur 11 réseaux. USDT sur Ethereum, BNB Smart Chain, Polygon, Arbitrum One, Tron et Solana. USDC sur Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum One et Solana. Plus BTC, ETH, LTC, SOL, XRP, BNB, TRX, POL et GRAM (TON).USDC sur Ethereum, Base, Polygon, Optimism, Avalanche et Arbitrum. USDT sur Ethereum uniquement, aux États-Unis et dans certaines juridictions. Aucune acceptation de BTC, ETH, SOL ou TRX indiquée.[3]
Restrictions par paysToute personne, dans n’importe quel pays, peut s’inscrire. Les Conditions interdisent les biens illégaux, la fraude et le contournement des sanctions.Entreprises aux États-Unis et à Singapour uniquement.[2]
Plugins e-commerceAucun : pas de plugin WooCommerce, Shopify ou WHMCS. Utilisez les liens de paiement, la page de paiement hébergée ou l’API.WooCommerce, Magento (Adobe Commerce) et WHMCS, plus les logiciels comptables QuickBooks et Xero.[1][3]
Règlement en monnaie fiat (banque)Non. Crypto uniquement : les versements vont vers des adresses crypto.Oui : retraits vers votre compte bancaire professionnel.[1][3]
API et webhooksAPI REST avec clés Bearer pour les factures, les liens de paiement, les soldes et les cryptos. Webhooks signés avec HMAC-SHA256, relancés pendant environ deux jours.API Checkouts et paiements par agents x402.[3]
Liens de paiementOui : liens à prix fixe ou à prix libre, une page de paiement hébergée et des factures.Oui : liens de paiement et facturation.[3]
Tous les coûts de Crypto Merchant figurent sur la page des tarifs, et tous les champs de l’API dans la Référence de l’API.

Sources

Chaque information sur Coinbase Commerce dans le tableau provient de ces pages, vérifiées le 29 octobre 2026. « Non confirmé » signifie qu’aucune d’elles ne l’indiquait.

  1. [1]Aide Coinbase : passer de Commerce à Business: https://help.coinbase.com/en/transitioning-from-coinbase-commerce-to-coinbase-business
  2. [2]Coinbase Business: https://www.coinbase.com/business
  3. [3]Coinbase Business : checkouts: https://www.coinbase.com/business/features-checkouts

Quand Coinbase Commerce est-il le meilleur choix ?

Coinbase Business est le meilleur choix si votre entreprise est immatriculée aux États-Unis ou à Singapour et que vous voulez l’argent sur un compte bancaire.

  • Votre entreprise est immatriculée aux États-Unis ou à Singapour et dispose d’un compte bancaire professionnel. Vous pouvez passer à Coinbase Business, et Coinbase indique que les marchands venus de Commerce conservent un tarif de 1 %.
  • Vous voulez des dollars à la banque : Coinbase Business verse sur votre compte bancaire. Crypto Merchant verse uniquement en crypto.
  • Vous utilisez WooCommerce, Magento ou WHMCS, ou tenez votre comptabilité dans QuickBooks ou Xero. Coinbase Business fonctionne avec eux ; Crypto Merchant n’a pas de plugins.
  • Vous voulez un fournisseur qui a fait ses preuves et qui a des avis. Crypto Merchant a été lancé le 28 octobre 2026 et n’a encore ni l’un ni l’autre.

Quand Crypto Merchant convient-il mieux ?

Crypto Merchant convient mieux si vous êtes hors des États-Unis et de Singapour, ou si vos clients ne paient pas qu’en USDC.

  • Votre entreprise est située hors des États-Unis et de Singapour. Toute personne, dans n’importe quel pays, peut s’inscrire, et nous ne demandons pas de pièces d’identité lorsque vous créez un compte.
  • Vos clients paient en USDT sur Tron ou un autre réseau, ou en BTC, ETH, SOL, LTC, XRP, BNB, TRX, POL ou GRAM. Coinbase Business accepte l’USDC, et l’USDT uniquement sur Ethereum.
  • Vous voulez un prix publié : 1 % par facture payée et pas de frais mensuels.
  • Vous migrez une intégration de développeur. Les factures, une API REST et des webhooks signés couvrent ce que faisait une intégration Commerce, et le guide ci-dessous fait correspondre chaque étape.

Comment passer de Coinbase Commerce à Crypto Merchant ?

Inscrivez-vous, terminez la configuration, puis redirigez votre paiement et vos webhooks vers Crypto Merchant. Il n’y a pas de plugin à installer : vous utilisez les liens de paiement, la page de paiement hébergée ou l’API.

  1. 1

    Créez un compte

    Inscrivez-vous avec votre e-mail, votre nom et le nom de votre entreprise. Nous ne demandons pas de pièces d’identité lorsque vous créez un compte.

  2. 2

    Choisissez vos cryptos

    Activez les cryptos et les réseaux souhaités. Il n’y a aucun paiement à effectuer pour activer le compte : votre compte est actif dès que la configuration est terminée.

  3. 3

    Commencez à recevoir des paiements

    Partagez votre page de paiement, créez des liens de paiement ou des factures dans le portail, ou créez des factures depuis votre site avec l’API.

  4. 4

    Redirigez vos webhooks

    Ajoutez l’adresse HTTPS de votre serveur sous Développeurs, vérifiez l’en-tête CM-Signature de chaque événement, et traitez les commandes sur invoice.paid. Tous les détails dans Webhooks.

  5. 5

    Migrez votre intégration

    Si votre site créait des charges Commerce via l’API, suivez le guide de migration ci-dessous. Sinon, remplacez les anciens liens ou boutons de paiement de votre site par des liens de paiement Crypto Merchant ou par votre page de paiement.

Comment migrer de Coinbase Commerce vers Crypto Merchant ?

Votre intégration Commerce créait des charges et recevait des webhooks. Avec Crypto Merchant, vous créez une facture pour chaque commande, envoyez le client vers sa page de paiement et traitez des webhooks signés. Les étapes ci-dessous font correspondre chaque tâche à notre API ; la Référence de l’API détaille tous les champs.

Ce qui remplace quoi

Tâche dans votre ancienne intégrationAvec Crypto Merchant
Créer un paiement pour une commandePOST /invoicesCréer une facture avec le montant, la devise et votre numéro de commande.
Envoyer le client payercheckout_urlRediriger vers l’URL de paiement de la facture.
Associer vos propres données au paiementmetadataN’importe quel objet JSON jusqu’à 4 Ko, renvoyé avec la facture et dans les webhooks.
Être averti quand un paiement aboutitinvoice.paidUn endpoint de webhook qui vérifie la signature, puis traite la commande sur cet événement.
Vérifier un paiementGET /invoices/{id}Récupérer la facture.
Rapprocher les paiements des commandesGET /invoices?status=paidLister les factures payées, page par page.
Retirer une demande de paiement non payéePOST /invoices/{id}/cancelAnnuler la facture, avant qu’un paiement soit détecté.

1. Créez une facture au lieu d’une charge

Créez une clé API dans le portail, sous Développeurs (les clés réelles commencent par cm_live_), et gardez-la sur votre serveur. Votre compte doit d’abord être activé : tant que la configuration n’est pas terminée, l’API répond 403 avec le code merchant_not_live. Ensuite, partout où votre code créait une charge, créez une facture. Le montant doit valoir au moins 0,50 dollar américain.

curl · Créer une facture
curl https://cryptomerchant.online/api/v1/invoices \
  -H "Authorization: Bearer $CM_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "49.90",
    "currency": "USD",
    "order_id": "1042",
    "redirect_url": "https://yourstore.example/orders/1042",
    "metadata": { "cart_id": "c_8812" }
  }'
Réponse (abrégée)
{
  "id": "inv_…",
  "object": "invoice",
  "status": "open",
  "amount": "49.9",
  "currency": "USD",
  "amount_usd": "49.9",
  "order_id": "1042",
  "metadata": { "cart_id": "c_8812" },
  "coin": null,
  "pay_address": null,
  "pay_amount": null,
  "checkout_url": "https://cryptomerchant.online/pay/i/inv_…",
  "redirect_url": "https://yourstore.example/orders/1042",
  "expires_at": "2026-10-30T10:30:00.000Z",
  …
}

La réponse, avec le statut 201, est l’objet facture. Enregistrez son id avec votre commande. Son statut est d’abord open.

2. Envoyez les clients vers l’URL de paiement

Redirigez le client vers le checkout_url de la facture. Il y choisit une crypto et un réseau, obtient une adresse de dépôt utilisée pour cette facture uniquement, et voit le montant exact à un taux bloqué. Définissez redirect_url pour le ramener sur votre site après le paiement. Si aucun paiement n’est détecté avant expires_at, la facture expire.

Commerce fonctionnait sur Ethereum, Polygon et Base, et Crypto Merchant accepte l’USDC sur les trois. Pour sauter le choix de la crypto, transmettez coin, par exemple USDC.BASE : pay_address et pay_amount sont alors renvoyés remplis, et vous pouvez afficher vous-même les détails du paiement.

Créer la facture et rediriger · Node.js, Express
// orders: your own data layer
app.post("/orders/:id/pay", async (req, res) => {
  const order = await orders.find(req.params.id);

  const r = await fetch("https://cryptomerchant.online/api/v1/invoices", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.CM_SECRET_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      amount: order.total, // for example "49.90"
      currency: "USD",
      order_id: order.id,
      redirect_url: `https://yourstore.example/orders/${order.id}`,
    }),
  });
  if (!r.ok) {
    const { error } = await r.json();
    throw new Error(`${error.code}: ${error.message}`);
  }

  const invoice = await r.json();
  await orders.update(order.id, { invoiceId: invoice.id });
  res.redirect(303, invoice.checkout_url);
});

3. Vérifiez la signature du webhook

Ajoutez l’adresse HTTPS de votre endpoint sous Développeurs. Chaque endpoint reçoit son propre secret de signature, qui commence par whsec_. Chaque événement est un POST avec un en-tête CM-Signature : t= un horodatage Unix en secondes, puis v1= le HMAC-SHA256 en hexadécimal de l’horodatage, d’un point et du corps brut, calculé avec le secret de votre endpoint.

Calculez-le sur le corps brut avant d’analyser le JSON, comparez-le en temps constant, et rejetez les horodatages de plus de cinq minutes. Répondez avec un statut 2xx en moins de 10 secondes ; toute autre réponse entraîne une nouvelle tentative, jusqu’à huit fois sur environ deux jours.

Vérifier, dédupliquer et traiter les événements · Node.js, Express
import crypto from "node:crypto";
import express from "express";

// CM-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">
function verify(rawBody, header, secret) {
  const parts = Object.fromEntries(
    String(header ?? "").split(",").map((p) => p.trim().split("=")),
  );
  if (!parts.t || !parts.v1) return false;
  const expected = crypto
    .createHmac("sha256", secret) // your endpoint secret, whsec_…
    .update(`${parts.t}.${rawBody}`)
    .digest("hex");
  const a = Buffer.from(expected);
  const b = Buffer.from(parts.v1);
  if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) return false;
  return Math.abs(Date.now() / 1000 - Number(parts.t)) <= 300; // 5 minutes
}

const app = express();

// db, tx.webhookEvents, tx.orders: your own data layer
app.post(
  "/webhooks/crypto-merchant",
  express.raw({ type: "application/json" }), // keep the raw body for the signature
  async (req, res) => {
    const raw = req.body.toString("utf8");
    if (!verify(raw, req.get("CM-Signature"), process.env.CM_WEBHOOK_SECRET)) {
      return res.sendStatus(400);
    }
    const event = JSON.parse(raw);
    const invoice = event.data;

    try {
      await db.transaction(async (tx) => {
        // A unique key on the event id: a repeated delivery is skipped.
        const isNew = await tx.webhookEvents.insertIfAbsent(event.id);
        if (!isNew) return;

        if (event.type === "invoice.paid") {
          await tx.orders.markPaid(invoice.order_id, invoice.id); // one-way: never moves back
        } else if (event.type === "invoice.expired" || event.type === "invoice.cancelled") {
          await tx.orders.cancelIfUnpaid(invoice.order_id);
        }
      });
    } catch {
      return res.sendStatus(500); // not 2xx: Crypto Merchant tries again later
    }
    res.sendStatus(200); // within 10 seconds
  },
);

4. Faites correspondre les statuts de paiement

Ne traitez les commandes que sur invoice.paid, et faites correspondre les autres statuts à votre système de commandes comme ci-dessous. Une facture insuffisamment payée peut encore devenir payée si le client envoie le reste à la même adresse.

StatutÉvénement webhookSignificationCe que votre système de commandes doit faire
openinvoice.createdCréée. Le client n’a pas encore choisi de crypto.En attente de paiement.
awaiting_paymentAucunUne crypto est choisie, l’adresse de dépôt est attribuée et le taux est bloqué.Toujours en attente : le client a choisi comment payer.
confirminginvoice.confirmingUn paiement a été détecté sur la blockchain et attend des confirmations.Afficher « paiement reçu, en cours de confirmation ». Ne pas encore expédier.
underpaidinvoice.underpaidIl manque au paiement confirmé plus que votre tolérance. Le client peut payer le reste ou demander un remboursement.Ne pas expédier. Le client peut payer le reste ou demander un remboursement.
paidinvoice.paidPayée et confirmée. Le montant, moins les frais, est sur votre solde. Un remboursement partiel conserve ce statut.Marquer la commande comme payée et la traiter.
expiredinvoice.expiredLe délai a expiré avant qu’un paiement soit détecté.Libérer le stock ou annuler la commande.
cancelledinvoice.cancelledLa facture a été annulée avant qu’un paiement soit détecté.Annuler la commande.
refundedinvoice.refundedLe client a été remboursé de ce qu’il avait envoyé sur une facture insuffisamment payée, ou vous avez remboursé tout ce que vous aviez conservé sur une facture payée.Annuler la commande : le client a récupéré ses cryptos.

5. Gérez les webhooks en double et dans le désordre

Les événements peuvent arriver plusieurs fois, et pas toujours dans l’ordre. Enregistrez l’id de chaque événement (également envoyé dans l’en-tête CM-Event-Id) sous une clé unique, dans la même transaction de base de données que la mise à jour de la commande, et ignorez les événements déjà enregistrés. Rendez les changements de statut irréversibles, afin qu’un invoice.confirming tardif ne fasse jamais reculer une commande payée. Avant d’expédier un article de valeur, récupérez la facture via l’API pour revérifier son statut.

6. Rapprochez

Listez les factures payées 100 par 100, en suivant starting_after tant que has_more vaut true, et rapprochez chacune d’une commande grâce à order_id ou metadata.

Récupérer toutes les factures payées · Node.js
// Every paid invoice, newest first. Match each one to an order by order_id.
async function paidInvoices() {
  const all = [];
  let after = null;
  do {
    const url = new URL("https://cryptomerchant.online/api/v1/invoices");
    url.searchParams.set("status", "paid");
    url.searchParams.set("limit", "100");
    if (after) url.searchParams.set("starting_after", after);

    const r = await fetch(url, {
      headers: { Authorization: `Bearer ${process.env.CM_SECRET_KEY}` },
    });
    const page = await r.json();
    all.push(...page.data);
    after = page.has_more ? page.data[page.data.length - 1].id : null;
  } while (after);
  return all;
}

Votre solde est crédité du montant de la facture (ou du montant légèrement inférieur reçu, si un paiement insuffisant dans la limite de votre tolérance a été accepté), moins les frais de 1 %, dans la crypto utilisée. Les paiements excédentaires ne vous sont pas crédités : Crypto Merchant conserve l’excédent pour le client, qui peut le retirer depuis la page de la facture. La page Rapports du portail fournit le brut, les frais et le net pour n’importe quelle période au format CSV, et GET /balances indique ce que vous détenez actuellement.

Questions fréquentes

Qu’est devenu Coinbase Commerce ?
Coinbase a fusionné Commerce avec Coinbase Business. Les marchands devaient migrer avant le 31 mars 2026 ; ensuite, le portail Commerce est devenu inaccessible et son outil de retrait a été définitivement désactivé. Coinbase Business est réservé aux entreprises immatriculées aux États-Unis et à Singapour, et Coinbase a invité les autres marchands à passer à un autre fournisseur.
Quelle est la meilleure alternative à Coinbase Commerce hors des États-Unis ?
Si vous voulez détenir vos propres clés comme avec Commerce, un outil auto-hébergé sans conservation comme BTCPay Server est l’option la plus proche. Si un service hébergé avec conservation vous convient, Crypto Merchant accepte les inscriptions de tous les pays sans documents, accepte l’USDC sur Ethereum, Polygon et Base, les réseaux qu’utilisait Commerce, et propose une API avec des webhooks signés. Il n’a ni plugins ni versements bancaires.
Combien coûte Coinbase Business ?
Coinbase indique que les marchands venus de Commerce conservent des frais de 1 %. Il ne publie pas de tarif pour les nouveaux marchands : sa page dédiée aux entreprises indique qu’il faut se connecter pour voir les frais actuels, et la conversion de l’USDC en USD entraîne des frais non publiés. Crypto Merchant prélève 1 % de chaque facture payée et aucun frais mensuel.
Crypto Merchant conserve-t-il les fonds comme Coinbase Business ?
Oui. Crypto Merchant détient les clés de votre portefeuille pool et de vos adresses de dépôt, toutes dérivées d’une seule phrase de récupération conservée hors ligne, et tient un solde pour vous jusqu’à ce que vous demandiez un versement. Coinbase Business conserve aussi les fonds. Commerce fonctionnait en auto-conservation : c’est donc un changement si vous venez de Commerce.
Puis-je continuer à accepter l’USDC sur Base ?
Oui. Crypto Merchant accepte l’USDC sur Base, Ethereum, Polygon, Arbitrum One, BNB Smart Chain et Solana, et l’USDT sur six réseaux, dont Tron. Les frais de réseau pour déplacer les tokens sont payés avec votre solde de gas.

Autres passerelles comparées

Toutes les passerelles dans un seul tableau

Commencez à accepter les cryptos dès aujourd’hui

Inscription gratuite, aucun document à fournir pour s’inscrire, 1 % par facture payée et des versements quand vous le souhaitez.