Para aceptar USDC online, primero define la representación exacta del token y las rutas blockchain que admite el negocio. Después crea una solicitud separada para cada pedido, muestra juntos el token, la red, el importe, la dirección y la expiración, y marca el pedido como pagado únicamente mediante un resultado fiable del servidor. Una transferencia manual puede servir para ventas ocasionales; un enlace rastreable mejora los cobros por chat o email; una invoice por API es adecuada cuando el sitio debe asociar pago y pedido automáticamente.
| Decisión | Respuesta mínima segura |
|---|---|
| ¿Qué activo se acepta? | El contrato o mint exacto de USDC configurado para una red explícita |
| ¿Qué implementación? | Transferencia manual, enlace rastreable o invoice por API según el flujo |
| ¿Qué ve el cliente? | Concepto, importe exacto, red, dirección/QR, expiración y estado |
| ¿Cuándo se paga el pedido? | Tras una transacción confirmada y asociada a la invoice correcta |
| ¿Dónde llegan los fondos? | Wallet del comercio, saldo del proveedor o payout fiat elegido antes del lanzamiento |
Define qué USDC vas a aceptar
USDC es una stablecoin denominada en dólares y emitida por Circle en varias blockchains. Circle afirma que está respaldada por efectivo y equivalentes líquidos y publica información de reservas en su página de transparencia. Esto ayuda a evaluar el activo, pero no configura por sí mismo un checkout seguro.
Cada ruta debe fijar blockchain, contrato o mint y dirección receptora. El ticker USDC no es suficiente. Una wallet puede mostrar con el mismo nombre USDC nativo de Circle y una representación bridged o pegged. Circle publica las direcciones oficiales de USDC y distingue versiones como USDC.e, que pueden no estar emitidas ni respaldadas por Circle.
No copies al checkout todas las redes del catálogo del emisor. Que Circle admita una blockchain no significa que la wallet del comercio, la exchange del cliente o el producto de pago admitan esa misma ruta. La configuración activa y el contrato exacto del checkout son la fuente final para el comprador.
Elige el modelo según el proceso comercial
| Modelo | Cuándo encaja | Responsabilidad del negocio |
|---|---|---|
| Transferencia manual | Pocos pagos supervisados | Instrucciones, verificación, asociación y excepciones |
| Enlace de pago rastreable | Servicios y ventas por chat/email | Crear invoice, operar wallet, refunds y registros |
| API y hosted checkout | Ecommerce, SaaS y servicios online | Pedido local, integración, fulfilment y excepciones |
| Procesador custodial | El negocio acepta saldo interno | Acceso, retiro y conciliación |
| Liquidación convertida | El negocio quiere fiat u otro activo | Elegibilidad, payout, conversión y contabilidad |
Una dirección reutilizable carece de contexto comercial. Si dos clientes envían 100 USDC a la misma wallet, la blockchain no sabe qué pedido paga cada transferencia. El enlace rastreable da a la obligación un importe, plazo y estado. La API conecta la invoice al order ID antes del pago.
Un consultor con un cobro mensual puede preferir un enlace; un servicio que concede acceso sin operador necesita estado server-side y fulfilment resistente a duplicados. Consulta el caso de uso de enlaces de pago y el caso de uso para sitios.
Activa redes según el uso real
Para cada ruta confirma que la wallet o exchange del cliente puede enviar la representación exacta, la wallet del comercio reconoce el contrato, el producto monitorea el mismo contract/mint y el equipo sabe financiar network fees y ejecutar un refund.
GramPayBot ofrece actualmente rutas USDC configuradas en Ethereum, Optimism, BNB Smart Chain, Base, Polygon, Arbitrum y Solana. No todas deben llamarse USDC nativo de Circle: el contrato actual de BNB Smart Chain no figura en la lista nativa de Circle. Trata el catálogo y sus contratos como información actual del producto, no como promesa permanente del emisor. Habilita solo las rutas visibles en el proyecto y aceptadas por la wallet receptora. Lee wallets y redes.
Más redes no garantizan mejor conversión. Cada una añade saldo, ruta de refund, token para gas y caso de soporte. Dos rutas bien probadas y usadas por los clientes son mejores que una lista que el equipo no sabe operar.
Crea una invoice por obligación
Crea primero el pedido ecommerce, top-up, plan o hito en el sistema del comercio y asígnale un ID inmutable. Después crea la payment invoice y guarda el ID devuelto junto al pedido. En la API envía la referencia local mediante payload y usa un Idempotency-Key estable para que un retry después de un timeout no genere dos checkouts activos.
La relación separa dos preguntas: ¿llegó una transferencia USDC válida y qué pedido puede avanzar? La blockchain responde la primera; la relación order-to-invoice responde la segunda. El modelo completo está en cómo asociar pagos cripto con pedidos.
Muestra una instrucción completa
El checkout debe reunir concepto, importe exacto de USDC, nombre completo de la red, dirección y QR, tiempo restante y estado actual. No envíes dirección y red en mensajes diferentes. Varias redes EVM usan direcciones 0x, por lo que la wallet no puede deducir la ruta. En una exchange, el nombre de withdrawal network debe coincidir con el checkout.
No supongas los decimales. USDC nativo de Circle suele usar seis, mientras que la ruta actual de BNB Smart Chain en GramPayBot usa 18. Muestra el importe exacto de la invoice, toma precision del route catalog y usa decimal arithmetic, no binary float.
Verifica en el servidor
La return page es interfaz, no prueba de liquidación. La pestaña puede cerrarse antes de confirmar, una URL antigua puede reabrirse y el estado client-side puede manipularse. Un screenshot o tx hash del cliente tampoco basta: un hash real puede apuntar a otro token, red, destinatario, importe o pedido.
Para revisión manual, compara status, token contract, recipient y amount en el explorer correcto siguiendo el checklist de verificación. Un sitio automatizado debe usar API autenticada o webhook firmado. Guarda tx hash y timestamps con el pedido.
El handler debe ser idempotente. Verifica la firma sobre el raw body, registra una clave estable de event/delivery, responde rápido y garantiza que el fulfilment solo se confirme una vez. Un paid repetido no puede entregar dos productos ni acreditar dos veces.
Define custody, settlement y excepciones
Un proveedor puede acreditar saldo interno, otro convertir a fiat y una herramienta direct-to-wallet monitorear mientras el dinero llega a la wallet del comercio. Son modelos diferentes. Dibuja el camino de fondos y compara acceso, conversión, fees, payout y refund. En el modelo directo solo se comparte la public address, nunca seed phrase ni private key.
Escribe reglas para pagos tardíos, importes insuficientes o excesivos, otro contrato, red equivocada, invoice antigua y refunds. No conviertas esos casos silenciosamente a paid. Conserva la evidencia y envíala a revisión autorizada. Una transferencia por red equivocada puede ser irrecuperable; un monitor no puede firmar un refund desde la wallet del comercio.
Elige una ruta USDC compatible
Revisa la matriz completa de rutas antes de activar una red. Compara el USDC nativo en Ethereum, Base, Polygon y Arbitrum con el activo exacto del remitente.
Cómo encaja GramPayBot
GramPayBot crea invoices USDC manualmente o por API, ofrece hosted checkout y monitorea la ruta compatible mientras los fondos llegan directamente a la public wallet configurada. El sitio envía su order reference en payload y recibe el estado por API o webhook firmado.
GramPayBot se ocupa de la solicitud, el checkout y el resultado; el comercio controla pedido, wallet, fulfilment, refund, treasury y contabilidad. Antes de una entrega automática, implementa el API quickstart y los webhooks firmados.
Empieza con un producto, una red y una transferencia real pequeña. Confirma contrato, llegada, estado paid, order reference y tx hash. Después prueba expiry, webhook duplicado e importe incorrecto sin fulfilment. Un buen flujo USDC ofrece una instrucción inequívoca al cliente y un resultado verificable y asociado al pedido al negocio.
Siguiente paso
Automatiza la verificación en tu sitio
Crea una invoice por pedido, usa hosted checkout y recibe un resultado vinculado al pedido.
Ver pagos para sitios web →