Pagamentos via API
Crie e consulte pagamentos por integração server-to-server. O fluxo depende do método de pagamento ativo escolhido.
Autenticação e chaves
Envie X-EDPay-Public-Key (pk_test_… ou pk_live_…) e X-EDPay-Private-Key (sk_test_… ou sk_live_…) em cada chamada server-to-server. A chave privada deve permanecer no servidor; nunca a exponha em browser ou aplicação cliente. Não use Bearer token.
A tarifa da plataforma é 6% em MZN. Consulte os termos para condições de liquidação.
/v1/public/payment-methodsConsulte este endpoint público e use o código de um método ativo no campo method. Os requisitos variam por gateway; envie phone apenas quando exigido pelo método.
curl "https://api-pay.edutecka.com/v1/public/payment-methods" -H "Accept: application/json"/v1/paymentsamount_minor é um inteiro em unidades menores da moeda (150000 = 1.500,00 MZN). currency deve corresponder à moeda base da conta. Idempotency-Key é obrigatório. HTTP 202 significa aceite para processamento, não confirmação de pagamento.
curl -X POST "https://api-pay.edutecka.com/v1/payments" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json" \
-H "Idempotency-Key: order-2026-001-payment" \
-H "Content-Type: application/json" \
-d '{
"amount_minor": 150000,
"currency": "MZN",
"method": "<METHOD_CODE_FROM_PAYMENT_METHODS>",
"phone": "+25884xxxxxxx",
"reference": "ORD-2026-001",
"description": "Order payment"
}'Corpo da requisição
{
"amount_minor": 150000,
"currency": "MZN",
"method": "<METHOD_CODE_FROM_PAYMENT_METHODS>",
"phone": "+25884xxxxxxx",
"reference": "ORD-2026-001",
"description": "Order payment",
"customer_id": "cus_…"
}Campos opcionais: customer_id, reference e description. method pode ser omitido quando channel.provider ou channel.type contiver um código de método suportado. A API ignora atualmente emola_custom_message e custom_message.
Resposta de pagamento
{
"data": {
"id": "pay_…",
"reference": "ORD-2026-001",
"trans_id": "…",
"amount_minor": 150000,
"currency": "MZN",
"base_amount_minor": 150000,
"base_currency": "MZN",
"base_platform_fee_minor": 9000,
"base_receiver_net_minor": 141000,
"method": "<active_method_code>",
"status": "pending",
"platform_fee_bps": 600,
"platform_fee_minor": 9000,
"receiver_net_minor": 141000,
"created_at": "…",
"updated_at": "…"
},
"meta": {
"request_id": "req_…"
}
}Use status e os eventos/webhooks para acompanhar o resultado; não trate pending como liquidação concluída.
/v1/payments/{id}curl -X GET "https://api-pay.edutecka.com/v1/payments/pay_0123456789abcdef0123456789abcdef" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json"curl -X GET "https://api-pay.edutecka.com/v1/payments?limit=10" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json"