Download the PHP package techsolutions/euronet-simo-sdk without Composer
On this page you can find all versions of the php package techsolutions/euronet-simo-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download techsolutions/euronet-simo-sdk
More information about techsolutions/euronet-simo-sdk
Files in techsolutions/euronet-simo-sdk
Package euronet-simo-sdk
Short Description Biblioteca Laravel para gestão de pagamentos por entidade e referência (referência SIMO MOD 97-10 e API Validate/Notify Ren).
License MIT
Homepage https://github.com/TECHSOLUTIONS-PROJECTS/euronet-simo-sdk
Informations about the package euronet-simo-sdk
Euronet SIMO SDK
Biblioteca Laravel para gestão de pagamentos por entidade e referência. Cobre dois domínios complementares:
- Referência SIMO — geração e validação de referências de 11 dígitos com dígitos de controlo ISO/IEC 7064, MOD 97-10.
- API Validate/Notify da Ren — recepção e resposta às mensagens
BPVAL(validação) eNTFY1(notificação) de pagamentos de serviços, com a lógica de negócio ligada por contracts.
Instalação
Configuração
No .env:
Em config/simo.php liga as tuas implementações dos contratos:
Referências
Validate / Notify
O pacote regista automaticamente os endpoints (desactiváveis na config):
| Operação | Método | Rota | MsgFctn |
|---|---|---|---|
| Validate | POST | customer/BillPay |
BPVAL |
| Notify | POST | BillPay |
NTFY1 |
Implementa os contratos com a tua lógica:
Códigos de resposta (RsCd)
A aplicação responde com um estado (PaymentStatus) e o pacote converte-o no código RsCd definido em config/simo.php, numa tabela para o Validate (validate_status) e noutra para o Notify (notify_status):
| Estado | Quando usar | Por omissão |
|---|---|---|
Success |
pagamento validado / notificação confirmada | 0 |
Duplicated |
factura já paga / notificação já confirmada | 1 |
Expired |
factura expirada | 1 |
Invalid |
referência inexistente na base de dados | 1 |
Insufficient |
valor não conforme | 1 |
Malformed |
mensagem que não pôde ser interpretada | 1 |
Para usar os códigos acordados com a Ren, altera a config ou o .env:
decline() e reject() não aceitam o estado Success. Um código de falha igual ao de sucesso é recusado com InvalidConfigurationException, para que uma falha nunca chegue à Ren como sucesso.
Comportamento do protocolo
- A resposta ecoa
MsgFctn,MsgUUIDePrtcolVrsndo pedido, com escape XML. SemMsgFctnno pedido, usaBPVALouNTFY1conforme o endpoint. Amount: o atributo da moeda é aceite comocodeouCode. O código tem 3 dígitos (ISO 4217) e o valor só dígitos, com casas decimais implícitas.AllowPaymenté escrito como0ou1.AllowPaymentsó é1no estadoSuccess.- Mensagens malformadas (XML inválido, elemento em falta ou
Amountinválido) recebem HTTP 200 com oRsCddo estadomalformed,Reason"Mensagem malformada." e, no Validate,AllowPayment = 0. A excepção é reportada ao exception handler da aplicação. - A segurança da ligação fica a cargo da aplicação: acrescenta o middleware apropriado em
config('simo.routes.middleware').
Testes, análise estática e refactoring
Estrutura
Licença
MIT.
All versions of euronet-simo-sdk with dependencies
illuminate/contracts Version ^11.0|^12.0
spatie/laravel-package-tools Version ^1.16