SDK PHP para integração de pagamento via Vinti4Net (SISP, Cabo Verde) com suporte a Compra 3DS, Pagamento de Serviço, Recargas, Estornos e Recibos.
# Vinti4Net PHP SDK
SDK PHP para integração com o sistema de pagamentos **Vinti4Net** (SISP Cabo Verde, Serviço MOP021).
## 📦 Instalação
```bash
composer require erilshk/vinti4net
```
## 🚀 Começo Rápido
### 1. Configuração Básica
> Esta parte do código deve estar presente em ambos os arquivos de processamento e resposta
```php
preparePurchase(
amount: 1500.00,
billing: [
'email' => 'cliente@email.com',
'billAddrCountry' => '132', // Código do país (132 = Cabo Verde)
'billAddrCity' => 'Praia',
'billAddrLine1' => 'Rua Exemplo, 123',
'billAddrPostCode' => '7600'
],
currency: 'CVE' // opcional
);
// Ou pagamento de serviço (Água, Luz, etc.)
$vinti4->prepareServicePayment(
amount: 2500.00,
entity: 10001, // Código da entidade (ex: ELECTRA)
number: '123456789' // Referência do cliente
);
// Ou recarga de telemóvel
$vinti4->prepareRecharge(
amount: 500.00,
entity: 10021, // Código da operadora (ex: CVMóvel)
number: '9912345' // Número de telefone
);
```
### 3. Gerar Formulário de Pagamento
```php
$htmlForm = $vinti4->createPaymentForm(
responseUrl: '
seusite.com',
lang: 'pt' // Opcional: languageMessages
);
echo $htmlForm; // Formulário auto-submissível
```
### 4. Processar Resposta (Callback)
```php
// No seu endpoint de callback (ex: /pagamento/callback)
$response = $vinti4->processResponse($_POST);
if ($response->isSuccess()) {
// Pagamento aprovado
$transactionId = $response->getTransactionId();
$amount = $response->getAmount();
// Atualizar DB
// Liberar produto/serviço
} elseif ($response->isCancelled()) {
// Usuário cancelou
echo "Pagamento cancelado pelo usuário";
} elseif ($response->hasInvalidFingerprint()) {
// Erro de segurança
error_log("Fingerprint inválido: " . json_encode($response->debug));
} else {
// Erro no pagamento
echo "Erro: " . $response->message;
echo "Detalhe: " . $response->detail;
}
```
## 📋 Tipos de Transação
| Tipo | Método | Descrição |
|------|--------|-----------|
| 💳 C …