Ir para o conteúdo
neo-pays

Programadores

Primeiro pagamento numa única chamada.

Chaves de teste que percorrem o mesmo código que a produção, idempotência integrada, webhooks assinados e uma especificação OpenAPI pública.

Modo de teste

Chaves de teste que atravessam o mesmo código que a produção.

As chaves sk_test_ seguem o mesmo caminho que sk_live_ para as suas cobranças por dinheiro móvel e por transferência, sem que o dinheiro se mova.

Uma chave API é mostrada uma única vez, no momento em que é criada. Dados ilustrativos.

Contrato

Quatro regras, válidas em todas as linguagens.

  • Idempotência

    Envie Idempotency-Key em cada criação: 201 à primeira vez, 200 quando a chave devolve a operação existente, 409 em caso de conflito. A chave designa a operação pretendida, não a tentativa.

  • Versions

    v1 é uma superfície de compatibilidade congelada; qualquer capacidade nova chega na v2. Cada caminho leva o seu próprio prefixo de versão.

  • Erros

    Um erro lê-se pelo seu código, estável e feito para ser testado; a mensagem destina-se a uma pessoa e pode mudar.

  • Montantes

    Os montantes são cadeias de caracteres, nunca números de vírgula flutuante.

  • Corridors

    GET /v1/corridors: o encaminhamento é inspecionável — o que pode utilizar, o que a plataforma vai escolher, o que pode impor.

  • Chaves API

    Uma chave é mostrada uma única vez, no momento em que é criada. Pode restringi-la a uma lista de endereços IP.

Exemplos

Criar uma cobrança.

O montante é uma cadeia de caracteres, a chave de idempotência designa a operação pretendida — não a tentativa. O seu painel de controlo gera estes excertos para cada endpoint, com o URL de base da sua conta.

GET https://api.neo-pays.com/v1/corridors
Authorization: Bearer $NEOPAYS_SECRET_KEY
curl https://api.neo-pays.com/v1/payments \
  -H "Authorization: Bearer $NEOPAYS_SECRET_KEY" \
  -H "Idempotency-Key: commande-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "10000",
    "currency": "XOF",
    "platform_id": "<platform_id>",
    "merchant_reference": "commande-1042"
  }'

HTTP/1.1 201 Created

Webhooks

Assinados, com marca temporal, reentregues.

Cada entrega leva X-NeoPays-Signature: uma marca temporal e um HMAC-SHA256 do corpo bruto. Recuse para além de 300 s.

  • 20 tipos de eventos, até 10 endpoints por conta.
  • Um endpoint de teste para verificar a sua implementação.
  • Um endereço IP de saída fixo, para as suas listas de endereços permitidos; proteção anti-SSRF do lado da plataforma.
POST /webhooks/neo-pays
X-NeoPays-Signature: t=1723651200,v1=9f2c…d41a
Content-Type: application/json

v1 == HMAC-SHA256(secret, t + "." + body)
|now − t| ≤ 300 s
Entrega de um webhook e a sua escala de tentativas: 60 s, 5 min, 30 min, 2 h. Dados ilustrativos.

Clientes de referência

Mais de dez linguagens, nenhum pacote publicado.

Um cliente de referência por linguagem — uma centena de linhas, sem dependências, para copiar para o seu projeto. Um script de integração alojado abre o pagamento numa janela modal sobre as suas páginas web.

A partir do seu painel de controlo, cada endpoint mostra o seu excerto em cURL, PHP, Node.js, Python e Go, gerado a partir da definição do próprio endpoint.

OpenAPI

Uma especificação pública, verificada face às rotas.

GET /v1/openapi.json: 42 operações, verificadas face à tabela de rotas em cada compilação.

GET https://api.neo-pays.com/v1/openapi.json

Primeiro pagamento numa única chamada.

A documentação primeiro: guias, referência gerada, webhooks. As chaves de teste atravessam o mesmo código que a produção.