🏗️ SDK Architecture Overview¶
O diagrama abaixo apresenta as classes principais do SDK e suas dependências:
classDiagram
class Vinti4Net {
- Payment payment
- Refund refund
- array request
- bool prepared
+ setRequestParams()
+ setMerchant()
+ preparePurchasePayment()
+ prepareServicePayment()
+ prepareRechargePayment()
+ prepareRefundPayment()
+ createPaymentForm()
+ processResponse()
+ getRequest()
}
class Payment {
+preparePayment()
+processResponse()
}
class Refund {
+preparePayment()
+processResponse()
}
class Billing {
+make()
+create()
+fill()
+toArray()
}
class Vinti4Response {
+status
+message
+success
+data
+dcc
+debug
+detail
+isSuccess()
+isCancelled()
+hasInvalidFingerprint()
+getTransactionId()
+getMerchantRef()
+getAmount()
+getCurrency()
+generateReceiptHtml()
+toArray()
+toJson()
}
Vinti4Net --> Payment
Vinti4Net --> Refund
Vinti4Net --> Billing
Vinti4Net --> Vinti4Response
🔹 Flow of a Payment¶
O fluxo completo de uma transação no SDK:
sequenceDiagram
participant Merchant
participant SDK as Vinti4Net SDK
participant SISP
participant User
Merchant->>SDK: preparePurchasePayment() / prepareServicePayment() / prepareRechargePayment()
Merchant->>SDK: createPaymentForm()
SDK->>Merchant: HTML Auto-submit Form
Merchant->>User: Redirect to Payment Page
User->>SISP: Complete Payment
SISP-->>Merchant: POST Callback
Merchant->>SDK: processResponse()
SDK-->>Merchant: Vinti4Response
🔹 Observações¶
Vinti4Neté a fachada principal; todas as operações passam por ela.PaymenteRefundcuidam da lógica de criação e processamento das transações.Billingsimplifica a preparação dos campos 3DS.Vinti4Responseencapsula todas as respostas do SISP, padronizando status, mensagens e dados adicionais.- O sequence diagram mostra o fluxo típico: do
preparePaymentaté o retorno deVinti4Response.
📌 Fluxo Oficial do Processamento das Transações (SISP / MPI)¶
sequenceDiagram
autonumber
participant C as Cliente
participant M as Comerciante<br/>(Seu Sistema)
participant SDK as Vinti4Net SDK
participant S as SISP<br/>MPI / 3DSServer
C->>M: a. Faz checkout do produto/serviço
M->>SDK: b. Adiciona dados do pagamento + dados do comerciante
SDK->>S: b. Envia POST (request) para o URL SISP
S->>M: c. Autentica comerciante<br/>c.1 Em caso de falha → devolve erro
S->>C: d. Página SISP para recolha dos dados do cartão
C->>S: e. Autentica transação (3DS)
S->>S: f. Processamento da autorização
S->>M: g. Envia POST de resposta (response)<br/>indica sucesso ou falha