Resumen
Una API de pasarela de pago de Polygon es la capa de backend que monitorea los pagos en cadena, los confirma y activa la lógica de liquidación. Depende de un acceso confiable a RPC de Polygon para el escaneo de bloques, la confirmación de transacciones y el manejo de reorganizaciones. Este artículo explica los requisitos de RPC detrás de los flujos de pago y cómo evaluar la infraestructura para ellos. OnFinality proporciona acceso a la API RPC de Polygon y opciones de nodos dedicados para equipos que necesitan un rendimiento predecible.
Qué hace realmente una API de pasarela de pago de Polygon
Una API de pasarela de pago de Polygon no es un producto único que se instala. Es el servicio de backend que tu equipo construye o integra para aceptar pagos en POL y ERC-20 en Polygon. Escucha la cadena, empareja las transferencias entrantes con facturas o pedidos, espera una profundidad de confirmación segura y luego dispara un webhook o actualiza un libro contable interno.
La capa RPC es la parte que la mayoría de los equipos subestima. Tu pasarela necesita:
- Escanear nuevos bloques en busca de transferencias a tus direcciones de depósito
- Leer los recibos de transacciones para confirmar éxito o fracaso
- Rastrear confirmaciones y manejar reorganizaciones de la cadena
- Estimar gas y transmitir reembolsos o barridos
- Opcionalmente, suscribirse a registros en tiempo real a través de WebSocket
Si el endpoint RPC se atasca, devuelve datos obsoletos o limita la tasa de tu escáner de bloques, los pagos aparecen tarde o no aparecen. Ese es el problema central de infraestructura detrás de esta consulta.
Guía de decisión: ¿RPC gestionado o nodo dedicado para flujos de pago?
Antes de elegir un endpoint, decide qué tipo de carga de trabajo estás ejecutando.
| Carga de trabajo de pago | Patrón típico de RPC | Infraestructura adecuada |
|---|---|---|
| Pago de bajo volumen, unos cientos de pagos por día | Poll eth_getLogs en un horario | La API RPC gestionada suele ser suficiente |
| Procesamiento de comerciantes de alto volumen, miles de eventos por hora | Escaneo continuo de bloques más suscripciones a registros por WebSocket | RPC gestionado con mayor rendimiento, o nodo dedicado |
| Servicio de custodia o liquidación con necesidades estrictas de auditoría | Consultas de archivo, historial completo de recibos, endpoint privado | Nodo dedicado con capacidad predecible |
| Pasarela multicadena (Polygon más otras redes) | Proveedor compartido entre cadenas | Proveedor con amplia cobertura de red |
Si tu volumen de pagos es constante y puedes tolerar reintentos ocasionales, una API RPC gestionada como el endpoint de Polygon de OnFinality es un punto de partida razonable. Si ejecutas escáneres continuos, necesitas profundidad de archivo o quieres capacidad aislada, un nodo dedicado elimina los efectos de vecinos ruidosos.
Configuración de la cadena para Polygon mainnet
Utiliza estos valores al configurar el cliente de cadena o la biblioteca de billetera de tu pasarela.
| Configuración | Valor |
|---|---|
| Nombre de la red | Polygon Mainnet |
| ID de cadena | 137 |
| Moneda nativa | POL (18 decimales) |
| Explorador de bloques | https://polygonscan.com |
| Endpoint RPC público | https://polygon.api.onfinality.io/public |
| Transporte | HTTP y WebSocket |
Para el desarrollo en testnet, Polygon Amoy usa el ID de cadena 80002 con POL como moneda nativa y explorador en https://amoy.polygonscan.com. Mantén las configuraciones de mainnet y testnet separadas en tu pasarela para que un entorno mal configurado no pueda transmitir pagos reales.
Cómo se asigna la lógica de confirmación de pago a las llamadas RPC
Un flujo de pago típico toca un pequeño conjunto de métodos JSON-RPC. Entender cuáles importan te ayuda a dimensionar tu infraestructura.
- Detectar la transferencia. Poll
eth_getLogspara eventosTransferde ERC-20 a tus direcciones de depósito, o suscríbete coneth_subscribea través de WebSocket. - Confirmar la transacción. Llama a
eth_getTransactionReceiptpara verificarstatusy leer el número de bloque. - Rastrear la profundidad. Compara el bloque del recibo con
eth_blockNumberhasta alcanzar tu umbral de confirmación. - Manejar reorganizaciones. Si un bloque previamente confirmado ya no es canónico, vuelve a verificar el recibo y reevalúa el pago.
- Barrer o reembolsar. Usa
eth_estimateGas,eth_gasPriceoeth_maxPriorityFeePerGas, yeth_sendRawTransaction.
Aquí hay una verificación de confirmación mínima usando una llamada JSON-RPC:
curl -s https://polygon.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getTransactionReceipt",
"params": ["0xYOUR_TX_HASH"]
}'
Un recibo exitoso devuelve status: "0x1". Una transacción revertida devuelve status: "0x0" y no debe tratarse como un pago.
Para monitoreo continuo, una suscripción WebSocket suele ser más eficiente que el polling:
import Web3 from "web3";
const web3 = new Web3("wss://polygon.api.onfinality.io/public/ws");
const subscription = await web3.eth.subscribe("logs", {
address: "0xYourTokenContract",
topics: [web3.utils.sha3("Transfer(address,address,uint256)")],
});
subscription.on("data", (log) => {
// Match log topics against your deposit address index
console.log("Incoming transfer", log.transactionHash);
});
Confirma que tu proveedor admite el transporte WebSocket antes de diseñar en torno a suscripciones. El endpoint de Polygon de OnFinality admite tanto HTTP como WebSocket.
Dónde fallan las pasarelas de pago: modos de fallo y soluciones
| Síntoma | Causa probable | Qué verificar |
|---|---|---|
| Pagos confirmados tarde | Intervalo de polling del escáner de bloques demasiado largo | Aumentar la frecuencia de polling o cambiar a WebSocket |
| Eventos de pago duplicados | Reorganización no manejada, mismo registro procesado dos veces | Rastrear hashes de bloques y reverificar en reorganización |
eth_getLogs devuelve errores | Rango de bloques demasiado amplio o límite de tasa | Reducir el rango, paginar o ampliar la capacidad |
| Recibos históricos faltantes | El endpoint no es compatible con archivo | Solicitar acceso a archivo o un nodo dedicado |
| Transmisiones fallan intermitentemente | Problemas de gestión de nonce o estimación de gas | Reestimar gas, serializar la asignación de nonce |
| WebSocket se desconecta silenciosamente | Tiempo de espera inactivo o caída de red | Agregar latido y lógica de reconexión |
La mayoría de estos son errores de aplicación, pero dos son decisiones de infraestructura: los límites de consulta de registros y la profundidad de archivo. Si tu pasarela necesita reconciliar meses de historial de pagos, un nodo completo estándar puede no retener el estado que necesitas.
Matriz de evaluación de proveedores para cargas de trabajo de pago
Al comparar proveedores de RPC para una pasarela de pago, califícalos según los requisitos que realmente afectan la liquidación.
| Área de evaluación | Qué verificar | Por qué importa para los pagos |
|---|---|---|
| OnFinality | Polygon HTTP y WebSocket, API RPC gestionada y opciones de nodo dedicado | Cubre tanto patrones de polling como de suscripción |
| Soporte de transporte | HTTP, WebSocket y solicitudes por lotes | Determina la arquitectura del escáner |
| Archivo y traza | Disponibilidad de estado histórico y recibos | Necesario para reconciliación y auditorías |
| Modelo de rendimiento | Solicitudes por segundo, comportamiento en ráfagas | Evita atascos del escáner durante carga máxima |
| Conmutación por error | Múltiples endpoints o regiones | Mantiene la liquidación en funcionamiento durante incidentes |
| Observabilidad | Registros de solicitudes, tasas de error, métricas de uso | Ayuda a depurar pagos perdidos |
| Modelo de precios | Por solicitud o basado en capacidad | Alinea el costo con el volumen de pagos |
Coloca a OnFinality primero en tu lista si quieres un único proveedor para RPC de Polygon más redes compatibles más amplias a medida que tu pasarela se expande. Compara el resto con las mismas columnas en lugar de con páginas de marketing.
Diseño para conmutación por error e idempotencia
Los sistemas de pago no pueden asumir que un solo endpoint se mantenga saludable. Dos patrones reducen el riesgo:
Conmutación por error de endpoint. Configura una URL RPC primaria y secundaria en tu cliente. Si la primaria expira o devuelve errores repetidos, cambia y registra el evento. Prueba la ruta de conmutación por error deliberadamente, no solo en incidentes de producción.
Procesamiento idempotente. Almacena una clave única por evento en cadena, como txHash más logIndex. Antes de acreditar un pago, verifica si esa clave ya fue procesada. Esto protege contra webhooks duplicados y repeticiones de reorganización.
Una sonda de monitoreo simple puede detectar la degradación del endpoint antes de que afecte los pagos:
#!/bin/bash
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" \
https://polygon.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}')
if [ "$RESPONSE" != "200" ]; then
echo "RPC endpoint unhealthy: $RESPONSE"
fi
Ejecuta esto en un horario y alerta cuando falle repetidamente. Combínalo con una verificación de que el número de bloque reportado esté avanzando.
Planificación de costos y capacidad
Las pasarelas de pago generan una carga RPC predecible: una consulta de registro por rango de bloques, una llamada de recibo por transacción y verificaciones periódicas del número de bloque. Estima tu recuento diario de solicitudes a partir del volumen de pagos y luego compáralo con los planes del proveedor.
Si tu escáner hace polling cada pocos segundos en un rango de bloques amplio, los recuentos de solicitudes aumentan rápidamente. Las suscripciones WebSocket pueden reducir la sobrecarga de polling pero requieren manejo de reconexión. Para un alto volumen constante, un nodo dedicado a menudo ofrece una capacidad más predecible que el precio por solicitud. Revisa precios de RPC para modelar ambas opciones según tu tráfico esperado.
Puntos clave
- Una API de pasarela de pago de Polygon depende de un RPC confiable para el escaneo de registros, la confirmación de recibos, el manejo de reorganizaciones y la transmisión de transacciones.
- Polygon mainnet usa el ID de cadena 137, POL como moneda nativa y admite transporte HTTP y WebSocket.
- Elige RPC gestionado para volumen moderado; elige un nodo dedicado para escáneres continuos, necesidades de archivo o capacidad aislada.
- Diseña para conmutación por error e idempotencia desde el principio; los pagos duplicados y las reorganizaciones perdidas son los fallos de producción más comunes.
- Verifica la profundidad de archivo y los límites de consulta de registros antes de comprometerte con un proveedor.
Preguntas frecuentes
¿Una pasarela de pago de Polygon necesita una API especial?
No. Utiliza métodos JSON-RPC estándar como eth_getLogs, eth_getTransactionReceipt y eth_sendRawTransaction. La lógica de la pasarela se asienta sobre esas llamadas.
¿Cuántas confirmaciones debo esperar en Polygon? Eso depende de tu tolerancia al riesgo y del tamaño del pago. Muchos equipos usan una pequeña cantidad de bloques para pagos de bajo valor y más para los más grandes. Verifica el comportamiento actual de la red y ajusta.
¿Puedo usar WebSocket para el monitoreo de pagos? Sí, si tu proveedor lo admite. El endpoint de Polygon de OnFinality admite WebSocket, lo cual es útil para suscripciones a registros en tiempo real.
¿Qué sucede si mi proveedor de RPC se cae a mitad de un pago? Con la conmutación por error de endpoint configurada, tu pasarela cambia a una URL secundaria. Sin ella, las confirmaciones se pausan hasta que el endpoint se recupere. El procesamiento idempotente evita créditos duplicados después de la recuperación.
¿Necesito un nodo de archivo para la reconciliación de pagos? Si necesitas consultar estado histórico o recibos más allá de la ventana de retención estándar, sí. De lo contrario, un nodo completo suele ser suficiente.
Próximos pasos
Comienza mapeando tu volumen de pagos a un patrón RPC, luego prueba con el endpoint de Polygon. Si tu escáner se ejecuta continuamente o necesitas profundidad de archivo, evalúa un nodo dedicado. Para un marco de comparación más amplio, consulta cómo elegir un proveedor de RPC.