MSitef Payment Tech
Sobre | Funcionalidades | Tecnologias | Requisitos | Start | Autor
🚨 Aviso
Este plugin é não oficial e foi desenvolvido de forma independente para facilitar a integração de pagamentos via SDK do MSitef em dispositivos Android.
⚠️⚠️⚠️ Esse plugin não funciona com PROXY!!! ⚠️⚠️⚠️
:dart: Sobre
Plugin Flutter para facilitar integração com o TEF do MSitef.
Necessário ter instalado o MSitef para que funcione corretamente. Para obter o .apk é necessário entrar em contato com a sua distribuidora do TEF.
🔐 Licenciamento
Para adquirir uma licença, cadastre-se no site Licença JY Labtech.
Cada licença é válida por terminal. Após a compra, você receberá duas chaves:
licenceKey: identificação pública da licença do terminal.licenceInternalKey: endereço seguro usado pelo módulo nativo para validação.
✅ Importante: as chaves devem ser fornecidas em tempo de execução ao chamar
MSitefPaymentTech.I.initPayment. Não armazene as chaves emlocal.propertiesou em arquivos de código-fonte versionados. Prefira buscar os valores de um backend seguro, variáveis de ambiente criptografadas ou serviços de configuração remota.
Inicialização do plugin
Antes de utilizar qualquer operação de TEF, inicialize o plugin informando as chaves:
import 'package:msitef_payment_tech/msitef_payment_tech.dart';
Future<void> bootstrapMSitef() async {
await MSitefPaymentTech.I.initPayment(
licenceKey: 'SUA_LICENCE_KEY',
licenceInternalKey: 'SUA_LICENCE_INTERNAL_KEY',
);
}
Execute a inicialização uma única vez (por exemplo, no main() ou no initState do seu Widget raiz). O módulo nativo valida, criptografa e armazena a licença com EncryptedSharedPreferences para reutilizações futuras no dispositivo.
:sparkles: Funcionalidades
:heavy_check_mark: Cartão de crédito :heavy_check_mark: Cartão de débito :heavy_check_mark: PIX :heavy_check_mark: Cancelamento :heavy_check_mark: Reimpressão
:rocket: Tecnologias
Para que o plugin funcione corretamente é necessário ter o aplicativo MSitef instalado na máquina. Este é fornecido pela própria empresa que está lhe fornecendo o TEF.
:white_check_mark: Requisitos
Para que o plugin funcione corretamente é necessário ter o aplicativo MSitef instalado na máquina.
:checkered_flag: Starting
- Inicialize o plugin com as chaves de licença:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await MSitefPaymentTech.I.initPayment(
licenceKey: 'SUA_LICENCE_KEY',
licenceInternalKey: 'SUA_LICENCE_INTERNAL_KEY',
);
runApp(const MyApp());
}
-
Dispare a transação desejada usando o objeto
payment:MSitefPaymentTech.I.payment.mSitefTransaction( transactionParams: TransactionParams( modalidade: MSitefType.debit, value: '10', couponNumber: DateTime.now().toIso8601String(), dateFiscal: '2021-09-01', hourFiscal: '12:00:00', operador: 'teste', ipSitef: '192.168.0.165', storeId: '00000000', terminalId: '00000001', companyDocument: '00000000000000', automationDocument: '00000000000000', ), );- Para crédito, altere
modalidadeparaMSitefType.credit. - Para PIX, utilize
MSitefType.pix. - Para cancelamentos, utilize
SitefModalityMSitef.cancellatione informe os campos obrigatórios do comprovante.
- Para crédito, altere
-
Consuma o retorno através do objeto
TefTransactionResponseMSitef, contendo códigos, comprovantes e metadados da transação.
Imagem do M-Sitef
JY Labtech |
Feito por Jhonathan Queiroz
Libraries
- licence/constants/licence_constants
- msitef_payment_tech
- payments/enum/sitef_modality
- payments/helper/tef_helper
- payments/model/params/msitef_params
- payments/model/params/msitef_type
- payments/model/params/transaction_params
- payments/model/tef_transaction_model
- payments/model/tef_transaction_response
- payments/payment