API v1

Referência e Documentação da API

A plataforma de pagamento com a menor taxa e integração mais fácil do mercado. Pix D+0 0,79%, Cartão 1,99% e Boleto R$ 1,49.

BASE URL DA API
AUTENTICAÇÃO

Envie sua chave nos cabeçalhos HTTP da requisição:

Authorization: Bearer pf_live_exemplo_chave_123456 X-API-KEY: pf_live_exemplo_chave_123456
Endpoint: /api/v1/charges.php

Gera uma cobrança instantânea com Pix, Cartão ou Boleto aplicando automaticamente a menor taxa do mercado (Pix 0,79%, Cartão 1,99%).

Parâmetros (JSON):
Campo Tipo Obrigatório Descrição
amount Float Sim Valor em reais (ex: 150.00)
payment_method String Sim pix, credit_card ou boleto
customer_name String Não Nome do pagador
customer_email String Não E-mail do pagador
customer_document String Não CPF ou CNPJ do pagador
installments Int Não Número de parcelas (1 a 12)
EXEMPLO DE CÓDIGO
curl -X POST "https://paidfacil.com.br/api/v1/charges.php" \
  -H "Authorization: Bearer pf_live_exemplo_chave_123456" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 250.00,
    "payment_method": "pix",
    "customer_name": "João da Silva",
    "customer_email": "joao@email.com",
    "customer_document": "123.456.789-00"
  }'
Endpoint: /api/v1/charges.php?code={codigo}

Consulte o status em tempo real de uma cobrança específica ou liste as últimas cobranças do lojista com paginação.

curl -X GET "https://paidfacil.com.br/api/v1/charges.php?code=ch_123456" \
  -H "Authorization: Bearer pf_live_exemplo_chave_123456"
Validando a Assinatura HMAC de Segurança

Todo webhook enviado pela Paid Fácil contém o header X-PaidFacil-Signature. Valide o payload para garantir autenticidade:

<?php
$payload = file_get_contents('php://input');
$signatureHeader = $_SERVER['HTTP_X_PAIDFACIL_SIGNATURE'] ?? '';
$secretKey = 'pf_whsec_sua_chave';

$expectedSignature = hash_hmac('sha256', $payload, $secretKey);

if (hash_equals($expectedSignature, $signatureHeader)) {
    // Webhook verificado e 100% autêntico da Paid Fácil!
    $event = json_decode($payload, true);
    
    if ($event['event'] === 'charge.paid') {
        $chargeCode = $event['data']['charge_code'];
        // Liberar pedido no seu banco de dados
    }

    http_response_code(200);
    echo json_encode(['received' => true]);
} else {
    // Assinatura inválida
    http_response_code(401);
    exit('Assinatura inválida.');
}
PLAYGROUND
Testar API Ao Vivo no Navegador

Dispare uma chamada real para a API Paid Fácil e visualize o JSON de resposta instantâneo.

// Clique em "Executar" para disparar a requisição...