neo-pays

Início rápido

Da conta à primeira cobrança, em cinco passos.

1. Criar a sua conta de comerciante

Registe-se no painel. A sua conta começa no estado pending: pode explorar o painel e criar chaves e webhooks, mas as chamadas à API respondem client_inactive enquanto o seu processo não estiver validado.

2. Completar o processo KYB

Em Conformidade, indique o representante legal e os beneficiários efectivos e carregue o registo comercial (RCCM). Um documento recusado é-o sempre com um motivo — corrija e volte a submeter; o histórico é conservado.

Uma vez aprovado o processo, a sua conta passa a active e as suas chaves abrem-se. Nada mais é necessário do seu lado.

3. Criar uma chave de API

Em Programadores → Chaves de API, crie uma chave test e, quando estiver pronto, uma live. O segredo (sk_test_… ou sk_live_…) é mostrado uma única vez, na criação — guarde-o de imediato no seu gestor de segredos.

4. Encontrar os seus identificadores de activo e de plataforma

Antes da primeira chamada, pergunte o que a sua conta pode usar:

curl https://api.neo-pays.com/v1/corridors \
  -H "Authorization: Bearer sk_test_..."

A resposta dá os asset_id e platform_id a utilizar, por país e por sentido. GET /v1/assets dá ainda o número de casas decimais de cada activo — é ele que diz quanto vale uma unidade menor.

5. Criar a sua primeira cobrança

curl https://api.neo-pays.com/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: encomenda-1042" \
  -d '{
    "asset_id": 1,
    "amount_minor": "500000",
    "country": "SN",
    "platform_id": 1,
    "client_ref": "encomenda-1042",
    "payer": { "name": "Adama Diop", "phone": "+221771234567", "country": "SN" }
  }'

A resposta contém uma payment_url (ou um deeplink, ou um qrcode_url, conforme o rail): apresente-a ao seu cliente.

Os montantes são cadeias, em unidades menores. "500000" num activo sem casas decimais são 500 000. Sempre uma cadeia, nunca um número de vírgula flutuante: a API recusa o que não se relê exactamente.

6. Escutar o webhook

Nunca confie a confirmação ao regresso do navegador — o cliente pode fechar o separador. A verdade é o evento payment.success entregue no seu endpoint (configurá-lo), ou, na falta dele, GET /v1/payments/{id}.

E depois