lucastmax/cora-php

Cliente PHP 7 para as APIs da Cora (boletos v2, pagamento em stage e OAuth2 Client Credentials).

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/lucastmax/cora-php

dev-main 2025-12-02 20:51 UTC

This package is auto-updated.

Last update: 2025-12-02 20:52:28 UTC


README

Cliente PHP 7 para as APIs da Cora, cobrindo:

  • Emissão de boleto registrado v2
  • Consultar boletos v2
  • Consultar detalhes de um boleto v2
  • Pagar boleto em Stage
  • OAuth2 Client Credentials

Requisitos

  • PHP >= 7.2.5
  • ext-json
  • Composer

Instalação (via Packagist)

composer require tmax/cora-php

Uso rápido (Client Credentials)

use Cora\Config;
use Cora\Auth\ClientCredentialsProvider;
use Cora\CoraClient;

$config = new Config(
    Config::ENV_STAGE,               // ou Config::ENV_PROD
    'CLIENT_ID',
    'CLIENT_SECRET',
    ['offline_access','invoice']     // ajuste escopos
);

$provider = new ClientCredentialsProvider($config);
$client   = new CoraClient($config, $provider);

// 1) Emitir boleto
$payload = [
  "customer" => [
    "name" => "Cliente Exemplo",
    "document" => "12345678909",
    "email" => "cliente@exemplo.com"
  ],
  "services" => [
    ["name" => "Mensalidade", "description" => "Ref. Outubro", "amount" => 10000]
  ],
  "payment_terms" => [
    "due_date" => date('Y-m-d', strtotime('+5 days')),
    "fine"     => ["amount" => 200],
    "interest" => ["amount" => 100]
  ]
];

$res = $client->issueRegisteredBoletoV2($payload);

// 2) Listar boletos
$list = $client->listBoletosV2([
  'start' => date('Y-m-01'),
  'end'   => date('Y-m-d'),
  'state' => 'OPEN',
]);

// 3) Detalhes de um boleto
$details = $client->getBoletoDetailsV2($res['id']);

// 4) Pagar boleto (apenas stage)
$paid = $client->payBankslipStage($res['id']);

Ambientes

Boas práticas

  • Use Idempotency-Key em POSTs.
  • Valores monetários sempre em centavos.
  • Trate expiração do token (renove próximo de expirar).
  • Valide que o escopo correto está habilitado (p.ex. invoice).

Licença

MIT