Skip to main content
Además de pagar directamente por solicitudes de API, Ace Data Cloud también admite pagar pedidos del panel de control con X402. El protocolo central del pago de pedidos y las llamadas a API es el mismo: la primera solicitud devuelve 402, el cliente firma PAYMENT-SIGNATURE, y luego reintenta con la misma solicitud. La diferencia es que el pago de pedidos pertenece a la API de la plataforma y requiere un token de cuenta; mientras que la llamada directa a la API de IA de x402.acedata.cloud puede usar solo X402, sin necesidad de un API Token.

Preparar el pedido

Accede a la consola de Ace Data Cloud, selecciona el pedido que necesitas pagar y registra el ID del pedido. Si aún no tienes un pedido, puedes crear un pedido pendiente de pago en la página de planes. El precio del pedido se basa en lo que muestra la página, y el amount de la respuesta X402 402 es la base final para la firma.

Crear un token de cuenta

Las solicitudes de pago de pedidos requieren un token de cuenta. Abre la página de Token de la plataforma y crea un token con formato platform-v1-.... Las solicitudes posteriores usan:
El token de cuenta es diferente de un API Token común. Los API Tokens comunes se usan para consumir cuotas de API; los tokens de cuenta se usan para operar recursos de la plataforma en representación de tu cuenta, como el pago de pedidos.

Activar 402

Primero envía una solicitud sin PAYMENT-SIGNATURE:
El estado devuelto es 402, y la respuesta contiene accepts:
El pago de pedidos utiliza el x402 v2 oficial: x402Version es 2, network usa el identificador CAIP-2 y el campo de importe es amount. Resultado de ejecución del programa al crear un pedido de 10 Credits y activar 402:
Los siguientes registros de transacciones son muestras históricas probadas bajo la política anterior; el importe y el hash de transacción se conservan tal cual. Los nuevos pedidos X402 ya no tienen descuentos por método de pago; usa el amount de la respuesta 402 actual como base para la firma y el pago.
Explicación de los resultados:
  • Después de crear correctamente el pedido, el estado es Pending; en este momento aún no hay pago en cadena.
  • La primera solicitud pay/ no lleva PAYMENT-SIGNATURE, por lo que devuelve HTTP 402.
  • accepts proporciona simultáneamente Base exact y Solana exact; este tutorial elige Base posteriormente.
  • El precio al crear el pedido es 1.26; al pagar durante la antigua política de descuentos de pago X402, el importe real de firma y liquidación fue 1.2 USDC, correspondiente a 1200000 atomic USDC.
Ten en cuenta que aquí resource es un campo devuelto por el servidor y que participa en la firma; el cliente no debe reescribir por sí mismo el protocolo, la ruta ni el ID del pedido incluidos en él.

Firmar y reintentar

El pago de pedidos puede reutilizar las funciones de firma de bajo nivel de @acedatacloud/x402-client o acedatacloud-x402. A continuación se muestra un ejemplo de TypeScript:
Resultado de ejecución del programa después de firmar y reintentar el mismo pedido con Base exact:
Resultado de la confirmación en cadena:
Explicación del resultado:
  • status 200 indica que la interfaz de pago de pedidos de la plataforma aceptó esta PAYMENT-SIGNATURE.
  • has_x_payment_response True indica que el encabezado de respuesta contiene un recibo PAYMENT-RESPONSE codificado en Base64.
  • settle_header.success=True y network=base indican que el Facilitator ha completado la liquidación de Base.
  • El estado final del pedido es Finished, pay_way es X402, y pay_id escribe el hash de la transacción en cadena.
  • El evento Transfer en BaseScan muestra que la dirección pagadora transfirió 1200000 USDC atómicos a la dirección receptora de la plataforma, es decir, 1.2 USDC.

Respuesta exitosa y recibo

Después de que el pago del pedido se realiza correctamente, el cuerpo de la respuesta contiene la información del pedido. La plataforma también llevará en el encabezado de respuesta PAYMENT-RESPONSE una respuesta de liquidación codificada en Base64; después de decodificarla, los campos comunes incluyen: Si necesitas realizar conciliación, se recomienda guardar simultáneamente el ID del pedido, la dirección de la billetera pagadora, transaction y el estado final del pedido.

Consideraciones

  • El pago del pedido requiere el token de cuenta de la plataforma, no puede completarse solo con la firma de la billetera X402.
  • amount usa unidades atómicas de USDC, 1200000 representa 1.2 USDC.
  • No construyas por tu cuenta la dirección receptora ni la dirección del activo; prevalece accepts en la respuesta 402.
  • Si la misma PAYMENT-SIGNATURE se envía repetidamente, el Facilitator realizará protección contra repeticiones según el nonce.

Respuesta de fallo de pago

El primer HTTP 402 sin PAYMENT-SIGNATURE es un desafío de pago normal y no representa un fallo de pago. El fallo de verificación o liquidación después de la firma aún conserva la cadena estándar error como respaldo de compatibilidad, y devuelve una estructura de error estable en extensions.acedatacloud.paymentError:
El cliente debe priorizar la localización según code; los códigos desconocidos deben volver al fallo de pago genérico. charged es un campo de tres estados: solo devolverá explícitamente false cuando se rechace antes de la liquidación; la ausencia del campo indica que el estado del cobro es desconocido y no puede interpretarse como “no cobrado”. Después de que el pedido actual entra en Failed, no se puede reintentar el pedido original; crea un nuevo pedido después de corregir el problema de la billetera. No registres ni envíes la PAYMENT-SIGNATURE completa, la firma de la billetera, el payload de autorización, los diagnósticos originales del Facilitator ni las respuestas RPC. Para la investigación del servicio de atención al cliente solo se necesitan el ID del pedido y el code de error público.