Skip to main content
x402 é um protocolo de pagamento em blockchain baseado no padrão HTTP 402 Payment Required, que permite que o chamador complete a liquidação em blockchain ao iniciar uma solicitação de API, sendo muito adequado para cenários de cobrança por chamada entre programas automatizados, Agentes de IA e microsserviços. Através deste guia, você pode programaticamente realizar o pagamento de pedidos da AceDataCloud em seu próprio sistema, proporcionando uma experiência de “solicitação é pagamento”. Referências de documentação oficial: Este documento é destinado a desenvolvedores que precisam integrar a capacidade de pagamento x402 da plataforma AceDataCloud em seus negócios, apresentando o fluxo completo desde a preparação do ambiente até a conclusão da chamada de pagamento, e fornecendo exemplos de código em Axios, Fetch, Python requests e httpx. Pontos principais:
  • O link de pagamento é concluído na rede principal Base, utilizando USDC como ativo;
  • É necessário usar a chave privada EVM da carteira que possui os ativos para gerar o cabeçalho de assinatura X-PAYMENT;
  • Todas as APIs estão localizadas sob o domínio https://platform.acedata.cloud, e o cabeçalho Authorization deve incluir o Token da Plataforma.

I. Preparativos

1. Verificar o pedido e registrar as informações de recebimento

Faça login no console https://platform.acedata.cloud, na lista de pedidos ou na página de detalhes do pedido você pode ver o pedido que precisa ser pago. Os detalhes do pedido mostrarão:
  • ID do pedido (por exemplo, 7744945e-5e77-4dcc-a9c4-528692d17b34);
  • Endereço de recebimento pay_to (também será retornado na resposta 402, recomenda-se considerar as informações da página como referência).
Por favor, registre o ID do pedido e confirme o endereço pay_to, pois será necessário garantir que os fundos sejam enviados para esse endereço durante a assinatura.

2. Preparar a carteira de pagamento e os fundos

  • Prepare uma carteira EVM que suporte a rede principal Base e exporte a chave privada a ser utilizada;
  • Carregue a rede principal Base com a quantidade suficiente de USDC (o valor do pagamento deve ser em unidades mínimas com 6 casas decimais);
  • O Facilitador x402 pagará as taxas de rede, a carteira de pagamento só precisa manter USDC suficiente;
  • A chave privada é usada apenas para assinatura local, mantenha-a em segurança e evite expô-la em navegadores ou ambientes não confiáveis.

3. Criar Token da Plataforma

O Token da Plataforma é usado para chamar a API da plataforma, semelhante à funcionalidade do Token de usuário usado no navegador após o login, mas não expira. Siga os passos abaixo para criar:
  1. Abra a página do console https://platform.acedata.cloud/console/platform-tokens;
  2. Clique em “Criar Token”, preencha as informações de anotação conforme solicitado e gere;
  3. Copie o Token gerado (por exemplo, platform-v1-xxxx) e guarde-o como platform_token.
platform-token Todos os cabeçalhos de chamadas de API subsequentes devem incluir:

4. Solicitar informações básicas

  • Domínio base da API: https://platform.acedata.cloud
  • Caminho da solicitação de pagamento: /api/v1/orders/{order_id}/pay/
  • Solicitações e respostas usam JSON, codificado em UTF-8.

II. Visão Geral do Fluxo de Pagamento

  1. Iniciar solicitação de pagamento: primeira solicitação POST sem o cabeçalho X-PAYMENT, acionando a plataforma a retornar 402 Payment Required;
  2. Ler requisitos de pagamento: analisar o array accepts na resposta 402, confirmando que network é base, asset é USDC, e payTo é consistente com a página do pedido;
  3. Gerar X-PAYMENT: usar a chave privada da carteira de pagamento, os requisitos do corpo da resposta, e as informações do domínio EIP-712 retornadas pelo Facilitador para gerar a assinatura (geralmente com a ajuda do SDK oficial);
  4. Repetir com a assinatura: adicionar o cabeçalho X-PAYMENT à solicitação do mesmo caminho, e a plataforma retornará 200 após a validação bem-sucedida;
  5. Analisar resultados: ler o cabeçalho de resposta X-PAYMENT-RESPONSE, onde é possível obter o hash da transação em blockchain, o valor efetivamente debitado, entre outras informações para conciliação.

III. Exemplos de Integração

1. Primeira solicitação (aciona 402)

Resposta típica 402 (a ordem dos campos pode variar ligeiramente):
Descrição dos campos-chave:
  • network: deve ser base (rede principal Base);
  • asset: endereço do contrato USDC na Base (exemplo do contrato oficial da rede principal);
  • maxAmountRequired: unidade atômica de USDC necessária para este pagamento (1 USDC = 1.000.000 unidades atômicas);
  • payTo: endereço de recebimento da plataforma, deve ser consistente com a página de detalhes do pedido;
  • extra: informações do domínio EIP-712 necessárias para a assinatura, etc.

2. Gerar X-PAYMENT

A prática comum é usar o SDK oficial (como x402-js, x402-fetch, x402.clients, etc.):
  1. Converter a chave privada da carteira de pagamento em um objeto de conta;
  2. Registrar os dados accepts da resposta 402, escolhendo a opção de pagamento onde network == "base";
  3. Chamar a função de assinatura fornecida pelo SDK para gerar a string X-PAYMENT codificada em Base64 (não é necessário conectar diretamente ao facilitador; o backend da plataforma será responsável por chamar o facilitador para concluir a verificação/liquidação);
  4. Recomenda-se verificar se maxAmountRequired está dentro do intervalo aceitável, caso contrário, alertar o usuário para recarregar.
Se precisar implementar manualmente, consulte a documentação oficial do x402 e construa a estrutura EIP-712 conforme as informações do domínio extra.eip712 antes de assinar.

3. Repetir com a assinatura

Se o pagamento for bem-sucedido, o status da resposta será 200, e o corpo da resposta retornará as informações atualizadas do pedido, incluindo:
X-PAYMENT-RESPONSE pode ser decodificado usando a função de decodificação do SDK para obter o hash da transação em blockchain, a rede de pagamento, o endereço do pagador e outros dados, para fins de contabilização ou exibição.

IV. Exemplos de Código em Múltiplas Linguagens

Os exemplos a seguir assumem que as variáveis de ambiente ou arquivos de configuração são injetados:
  • ACE_PLATFORM_TOKEN:Token da Plataforma;
  • ACE_X402_ORDER_ID:ID do Pedido;
  • ACE_X402_PRIVATE_KEY:Chave privada da carteira de pagamento (com prefixo 0x).

1. Axios(TypeScript)

2. Fetch(JavaScript)

3. Python requests

4. Python httpx(assíncrono)

O exemplo apenas demonstra chamadas-chave, em ambiente de produção, por favor, adicione tratamento de exceções, estratégias de repetição, logs e controles de segurança.

Cinco, Verificação após o pagamento bem-sucedido

  • Verificação no console: Acesse a página de detalhes do pedido https://platform.acedata.cloud/console/orders/{order_id}, se a página mostrar “Pagamento bem-sucedido” ou o status do pedido tiver mudado para pago/concluído, isso significa que a liquidação na blockchain foi concluída.
  • Verificação da API: Chame GET https://platform.acedata.cloud/api/v1/orders/{order_id}/ e inclua Authorization: Bearer {platform_token}, verifique o campo state na resposta ( PAID ou FINISHED indica pagamento bem-sucedido).
  • Cabeçalho de retorno: Leia X-PAYMENT-RESPONSE na resposta de pagamento bem-sucedido, pode-se decodificar o hash da transação na blockchain como o comprovante final; recomenda-se salvar essa informação nos logs do sistema para conciliação.

Seis, Resolução de Problemas Comuns

  • Ainda retorna 402: Confirme se o endereço de pagamento possui USDC suficiente na rede Base, verifique se maxAmountRequired excede o saldo da carteira ou limite personalizado.
  • Falha na assinatura: Certifique-se de que a chave privada tenha o prefixo 0x; ao assinar, use estritamente o extra (domínio EIP-712) e payTo da resposta, não altere a ordem dos campos.
  • Rede não correspondente: Pode haver múltiplos requisitos em accepts, escolha a opção network === "base".
  • Falta de X-PAYMENT-RESPONSE: Indica que o pagamento não foi realmente debitado, pode-se reiniciar com base no erro no corpo da resposta; se houver congestionamento na blockchain, tente novamente mais tarde.
  • Token da plataforma inválido: Confirme se o Token não foi excluído e começa com o prefixo platform-v1-; se a interface retornar 401, pode-se regenerar no console.

Sete, Mais Ajuda

  • Documentação online e perguntas frequentes: Navegação “Documentação” no topo do console da plataforma.
  • Envio de tickets e suporte ao cliente: https://platform.acedata.cloud/support
  • Comunidade: Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
  • Outros canais: E-mail office@acedata.cloud, office@germey.tech; endereço da empresa 131 Continental Dr, Suite 305, Newark, DE 19713, EUA; para suporte via WeChat, consulte o código QR mais recente na página de suporte.
  • Feedback e sugestões: Sinta-se à vontade para nos informar sobre necessidades de melhoria através de qualquer um dos canais acima.