← Volver al blog

Pagos Crypto para Marketplaces: Una Cuenta, la Billetera de Cada Vendedor

· 5 min read
marketplace channels api guide

Si operas un marketplace — o cualquier plataforma donde multiples vendedores reciben pagos — crypto crea un problema especifico: cada vendedor necesita su propio destino de pago. La mayoria de procesadores de pago te obligan a crear una cuenta de comerciante separada por vendedor, gestionar claves API separadas y conciliar entre todas.

MutoPay toma un enfoque diferente. Una cuenta de comerciante, una clave API y un canal por vendedor. Cada canal dirige los pagos a la billetera de ese vendedor, en su cadena preferida, con su token preferido. Todo gestionado a traves de una sola API.

No operas un marketplace? Para una sola aplicacion o sitio que acepta pagos para ti mismo, no necesitas una master key. Crea un canal en el panel (Ajustes → Canales), copia su clave API ep_… y el secreto de webhook, y listo. Consulta Como aceptar pagos con crypto para la configuracion minima. La master key de abajo solo es necesaria cuando tu backend aprovisiona canales de forma programatica para terceros.

El modelo

Un canal es una via de pago aislada bajo tu cuenta. Cada uno tiene:

  • Su propia clave API (para crear pagos atribuidos a ese vendedor)
  • Destino de liquidacion propio (cadena, token, direccion de billetera)
  • URL de Webhook propio (para notificar al servidor de cada vendedor independientemente)

Una clave API maestra te permite crear y configurar canales programaticamente — sin necesidad de iniciar sesion en el navegador. Tu servidor aprovisiona vendedores automaticamente.

El resultado: cuando un comprador paga en la tienda del Vendedor A, los fondos van directamente a la billetera del Vendedor A. Los pagos del Vendedor B van a la billetera del Vendedor B. Tu nunca tocas los fondos.

Configuracion: tres llamadas API por vendedor

Cuando un nuevo vendedor se registra en tu plataforma y proporciona su direccion de billetera, tu servidor hace tres llamadas:

1. Crear un canal

curl -X POST https://mutopay.com/api/merchant/channels \
  -H "Authorization: Bearer msk_<your_master_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Vendor: Acme Widgets",
    "webhook_url": "https://acme-widgets.com/webhooks/mutopay"
  }'

La respuesta incluye el ID del canal y una clave API de canal (ep_...). Guarda ambos — la clave se muestra una sola vez.

2. Establecer el destino de liquidacion del vendedor

curl -X PUT https://mutopay.com/api/merchant/channels/ch_abc123/settlement \
  -H "Authorization: Bearer msk_<your_master_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "preferred_token": "USDC",
    "preferred_chain_id": "137",
    "wallet_address": "0xVendorWalletAddress..."
  }'

Ahora cualquier pago creado a traves de este canal se liquida en la billetera del vendedor en Polygon como USDC.

3. Crear pagos usando la clave API del canal

curl -X POST https://mutopay.com/api/payments \
  -H "X-API-Key: ep_<channel_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 49.99,
    "currency": "USD",
    "external_id": "order_5821",
    "description": "Acme Widgets — Order #5821"
  }'

El pago se atribuye automaticamente al canal. El comprador ve la pagina de pago, paga con cualquier token que tenga, y los fondos llegan a la billetera del vendedor como USDC.

Que te da esto

Sin cuentas por vendedor. No registras cada vendedor como un comerciante separado. Una cuenta, N canales.

Sin custodia. Los fondos van directamente a la billetera del vendedor. Nunca retienes, custodias ni reenvias crypto.

Claves independientes. Si la integracion de un vendedor se ve comprometida, revocas la clave de ese canal. Nada mas se ve afectado.

Webhooks por vendedor. Cada canal puede tener su propia URL de webhook. El servidor del Vendedor A es notificado sobre los pagos del Vendedor A.

Cadenas y tokens mixtos. El Vendedor A liquida en USDC en Polygon. El Vendedor B quiere USDT en Arbitrum. El Vendedor C prefiere su billetera TON. Cada canal es independiente.

Automatizando la incorporacion de vendedores

Un flujo tipico:

  1. El vendedor se registra en tu plataforma, ingresa su direccion de billetera y cadena preferida
  2. Tu servidor llama a POST /api/merchant/channels para crear un canal
  3. Tu servidor llama a PUT /api/merchant/channels/:id/settlement con los detalles de la billetera
  4. Almacenas el ID del canal y la clave API en tu base de datos, asociados con ese vendedor
  5. Al crear pedidos para este vendedor, usas la clave API del canal en X-API-Key

Para dar de baja a un vendedor:

curl -X POST https://mutopay.com/api/merchant/channels/ch_abc123/revoke \
  -H "Authorization: Bearer msk_<your_master_key>"

Su clave API deja de funcionar inmediatamente. Los pagos completados existentes no se ven afectados.

Lo que MutoPay no hace

Para establecer expectativas: MutoPay dirige pagos a una billetera destino. No divide un pago entre multiples billeteras, no retiene fondos en deposito, ni aplica una estructura de comisiones. Si tu marketplace cobra una comision, lo manejas en la logica de tu aplicacion.

Para quien es esto

  • Marketplaces multi-vendedor (productos artesanales, productos digitales, servicios)
  • Plataformas SaaS que incorporan sub-comerciantes (estilo Shopify, tiendas de marca blanca)
  • Agencias que gestionan pagos para multiples clientes
  • Configuraciones WooCommerce multi-vendedor (Dokan, WCFM)
  • Plataformas de freelance donde cada freelancer recibe pagos directamente

Comenzar

  1. Inicia sesion en tu panel de MutoPay
  2. Ve a Configuracion y genera una clave API maestra
  3. Usa la documentacion API para comenzar a crear canales programaticamente

La API completa de gestion de canales esta documentada en mutopay.com/api/docs.