API – Recibos HTML (Trait ReceiptRenderer)¶
O ReceiptRenderer é um trait utilizado na classe Vinti4Response para gerar recibos HTML de transações processadas pelo SISP. Ele suporta compras, serviços, recargas e reembolsos, além de casos genéricos.
Principais métodos¶
| Método | Parâmetros | Retorno | Descrição |
|---|---|---|---|
generateReceiptHtml(?string $companyName = null, bool $text = false) |
$companyName – Nome da empresa$text – Gera recibo sem estilo se true |
string |
Gera o HTML completo do recibo, escolhendo automaticamente o tipo de transação. |
renderPurchaseReceipt(?string $companyName = null) |
$companyName |
string |
Recibo de compra 3DS. |
renderServiceReceipt(?string $companyName = null) |
$companyName |
string |
Recibo para serviços públicos (água, luz, etc.). |
renderRechargeReceipt(?string $companyName = null) |
$companyName |
string |
Recibo para recargas de telemóvel. |
renderRefundReceipt(?string $companyName = null) |
$companyName |
string |
Recibo para reembolsos. |
renderGenericReceipt(?string $companyName = null) |
$companyName |
string |
Recibo para casos genéricos ou tipos não especificados. |
Recursos e opções¶
- Suporte a DCC (Dynamic Currency Conversion) em compras.
- Máscara de cartão (
PAN) para segurança. - Formatação automática de moeda e timestamp.
-
Diferentes cores e ícones para status:
-
✅
SUCCESS– Transação aprovada - ⏹
CANCELLED– Transação cancelada - ⚠
INVALID_FINGERPRINT– Erro de segurança - ❌ Outros erros
- Estilo CSS interno ou texto puro (via
$text = true).
Exemplo de uso¶
$response = $vinti->processResponse($_POST);
// Gera recibo com estilo padrão
echo $response->generateReceiptHtml("Minha Empresa");
// Gera recibo texto puro (sem CSS)
echo $response->generateReceiptHtml("Minha Empresa", true);
Exemplo de output – Sucesso (compra 3DS)¶
COMPROVATIVO DE PAGAMENTO
Minha Empresa
Referência:REF12345
Data/Hora:30/11/2025 14:32:10
Transação ID:TID987654321
100,50 CVE
Pagamento de serviços
Cartão:123456••••7890
Autorização:AUTH001
Exemplo de output – Erro (Recibo Indisponível)¶
RECIBO INDISPONÍVEL
Sistema Temporariamente Indisponível
Exemplo Output - Recibo Sem estilo (texto puro)¶
Transação de Sucesso
==== RECIBO DE TRANSAÇÃO ==== Empresa: Loja ABC Data/Hora: 30/11/2025 15:42:10 Status: APROVADA Mensagem: Transação válida. Transação ID: 123456789 Referência: REF-20251130-001 Tipo de Transação: 8 Valor: 10.000,00 CVE Cartão: 123456••••7890 Autorização: AUTH-987654 ===========================
Transação com Erro
==== RECIBO DE TRANSAÇÃO ==== Empresa: Loja ABC Data/Hora: 30/11/2025 15:45:30 Status: NÃO CONCLUÍDA Mensagem: Erro de processamento. Transação ID: N/A Referência: REF-20251130-002 Tipo de Transação: 8 Valor: 5.000,00 CVE Cartão: 123456••••1234 === DETALHES DE ERRO === Erro: Saldo insuficiente Mensagem adicional: Falha ao processar pagamento ===========================