pagseguro_smart 1.0.1+1
pagseguro_smart: ^1.0.1+1 copied to clipboard
Plugin em Flutter para integração com o PlugPagServiceWrapper da PagSeguro.
pagseguro_smart #
pagseguro_smart é um plugin Flutter para integração completa com as maquininhas PagSeguro Smart (P2 A7, P2 A11 e GPOS A11).
Permite pagamentos, estornos, callbacks de transação, reimpressão de recibos e comunicação direta com o PlugPagServiceWrapper no Android.
⚠️ Plugin não oficial — Compatível somente com Android.
📘 Sumário #
🎯 Sobre #
O objetivo do plugin é oferecer uma interface simples, segura e moderna para comunicação com o SDK PagSeguro PlugPagServiceWrapper diretamente de projetos Flutter.
Compatível apenas com máquinas POS Smart P2 A7, P2 A11 e GPOS A11.
📦 Instalação #
No pubspec.yaml:
dependencies:
pagseguro_smart: ^1.0.1
Execute:
flutter pub get
⚙️ Configuração Android #
1️⃣ Permissão necessária #
Adicione ao AndroidManifest.xml:
<uses-permission android:name="br.com.uol.pagseguro.permission.MANAGE_PAYMENTS"/>
2️⃣ Intent-Filter #
Dentro da <activity> principal:
<intent-filter>
<action android:name="br.com.uol.pagseguro.PAYMENT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
🚀 Uso #
Importação #
import 'package:pagseguro_smart/pagseguro_smart.dart';
🔌 Inicialização #
Ativando o PinPad #
final PagSeguroService pagSeguro = PagSeguroService();
Future<void> ativarPinPad(String codigoAtivacao) async {
final result = await pagSeguro.initPinPad(codigoAtivacao);
if (result['success']) {
print('PinPad ativado!');
} else {
print('Erro: ${result['message']}');
}
}
💳 Pagamentos #
final result = await pagSeguro.doPayment(
type: PagSeguroType.credit,
value: 50.00,
userReference: 'pedido123',
printReceipt: true,
);
if (result['success']) {
final transaction = TransactionModel.fromJsonToModel(result['data']);
print('Pagamento aprovado!');
} else {
print('Falha: ${result['message']}');
}
⛔ Estorno #
final estorno = await pagSeguro.voidPayment(
transactionCode: '123456',
transactionId: '987654',
voidType: PagSeguroVoid.common,
printReceipt: true,
);
🧾 Reimpressão & Recibos #
Reimprimir via Cliente:
await pagSeguro.reprintCustomerReceipt();
Reimprimir via Loja:
await pagSeguro.reprintEstablishmentReceipt();
Enviar recibo via SMS:
await pagSeguro.sendReceiptSMS(
transactionCode: '123456',
phoneNumber: '11999999999',
);
📡 Callbacks #
O plugin envia mensagens de progresso durante o pagamento, recomendado colocar no initState:
@override
void initState() {
super.initState();
_pagSeguro.onPaymentProgress = (message, canAbort) {
print('Status: $message');
if (canAbort) {
print('Permitido Cancelar Pagamento.');
}
};
}
🔧 Constantes #
Tipos de Pagamento #
PagSeguroType.creditPagSeguroType.debitPagSeguroType.pixPagSeguroType.voucher
Parcelamento #
PagSeguroInstallment.singlePayPagSeguroInstallment.forMerchantPagSeguroInstallment.forCustomer
Estorno #
PagSeguroVoid.commonPagSeguroVoid.qrCode
📄 Models #
Inclui:
UserDataModelTransactionModel
Todos com fromJsonToModel() para parse automático.
📝 Notas Importantes #
- O plugin funciona somente em Android.
- A maquininha deve estar vinculada a um usuário ativo na PagSeguro e com o aplicativo configurado (salvo maquininha debug).
- Callbacks dependem do texto da maquininha — o comportamento pode variar por modelo.
- Recomenda-se testar em dispositivo físico real.
⚖️ Licença #
MIT © 2025 Fernando Takeo Miyaji
https://github.com/takeodev