flutter_ifood_pago 1.0.4
flutter_ifood_pago: ^1.0.4 copied to clipboard
Plugin flutter que faz a integração com o SDK do Ifood, para pagamento com maquininhas POS
Flutter iFood Pago
Plugin não oficial para Integração com iFood Pagamentos #
Sobre #
O Flutter iFood Pago é um plugin Flutter desenvolvido para integrar funcionalidades de pagamento do iFood em aplicativos Flutter. O plugin permite processar transações via crédito, débito, voucher e PIX, além de oferecer suporte para estorno de transações e impressão de comprovantes em dispositivos POS.
Funcionalidades Principais #
- Processamento de pagamentos (crédito, débito, voucher, PIX)
- Estorno de transações
- Impressão de comprovantes
- Suporte a diferentes tipos de layout de impressão (texto, linha, imagem)
- Preview de impressão em base64
Tecnologias Utilizadas #
- Flutter
- Dart
- HTTP para requisições
- Platform Channels para comunicação nativa
- Shared Preferences para armazenamento local
Instalação #
Adicione ao seu pubspec.yaml:
dependencies:
flutter_ifood_pago: ^latest_version
Como Utilizar #
Inicialização #
import 'package:flutter_ifood_pago/flutter_ifood_pago.dart';
final flutterIfoodPagoPlugin = FlutterIfoodPago();
Processamento de Pagamento #
try {
final payment = IfoodPagoPaymentPayload(
paymentMethod: IfoodPagoTransactionType.CREDIT,
value: 1000, // R$ 10,00 em centavos
transactionId: "123456",
tableId: "789",
printReceipt: true
);
final response = await flutterIfoodPagoPlugin.pay(payload: payment);
// Trata resposta
} on IfoodPagoPaymentException catch (e) {
// Trata erro de pagamento
}
Estorno de Transação #
try {
final refund = IfoodPagoRefundPayload(
transactionIdAdyen: "ID_TRANSACAO",
printReceipt: true
);
final response = await flutterIfoodPagoPlugin.refund(payload: refund);
// Trata resposta
} on IfoodPagoRefundException catch (e) {
// Trata erro de estorno
}
Impressão de Comprovante #
try {
final printPayload = IfoodPagoPrintPayload(
integrationApp: "NomeApp",
printableContent: [
IfoodPagoContentprint(
type: IfoodPagoPrintType.text,
content: "Texto exemplo",
align: IfoodPagoPrintAlign.center,
size: IfoodPagoPrintSize.medium
)
]
);
final response = await flutterIfoodPagoPlugin.printData(payload: printPayload);
// Trata resposta
} on IfoodPagoPrintException catch (e) {
// Trata erro de impressão
}
Classes Principais #
IfoodPagoPaymentPayload #
Responsável por estruturar dados de pagamento:
paymentMethod: Tipo de transaçãovalue: Valor em centavostransactionId: Identificador únicotableId: Identificador da mesaprintReceipt: Flag para impressão
IfoodPagoRefundPayload #
Estrutura dados de estorno:
transactionIdAdyen: ID da transação originalprintReceipt: Flag para impressão
IfoodPagoPrintPayload #
Configura impressão:
integrationApp: Nome da integradora. Deve ser informado sem espaços, utilizando por exemplo underline: Nome_Integradora.printableContent: Lista de conteúdos para impressãogroupAll: Valor booleano que indica se toda a lista deve ser agrupada em uma única imagem.
Tipos de Impressão #
IfoodPagoPrintType #
text: Impressão de textoline: Impressão de linhaimage: Impressão de imagem
IfoodPagoPrintAlign #
center: Centralizadoright: Direitaleft: Esquerda
IfoodPagoPrintSize #
big: Grandemedium: Médiosmall: Pequeno
Tratamento de Erros #
O plugin possui três tipos principais de exceções:
IfoodPagoPaymentException: Erros relacionados a pagamentos
IfoodPagoRefundException: Erros relacionados a estornos
IfoodPagoPrintException: Erros relacionados a impressão
📝 Autores #
Este projeto foi desenvolvido por:
Luiz Carlos de Lima
Licença #
Este projeto está sob a licença MIT.