Verificar a entrada pública
Declaração de capacidades do Facilitator:facilitator, supportedKinds e endpoints do protocolo, isso indica que os metadados de capacidade estão normais. A descoberta de recursos da API foi descontinuada; chame diretamente a API de destino e use a resposta 402 em tempo real como referência.
Capacidades suportadas pelo Facilitator:
kinds, isso indica que a entrada do Facilitator está normal.
Verificar accepts do 402
Envie uma solicitação sem autenticação que não gera cobrança:
accepts retornado contém a rede que você deseja usar. network é um identificador CAIP-2:
eip155:8453+exact(Base)eip155:8453+upto(Base, medição posterior)eip155:1187947933+exact(SKALE)solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp+exact(Solana)
Executar ferramentas avançadas de validação do X402Client
O repositório X402Client fornece ferramentas avançadas de validação, que podem ser usadas para confirmar a seleção da resposta 402, geração de assinatura, paid retry e settlement on-chain. Elas exigem uma funded wallet, RPC, chave privada e dependências de desenvolvimento. Para integração comercial comum, recomenda-se priorizar o SDK TypeScript ou Python; execute essas ferramentas apenas quando for necessário localizar problemas de assinatura ou liquidação on-chain. Endereço do repositório: https://github.com/AceDataCloud/X402Client- A resposta 402 da primeira solicitação.
- O payment requirement selecionado.
- O resumo do
PAYMENT-SIGNATUREapós a assinatura. - O status HTTP e o corpo da resposta após a nova tentativa.
- A settlement transaction on-chain ou, em caso de falha, o motivo do erro do Facilitator.
PAYMENT-SIGNATURE completo para sistemas de logs ou tickets.
Exemplo de resultado de validação da API pública:
- SKALE
exact, Baseexact, Solanaexacte Baseuptoconcluíram todos o paid retry de HTTP 402 para HTTP 200. - A transação on-chain de SKALE
exactpode ser consultada no SKALE explorer, e o valor de liquidação é0.095215USDC. - A transação on-chain de Base
exactpode ser consultada no BaseScan, e o valor de liquidação é95215atomic USDC. - O limite assinado de Base
uptoé95215atomic USDC, mas o settlement on-chain real é3atomic USDC, indicando que a medição posterior cobra de acordo com o uso real. - O caminho Solana confirmou o paid retry e a saída do modelo. O RPC público pode sofrer limitação de taxa; quando for necessária uma reconciliação on-chain rigorosa, use seu próprio Solana RPC ou os registros de liquidação do lado da plataforma para confirmar a assinatura da transação.
Smoke test do SDK
As ferramentas avançadas de validação são usadas para verificar assinaturas e liquidação on-chain. O lado comercial também deve executar um smoke test do SDK para confirmar que o código da aplicação pode processar automaticamente o 402 por meio do payment handler. Abaixo são mostrados apenas os trechos principais; o código completo precisa complementar a wallet, provider e import. TypeScript:exact. Atualmente, a SKALE fornece apenas exact, liquidado pelo valor fixo cotado no 402, sem redução conforme o uso real de tokens. Chat completion é um cenário medido por tokens; para integração em produção, recomenda-se mudar para Base e passar preferScheme: 'upto', com liquidação pelo uso real.
Resultado da execução do programa de smoke test do SDK:
- O SDK TypeScript processa automaticamente 402, assinatura e nova tentativa por meio de
createX402PaymentHandler, obtendo por fimADC_TS_SDK_X402_OK. - O SDK Python conclui o mesmo fluxo por meio de
create_x402_payment_handler, obtendo por fimADC_PY_SDK_X402_OK. - Ambos os smoke tests usam o payer SKALE
0xd0479FA9FD8C678303d477433d24C15e3723CC1C. - O objeto retornado pelo SDK Python é um
dict; no exemplo, é possível usarres["choices"][0]["message"]["content"]para ler o conteúdo.
E2E de pagamento de pedido
O pagamento de pedido usa a API da plataforma deplatform.acedata.cloud e requer um token de conta da plataforma. O fluxo completo é: criar um pedido Pending, acionar 402 com POST /api/v1/orders/{order_id}/pay/ e, em seguida, tentar novamente com PAYMENT-SIGNATURE.
Exemplo de resultado de validação de pagamento de pedido de pequeno valor:
Os registros de transação abaixo são amostras históricas de testes reais sob a política antiga; os valores e hashes de transação são mantidos como estavam. Novos pedidos X402 não têm mais desconto por método de pagamento; use o amount da resposta 402 atual como base para assinatura e pagamento.
- Após criar o pedido, o estado do pedido é
Pendinge o preço é1.26. - A primeira solicitação
pay/retorna HTTP 402; há Baseexacte Solanaexactemaccepts, ambas com valor de1200000atomic USDC. - Após tentar novamente com Base
PAYMENT-SIGNATURE, retorna HTTP 200, o estado do pedido muda paraFinishedepay_wayéX402. - Após decodificar
PAYMENT-RESPONSE, são exibidossuccess=True,network=basee o mesmo hash de transação. - No BaseScan, o status da transação é
1, e o valor da transferência é1200000atomic USDC, ou seja,1.2USDC. - O preço de criação
1.26foi pago durante a política antiga de desconto de pagamento X402; o valor final de assinatura e liquidação foi1.2USDC.
Authorization: Bearer {platform_token}, ou se o pedido não pertencer à conta atual, ele falhará na camada de permissões da plataforma; isso é diferente da API X402 sem conta que chama diretamente x402.acedata.cloud.
Erros comuns
Lista de verificação do Base upto
Atualmente, upto é fornecido apenas na Base (eip155:8453). A SKALE fornece apenas exact. Como a assinatura upto vincula mais parâmetros de EVM typed data, durante a integração deve-se confirmar especialmente que os campos em tempo real da resposta 402 e da assinatura do cliente sejam completamente consistentes.
upto retornar invalid_upto_evm_payload_invalid_signature, verifique primeiro:
- O
extra.chainId(deve ser8453) na entradaeip155:8453+uptoretornada pela API. - O
extra.facilitatorAddressretornado pela API. - O endereço do facilitator Base
uptoretornado porhttps://facilitator.acedata.cloud/supported. - O domínio Permit2, spender, contrato USDC e conta de assinatura.
- Se a carteira já fez approve Permit2 para o Base USDC.
upto também vincula domínio Permit2, chain ID, spender, endereço do recebedor, endereço do facilitator e validAfter. Se qualquer um deles não corresponder, o Facilitator recuperará um signer incorreto, retornando invalid signature. Se todos eles corresponderem, mas ainda retornar 402, verifique em seguida o allowance Permit2; quando não autorizado, retorna PERMIT2_ALLOWANCE_REQUIRED.
Salvar informações de validação
一次 validação completa salva pelo menos:- API path e resumo do corpo da solicitação;
- network e scheme selecionados;
maxAmountRequired;- endereço da carteira do payer;
- status final HTTP;
- saída do modelo ou ID da tarefa na resposta;
- link da transação de settlement;
- ID de rastreamento do Gateway ou ID do registro de uso da plataforma.
PAYMENT-SIGNATURE completo, signature EIP-712 completa ou frase mnemônica.
Erros de pagamento estruturados
Falhas de X402 após a assinatura retornarãocode estável, parâmetros de interpolação seguros, estágio e sinalizador de repetição em extensions.acedatacloud.paymentError. Priorize o uso dessa estrutura para investigação, não analise o error em inglês de nível superior, nem solicite que os usuários forneçam assinaturas de carteira ou o texto original da simulação on-chain.
charged: false: a validação rejeitou explicitamente antes do settlement, e nenhuma cobrança foi iniciada desta vez.- Sem
charged: o resultado é desconhecido ou já entrou no estágio de settlement; primeiro verifique o pedido e o status on-chain, sendo proibido repetir o pagamento diretamente. settlement_pending: não repita o pagamento por enquanto; primeiro atualize o pedido ou entre em contato com o suporte.- code não reconhecido: trate como
payment_failede preserve o código técnico público para consulta pelo suporte ao cliente.

