Acapadev

AcapaPay · CodeIgniter SDK

Referência Rápida — Classe AcapaPay & Spark

Todas as chamadas abaixo assumem uma instância direta: $acapapay = new \AcapaPay\CodeIgniter\AcapaPay(); — não existe Facade neste pacote.

Métodos da Classe AcapaPay

MétodoRetornoDescrição
autenticar()stringAutentica via OAuth2 Client Credentials e devolve um novo access token (sem cache).
obterTokenCached($cacheDuration = 3300)stringDevolve o access token, reutilizando um token em cache (serviço de Cache do CodeIgniter) quando disponível.
checkoutSession($userId, $planReferenceCode, $metadata = [], $successUrl = null, $cancelUrl = null)stringCria sessão de checkout e devolve apenas o url de pagamento.
criarSessaoPagamento(array $dados)arrayCria sessão de checkout e devolve a resposta completa; único método que permite sobrepor amount.
criarFatura(array $dados)arrayCria uma Invoice (fatura) imutável representando a dívida/carrinho; via POST /v1/billing/invoices.
criarCobranca($invoiceId, $paymentMethod, $customerPhone = null)arrayCria uma Charge (tentativa de pagamento) para uma Invoice existente; via POST /v1/billing/invoices/{id}/charges.
consultarFatura($invoiceId)arrayConsulta o estado atual de uma fatura; via GET /v1/billing/invoices/{id}.
consultarStatusFatura($invoiceId)arrayConsulta o invoice_status (pending, paid, expired, cancelled) para polling do frontend; via GET /v1/billing/invoices/{id}/status.
simularPagamento($invoiceId)arrayMarca uma fatura como paga instantaneamente em modo Sandbox; via POST /v1/billing/invoices/{id}/simulate. Não usar em produção.
sincronizarPlanos(array $planos)arraySincroniza (cria/atualiza) planos em lote; via PUT /v1/billing/plans. Usado internamente pelo comando acapapay:sync-plans.
validarAssinaturaWebhook($payload, $signature)boolValida a assinatura HMAC-SHA256 de um payload de webhook contra acapapay.webhookSecret.
testarConexao()array{sucesso: bool, mensagem: string}Testa a autenticação OAuth2 e faz GET /v1/ping. Usado pelo comando acapapay:test-connection.
renderIframe($checkoutUrl, array $opts = [])stringDevolve o HTML do iFrame de checkout pronto a imprimir. $opts aceita height (padrão 700px) e width (padrão 100%).
ℹ️
Checkout sem iFrame criarFatura(), criarCobranca(), consultarFatura()/consultarStatusFatura() e simularPagamento() compõem a API de Pagamento Direta — permite construir a tua própria interface de checkout (referência Multicaixa, prompt Multicaixa Express, ticket E-Kwanza) sem redirecionar nem embutir nenhum iFrame do SSO. O guia completo (fluxo passo-a-passo, prazos de validade por método de pagamento, formato do webhook dedicado) está documentado para o SDK Laravel e aplica-se da mesma forma aqui, pois são os mesmos endpoints M2M: API de Pagamento Direta →.

Comandos Spark

ComandoDescrição
php spark acapapay:test-connectionTesta a ligação e valida as credenciais no servidor central.
php spark acapapay:sync-plansSincroniza os planos locais (via PlanoProviderInterface) com o catálogo do AcapaPay.

Eventos CodeIgniter Disponíveis

EventoQuando é DisparadoPayload ($data)
acapapay:invoice.paidWebhook invoice.paid recebido e validadoevent, data (inclui invoice_id e metadata)
acapapay:invoice.failedWebhook invoice.failed recebido e validadoevent, data
acapapay:invoice.canceledWebhook invoice.canceled recebido e validadoevent, data

O nome do evento é sempre acapapay: + o campo event bruto recebido no payload do webhook — outros tipos de evento futuros seguirão automaticamente o mesmo padrão sem necessidade de atualizar o pacote.

Rota Automática (Auto-Discovery)

MétodoURIController
POST/webhooks/acapapayAcapaPay\CodeIgniter\Controllers\WebhookController::handle

Variáveis de Ambiente (.env)

ChaveObrigatórioDescrição
acapapay.clientIdSimClient ID (App ID) gerado no Painel de Developer do SSO.
acapapay.clientSecretSimClient Secret gerado para a sua App.
acapapay.webhookSecretRecomendadoChave HMAC para validar a assinatura dos Webhooks.
acapapay.modoNãosandbox ou producao (em português — padrão: producao). Ignorado se host/apiHost customizados estiverem definidos.
acapapay.hostNãoURL customizada do servidor de identidade, sobrepõe a escolha baseada em modo.
acapapay.apiHostNãoURL customizada da API, sobrepõe a escolha baseada em modo.
acapapay.verifySslNãoDesativa a verificação SSL (padrão: true); útil em desenvolvimento local com certificados self-signed.

Duas propriedades adicionais de configuração — organizationId (usado em criarFatura() para integrações multi-organização) e planoProvider (classe usada por acapapay:sync-plans) — não têm chave .env direta e devem ser definidas em app/Config/AcapaPay.php na sua aplicação, estendendo a config do pacote.

Enter para selecionar ESC para sair