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
- Autenticação — chaves, modo de teste, idempotência
- Webhooks — assinatura, tentativas, reenvio
- Reembolsos e pagamentos