Integre o CorexPay ao seu sistema de forma simples e rápida
Base URL:
http://corexpaysolutions.com/api/v1
A API do CorexPay permite que você integre pagamentos PIX e Cartão de Crédito ao seu sistema de forma simples e segura.
Para usar a API, você precisa gerar uma chave de API no painel do sistema.
No painel do sistema, acesse a seção "Chave API" no menu lateral.
Ir para Chaves de API →Clique em "Gerar Nova Chave" e dê um nome descritivo (ex: "Site Principal", "App Mobile").
⚠️ Importante: Copie e guarde o token imediatamente, pois ele só será exibido uma vez!
Adicione o token gerado nas configurações do seu site/aplicação. O token terá o formato:
nxp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Crie pagamentos PIX e receba notificações em tempo real quando o pagamento for confirmado.
POST http://corexpaysolutions.com/api/v1/payments/pix
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| amount | float | Sim | Valor do pagamento (mínimo: R$ 0,01) |
| payer_name | string | Sim | Nome completo do pagador |
| payer_email | string | Sim | Email do pagador |
| payer_cpf | string | Sim | CPF do pagador (máximo 14 caracteres) |
| description | string | Não | Descrição do pagamento |
{
"success": true,
"data": {
"transaction_uuid": "550e8400-e29b-41d4-a716-446655440000",
"amount": 100.00,
"fee": 4.00,
"amount_net": 96.00,
"status": "pending",
"qr_code": "00020126580014BR.GOV.BCB.PIX...",
"pix_code": "00020126580014BR.GOV.BCB.PIX...",
"pix_key": "00020126580014BR.GOV.BCB.PIX...",
"expires_at": "2024-11-26T12:30:00Z",
"expires_in_seconds": 300
}
}
Crie saques via PIX para transferir saldo da conta do usuário para uma chave PIX.
Importante: Para saques automáticos funcionarem, você precisa: 1. Configurar o modo de saque como "Automático" ao criar a credencial de API 2. Adicionar o IP do seu servidor nas configurações da API 3. O usuário precisa estar aprovado (KYC) e com saques desbloqueados
POST http://corexpaysolutions.com/api/v1/cashout/pix
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| amount | float | Sim | Valor líquido desejado (mínimo: R$ 10,00). O sistema calcula automaticamente o valor bruto incluindo taxas. |
| pix_key | string | Sim | Chave PIX de destino (CPF, Email, Telefone ou Chave Aleatória) |
{
"success": true,
"message": "Saque criado e processado automaticamente.",
"withdrawal": {
"id": 123,
"amount": 95.00,
"amount_gross": 100.00,
"fee": 5.00,
"status": "processing",
"pix_key": "12345678900"
}
}
Liste e filtre as transações da sua conta ou busque uma transação específica.
GET http://corexpaysolutions.com/api/v1/transactions
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| status | string | Não | Filtrar por status (pending, completed, failed, etc) |
| type | string | Não | Filtrar por tipo (pix, credit, withdrawal) |
| start_date | string (YYYY-MM-DD) | Não | Data inicial do filtro |
| end_date | string (YYYY-MM-DD) | Não | Data final do filtro |
| per_page | integer | Não | Itens por página (padrão: 20) |
{
"success": true,
"data": [
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"amount_gross": 100.00,
"amount_net": 96.00,
"fee": 4.00,
"type": "pix",
"status": "completed",
"gateway_provider": "pluggou",
"external_id": "TXN_123456789",
"description": "Depósito via PIX - API",
"created_at": "2024-01-20T10:30:00Z",
"updated_at": "2024-01-20T10:35:00Z"
}
],
"pagination": {
"current_page": 1,
"last_page": 5,
"per_page": 20,
"total": 100
}
}
GET http://corexpaysolutions.com/api/v1/transactions/{uuid}
Receba notificações automáticas em seu sistema sempre que o status de uma transação mudar.
Configure a URL de webhook na sua Chave de API no painel do sistema.
⚠️ Importante: A URL deve ser pública e acessível via HTTP/HTTPS para receber as notificações.
| Evento | Descrição |
|---|---|
| transaction.completed | Disparado quando o pagamento é confirmado (pago) e o saldo é creditado. |
| transaction.failed | Disparado quando o pagamento falha, expira ou é cancelado. |
| withdrawal.completed | Disparado quando um saque é completado com sucesso. |
O sistema enviará uma requisição POST para sua URL com o seguinte corpo:
{
"event": "transaction.completed",
"created_at": "2024-01-20T10:30:00Z",
"data": {
"transaction_id": "550e8400-e29b-41d4-a716-446655440000",
"external_id": "TXN_123456789",
"amount_gross": 150.00,
"amount_net": 145.50,
"fee": 4.50,
"status": "completed",
"gateway_provider": "pluggou",
"paid_at": "2024-01-20T10:35:00Z"
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| event | string | Nome do evento disparado |
| created_at | string (ISO 8601) | Timestamp de criação do webhook |
| data.transaction_id | string (UUID) | UUID único da transação no sistema |
| data.external_id | string | ID da transação no gateway externo |
| data.amount_gross | float | Valor bruto da transação |
| data.amount_net | float | Valor líquido (após taxas) |
| data.fee | float | Valor da taxa cobrada |
| data.status | string | Status da transação (completed, failed, etc) |
| data.gateway_provider | string | Nome do gateway (pluggou, bspay, venit, etc) |
| data.paid_at | string (ISO 8601) | Timestamp de confirmação do pagamento |
Seu servidor deve responder com status HTTP 200 OK para confirmar o recebimento. Caso contrário, o sistema tentará reenviar a notificação.
Para validar que o webhook realmente veio do sistema, você pode:
Exemplo de criação de pagamento PIX usando Guzzle.
<?php
$client = new \GuzzleHttp\Client();
$response = $client->post('http://corexpaysolutions.com/api/v1/payments/pix', [
'headers' => [
'Authorization' => 'Bearer SEU_TOKEN',
'X-Client-ID' => 'SEU_CLIENT_ID',
'Accept' => 'application/json',
],
'json' => [
'amount' => 100.00,
'payer_name' => 'João Silva',
'payer_email' => 'joao@email.com',
'payer_cpf' => '12345678900',
'description' => 'Pagamento de Teste'
]
]);
$body = json_decode($response->getBody(), true);
print_r($body);
Exemplo usando a biblioteca requests.
import requests
url = "http://corexpaysolutions.com/api/v1/payments/pix"
payload = {
"amount": 100.00,
"payer_name": "João Silva",
"payer_email": "joao@email.com",
"payer_cpf": "12345678900",
"description": "Pagamento de Teste"
}
headers = {
"Authorization": "Bearer SEU_TOKEN",
"X-Client-ID": "SEU_CLIENT_ID",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Exemplo usando fetch API.
const url = "http://corexpaysolutions.com/api/v1/payments/pix";
const payload = {
amount: 100.00,
payer_name: "João Silva",
payer_email: "joao@email.com",
payer_cpf: "12345678900",
description: "Pagamento de Teste"
};
const headers = {
"Authorization": "Bearer SEU_TOKEN",
"X-Client-ID": "SEU_CLIENT_ID",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
curl -X POST "http://corexpaysolutions.com/api/v1/payments/pix" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "X-Client-ID: SEU_CLIENT_ID" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"payer_name": "João Silva",
"payer_email": "joao@email.com",
"payer_cpf": "12345678900",
"description": "Pagamento de Teste"
}'
Lista de possíveis códigos de status HTTP retornados pela API.
| Código | Significado | Descrição |
|---|---|---|
| 200 | OK | Requisição processada com sucesso. |
| 201 | Created | Recurso criado com sucesso (ex: novo pagamento). |
| 400 | Bad Request | Dados inválidos enviados na requisição. Verifique os campos. |
| 401 | Unauthorized | Token inválido ou não fornecido. |
| 403 | Forbidden | Acesso negado ao recurso solicitado. |
| 404 | Not Found | Recurso não encontrado (ex: transação inexistente). |
| 422 | Unprocessable Entity | Erro de validação (ex: email inválido, saldo insuficiente). |
| 500 | Internal Server Error | Erro interno do servidor. Tente novamente mais tarde. |