- Documento de visão geral do x402: https://docs.cdp.coinbase.com/x402/docs/overview
- Exemplo de código aberto do x402: https://github.com/coinbase/x402
- 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çalhoAuthorizationdeve 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).
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:- Abra a página do console https://platform.acedata.cloud/console/platform-tokens;
- Clique em “Criar Token”, preencha as informações de anotação conforme solicitado e gere;
- Copie o Token gerado (por exemplo,
platform-v1-xxxx) e guarde-o comoplatform_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
- Iniciar solicitação de pagamento: primeira solicitação
POSTsem o cabeçalhoX-PAYMENT, acionando a plataforma a retornar 402 Payment Required; - Ler requisitos de pagamento: analisar o array
acceptsna resposta 402, confirmando quenetworkébase,asseté USDC, epayToé consistente com a página do pedido; - 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); - 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; - 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)
network: deve serbase(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.):
- Converter a chave privada da carteira de pagamento em um objeto de conta;
- Registrar os dados
acceptsda resposta 402, escolhendo a opção de pagamento ondenetwork == "base"; - Chamar a função de assinatura fornecida pelo SDK para gerar a string
X-PAYMENTcodificada 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); - Recomenda-se verificar se
maxAmountRequiredestá dentro do intervalo aceitável, caso contrário, alertar o usuário para recarregar.
extra.eip712 antes de assinar.
3. Repetir com a assinatura
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 prefixo0x).
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 incluaAuthorization: Bearer {platform_token}, verifique o campostatena resposta (PAIDouFINISHEDindica pagamento bem-sucedido). - Cabeçalho de retorno: Leia
X-PAYMENT-RESPONSEna 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
maxAmountRequiredexcede 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 oextra(domínio EIP-712) epayToda resposta, não altere a ordem dos campos. - Rede não correspondente: Pode haver múltiplos requisitos em
accepts, escolha a opçãonetwork === "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 651 N Broad St, Suite 201, Middletown, Delaware, 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.

