plugpag
plugpag copied to clipboard
Tempo de Vida da LIB 1.X
Olá,
Estou tentando de todas as formas integrar com uma maquininha PagSeguro. Por enquanto, só consegui chegar mais longe com a LIB 1.x. Compilou, mas não conecta na maquininha, o programa fica parado... (é a Moderninha WiFi Plus 2)
Gostaria de saber se posso continuar a desenvolver com essa LIB, corre o risco disso parar de funcionar em breve?
As versões 1.X deixaram de ser atualizadas, portanto, não recebem mais correções ou melhorias.
Com o lançamento da versão 3.x, não haverá mais modificações (correções ou melhorias) na versão 1.x.
Na minha opinião, dependendo do seu caso de uso, utilizar essa versão pode apresentar alguns riscos de ela parar de funcionar, por exemplo, devido a atualizações no Android (as versões mais recentes do Android possuem algumas características que não são contempladas na versão 1.X). No entanto, se você tem total controle sobre os dispositivos utilizados, tanto das maquininhas quanto dos aparelhos com os quais você está realizando a integração, é possível que você consiga trabalhar sem problemas. Porém, isso não é o recomendado.
Olá, Obrigado pela resposta! É mais ou menos o que imaginei. Minha integração era no Raspberry, mas fica preso no initBT.... Por enquanto, só consegui integrar no Windows em Python. Em C/Windows dá o erro A107 na maquininha, que não sei o que significa ainda...rs Vou usar Python até conseguir usar a 4.X no android
Ahh entendi! É, me parece que a versão pra Raspberry ficou meio abandonada... Minha implementação foi toda em Android, então não acho que consigo ajudar muito.. Mas boa sorte no seu projeto!
Author
O que tu fez pra rodar na demo do python? Botei a porta COM lá, mas não aparece nada no terminal quando faço um pagamento
Só rodei com a versao 3.6.2 portable de 32 bit do python. Veja que aparecem duas portas COM do Bluetooth, mas só a de saída irá funcionar. Outra coisa é que precisa refazer o pareamento se reiniciar o Windows. Vi alguém falando isso aqui e ocorreu no meu caso tbm. Apareceu algum erro de timeout com código?
Poderiam liberar o protocolo serial como opção. Assim cada um poderia implementar sua versão. Dá forma que está fica amarrado com a dll, so, jar na versão de sistema e linguagem que foram feitos.
Poderiam liberar o protocolo serial como opção. Assim cada um poderia implementar sua versão. Dá forma que está fica amarrado com a dll, so, jar na versão de sistema e linguagem que foram feitos.
Pois então, tão meio que obrigando a desenvolver um app embarcado. O certo era ter uma API igual as concorrentes, mas né
Só rodei com a versao 3.6.2 portable de 32 bit do python. Veja que aparecem duas portas COM do Bluetooth, mas só a de saída irá funcionar. Outra coisa é que precisa refazer o pareamento se reiniciar o Windows. Vi alguém falando isso aqui e ocorreu no meu caso tbm. Apareceu algum erro de timeout com código?
Vou por a 3.6.2 p ver, e tinha colocado a COM de entrada também. Valeu
Poderiam liberar o protocolo serial como opção. Assim cada um poderia implementar sua versão. Dá forma que está fica amarrado com a dll, so, jar na versão de sistema e linguagem que foram feitos.
Arrumei em C se quiser:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "PPPagSeguro.h" // Incluir o header fornecido
void pResult (stPPPSTransactionResult transactionResult)
{
printf ("\nTransaction Result\n\tmessage [%s]\n\ttransactionCode [%s]\n\tdate [%s]\n\ttime [%s]\n\thostNsu [%s]\n\tcardBrand [%s]\n\tbin [%s]\n\tholder [%s]\n\tuser reference [%s]\n",
transactionResult.message,
transactionResult.transactionCode,
transactionResult.date,
transactionResult.time,
transactionResult.hostNsu,
transactionResult.cardBrand,
transactionResult.bin,
transactionResult.holder,
transactionResult.userReference);
}
int main() {
const tyComPort comPort; // Alterado para um ponteiro constante
enPPPSPaymentMethod paymentMethod;
enPPPSInstallmentType installmentType;
unsigned int installment;
tyAmount amount;
tyUserReference userReference;
stPPPSTransactionResult transactionResult;
int ret;
int choice;
char continuar[2];
printf("Digite a porta COM desejada (ex: COM11): ");
scanf("%s", (char*)comPort); // Realizando cast explícito para char*
// Iniciar a conexão Bluetooth
InitBTConnection(&comPort);
do {
printf("Selecione uma opcao:\n");
printf("1. Realizar pagamento\n");
printf("2. Consultar ultima transacao\n");
printf("3. Estorno\n");
printf("Digite o numero correspondente a opcao desejada: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Digite o tipo de transacao (1 - Credito, 2 - Debito, 3 - Voucher): ");
scanf("%d", (int*)&paymentMethod);
printf("Digite o tipo de parcelamento (1 - A vista, 2 - Parcelado): ");
scanf("%d", (int*)&installmentType);
if (installmentType == PPPAGSEGURO_A_VISTA) {
installment = 1;
} else {
printf("Digite o numero de parcelas: ");
scanf("%u", &installment);
}
printf("Digite o valor da transacao (em reais): ");
scanf("%s", amount);
// Convertendo o valor da transacao para centavos (multiplicando por 100)
int amountInCents = atof(amount) * 100;
snprintf(amount, sizeof(amount), "%d", amountInCents);
// Definindo o código de venda fixo
strncpy(userReference, "0000000001", sizeof(userReference));
// Definir o nome e versão da aplicacao
tyAppName appName;
tyAppVersion appVersion;
memcpy(appName, "MyApplication", sizeof("MyApplication"));
memcpy(appVersion, "R001", sizeof("R001"));
SetVersionName(appName, appVersion);
// Executar a transacao
ret = SimplePaymentTransaction(paymentMethod, installmentType, installment, &amount, &userReference, &transactionResult);
printf("\n\nRETORNO: %d\n", ret);
pResult(transactionResult);
break;
case 2:
printf("Consulta ultima transacao:\n");
// Consultar ultima transacao aprovada
ret = GetLastApprovedTransactionStatus(&transactionResult);
printf("\n\nRETORNO: %d\n", ret);
pResult(transactionResult);
break;
case 3:
printf("Estorno:\n");
// Executar estorno
ret = CancelTransaction(&transactionResult);
printf("\n\nRETORNO: %d\n", ret);
pResult(transactionResult);
break;
default:
printf("Opcao invalida\n");
break;
}
printf("Deseja fazer outra transação? (S/N): ");
scanf("%s", continuar);
} while (strcmp(continuar, "S") == 0 || strcmp(continuar, "s") == 0);
system("pause");
return ret;
}
Show, funcionou no Windows?
Show, funcionou no Windows?
Aham, tudo certinho