- Documentación general de x402: https://docs.cdp.coinbase.com/x402/docs/overview
- Ejemplo de código abierto de x402: https://github.com/coinbase/x402
- La cadena de pago se completa en Base Mainnet, utilizando USDC como activo;
- Debe utilizarse la clave privada EVM de una billetera con fondos para generar el encabezado de firma
X-PAYMENT; - Todas las API se encuentran bajo el dominio
https://platform.acedata.cloud, y el encabezadoAuthorizationdebe incluir el Token de Plataforma.
I. Preparativos
1. Verificar el pedido y registrar la información de pago
Inicia sesión en la consola https://platform.acedata.cloud, donde podrás ver los pedidos que requieren pago en la lista de pedidos o en la página de detalles del pedido. Los detalles del pedido mostrarán:- ID del pedido (por ejemplo,
7744945e-5e77-4dcc-a9c4-528692d17b34); - Dirección de pago
pay_to(también se devolverá en la respuesta 402, se recomienda basarse en la información de la página).
pay_to, ya que necesitarás asegurarte de que los fondos se envíen a esa dirección al firmar más adelante.
2. Preparar la billetera de pago y los fondos
- Prepara una billetera EVM que soporte la red Base y exporta la clave privada que se utilizará;
- Carga suficiente USDC en la red Base (la unidad de pago es la unidad mínima de 6 decimales);
- El facilitador de x402 pagará las tarifas de red, la billetera de pago solo necesita mantener suficiente USDC;
- La clave privada se utiliza únicamente para la firma local, por favor, mantenla segura y evita exponerla en navegadores o entornos no confiables.
3. Crear el Token de Plataforma
El Token de Plataforma se utiliza para llamar a la API de la plataforma, similar a la funcionalidad del Token de usuario que se utiliza en el navegador después de iniciar sesión, pero no caduca. Sigue estos pasos para crear uno:- Abre la página de la consola https://platform.acedata.cloud/console/platform-tokens;
- Haz clic en “Crear Token”, completa la información de referencia según las indicaciones y genera el token;
- Copia el Token generado (por ejemplo,
platform-v1-xxxx) y guárdalo comoplatform_token.
En todas las llamadas a la API posteriores, el encabezado debe incluir:
4. Solicitar información básica
- Dominio base de la API:
https://platform.acedata.cloud - Ruta de solicitud de pago:
/api/v1/orders/{order_id}/pay/ - Tanto las solicitudes como las respuestas utilizan JSON, codificado en UTF-8.
II. Resumen del Proceso de Pago
- Iniciar la solicitud de pago: Primera solicitud
POSTsin el encabezadoX-PAYMENT, lo que activa la respuesta 402 Payment Required de la plataforma; - Leer los requisitos de pago: Analiza el array
acceptsen la respuesta 402, confirmando quenetworkseabase,assetsea USDC, y quepayTocoincida con la página del pedido; - Generar
X-PAYMENT: Utiliza la clave privada de la billetera de pago, los requisitos del cuerpo de respuesta, y la información del dominio EIP-712 devuelta por el facilitador para generar la firma (normalmente se completa con la ayuda del SDK oficial); - Reintentar con la firma: Agrega el encabezado
X-PAYMENTa la solicitud en la misma ruta, y tras la verificación exitosa de la plataforma, se devuelve un 200; - Analizar el resultado: Lee el encabezado de respuesta
X-PAYMENT-RESPONSE, donde puedes obtener el hash de la transacción en cadena, el monto real deducido y otra información para la conciliación.
III. Ejemplo de Integración
1. Primera solicitud (activar 402)
network: debe serbase(Base Mainnet);asset: dirección del contrato de USDC en Base (ejemplo de contrato en la red principal oficial);maxAmountRequired: unidad atómica de USDC requerida para este pago (1 USDC = 1,000,000 unidades atómicas);payTo: dirección de pago de la plataforma, debe coincidir con la página de detalles del pedido;extra: información del dominio EIP-712 necesaria para la firma, etc.
2. Generar X-PAYMENT
La práctica común es utilizar el SDK oficial (como x402-js, x402-fetch, x402.clients, etc.):
- Convierte la clave privada de la billetera de pago en un objeto de cuenta;
- Registra los datos
acceptsde la respuesta 402, eligiendo la opción de pago dondenetwork == "base"; - Llama a la función de firma proporcionada por el SDK para generar la cadena
X-PAYMENTcodificada en Base64 (no es necesario que el cliente se conecte directamente al facilitador; el backend de la plataforma se encargará de llamar al facilitador para completar la verificación/liquidación); - Se recomienda verificar si
maxAmountRequiredestá dentro del rango aceptable, y si excede, notificar al usuario que debe recargar.
extra.eip712 antes de firmar.
3. Reintentar con la firma
X-PAYMENT-RESPONSE se puede decodificar utilizando la función de decodificación del SDK para obtener el hash de la transacción en cadena, la red de pago, la dirección del pagador y otros datos, que se pueden utilizar para la contabilización o visualización en el negocio.
IV. Ejemplos de Código en Múltiples Lenguajes
Los siguientes ejemplos suponen que se inyectan a través de variables de entorno o archivos de configuración:ACE_PLATFORM_TOKEN:Token de la plataforma;ACE_X402_ORDER_ID:ID del pedido;ACE_X402_PRIVATE_KEY:Clave privada de la billetera de pago (con prefijo0x).
1. Axios(TypeScript)
2. Fetch(JavaScript)
3. Python requests
4. Python httpx(asíncrono)
Ejemplo solo muestra llamadas clave, en producción se debe agregar manejo de excepciones, estrategias de reintento, registro y control de seguridad.
Cinco, verificación después del pago exitoso
- Verificación en consola: Acceda a la página de detalles del pedido
https://platform.acedata.cloud/console/orders/{order_id}, si la página muestra “pago exitoso” o el estado del pedido ha cambiado a pagado/completado, significa que la liquidación en la cadena se ha completado. - Verificación de API: Llame a
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/y lleveAuthorization: Bearer {platform_token}, verifique el campostateen la respuesta (PAIDoFINISHEDindica que el pago fue exitoso). - Cabecera de respuesta: En la respuesta del pago exitoso, lea
X-PAYMENT-RESPONSE, se puede analizar el hash de la transacción en la cadena como comprobante final; se recomienda guardar esta información en el registro del sistema para conciliación.
Seis, solución de problemas comunes
- Aún devuelve 402: Confirme que la dirección de pago tiene suficiente USDC en la red principal de Base, verifique si
maxAmountRequiredexcede el saldo de la billetera o el límite personalizado. - Fallo en la firma: Asegúrese de que la clave privada tenga el prefijo
0x; al firmar, use estrictamente elextra(dominio EIP-712) ypayTode la respuesta, no cambie el orden de los campos. - Red no coincide: Puede haber múltiples requisitos en
accepts, elija la opciónnetwork === "base". - Falta
X-PAYMENT-RESPONSE: Indica que el pago no se ha deducido realmente, puede reiniciar según el error en el cuerpo de la respuesta; si hay congestión en la cadena, intente nuevamente más tarde. - Token de plataforma inválido: Confirme que el token no ha sido eliminado y comienza con el prefijo
platform-v1-; si la interfaz devuelve 401, puede regenerarlo en la consola.
Siete, más ayuda
- Documentación en línea y preguntas frecuentes: Navegación en la parte superior de la consola de la plataforma “Documentación”.
- Envío de tickets y soporte al cliente: https://platform.acedata.cloud/support
- Interacción comunitaria: Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
- Otros canales: Correo electrónico
office@acedata.cloud,office@germey.tech; dirección de la empresa 651 N Broad St, Suite 201, Middletown, Delaware, EE. UU.; para soporte de WeChat, consulte el código QR más reciente en la página de soporte. - Comentarios y sugerencias: Bienvenido a informarnos sobre necesidades de mejora a través de cualquiera de los canales anteriores.

