Providers - Windows e Linux
Esta página irá apresentar os principais métodos disponíveis para a integração dos terminais Moderninha PRO e WIFI com os sistemas operacionais Windows e Linux, assim como alguns exemplos de aplicações.
Métodos
Nesta tabela você encontra a lista completa de métodos, retornos e suas descrições para a integração com seu terminal.
Método | Retorno | Descrição |
---|---|---|
GetVersionLib | `const char*`` | Retorna uma string null terminated com a versão da biblioteca de integração. |
SetVersionName | Int | Seta o nome e versão da aplicação que está utilizando a PlugPag. É MANDATÓRIO que esta função seja chamada antes de se realizar qualquer transação. |
InitBTConnection | Nenhum | Configura a porta com que está pareada com o terminal. |
SimplePaymentTransaction | Int | Inicia a transação de venda. Em caso de sucesso, retorna os dados da transação numa estrutura. |
CancelTransaction | Int | Inicia a transação de estorno. Em caso de sucesso, retorna os dados da transação numa estrutura |
GetLastApprovedTransactionStatus | Int | Verifica qual foi a última transação com sucesso feita pelo terminal. |
Documentação
Para mais detalhes você pode baixar a documentação completa
Exemplos da aplicação
A seguir você encontra exemplos da aplicação dos métodos apresentados anteriormente.
Efetuando uma solicitação de pagamento
Para efetuar uma chamada para o terminal, você deve utilizar o método SimplePaymentTransaction
. Veja abaixo alguns exemplos de uma solicitação de venda:
int ret;
tyComPort comPort;
enPPPSPaymentMethod paymentMethod;
enPPPSInstallmentType installmentType;
unsigned int installment;
tyAmount amount;
tyUserReference userReference;
tyAppName appName;
tyAppVersion appVersion;
stPPPSTransactionResult transactionResult;
memset ((void*) comPort, 0, sizeof (tyComPort));
memset ((void*) amount, 0, sizeof (tyAmount));
memset ((void*) userReference, 0, sizeof (tyUserReference));
memset ((void*) appName, 0, sizeof (tyAppName));
memset ((void*) appVersion, 0, sizeof (tyAppVersion));
// Porta COM11 está com a Moderninha pareada no Bluetooth
memcpy (comPort, "COM11", 5);
// Pagamento no débito
paymentMethod = PPPAGSEGURO_DEBIT;
// A vista (1 parcela)
installmentType = PPPAGSEGURO_A_VISTA;
installment = 1;
// R$ 30,00 Reais
memcpy (amount, "3000", 4);
// Meu código de venda é "0000000001"
memcpy (userReference, "0000000001", 10);
InitBTConnection (comPort);
// Setar o nome e versão da aplicação
memcpy (appName, "MyApplication", 13);
memcpy (appVersion, "R001", 4);
SetVersionName(appName, appVersion);
ret = SimplePaymentTransaction (
paymentMethod,
installmentType,
installment,
&amount,
&userReference,
&transactionResult
);
int ret;
tyComPort comPort;
enPPPSPaymentMethod paymentMethod;
enPPPSInstallmentType installmentType;
unsigned int installment;
tyAmount amount;
tyUserReference userReference;
tyAppName appName;
tyAppVersion appVersion;
stPPPSTransactionResult transactionResult;
memset ((void*) comPort, 0, sizeof (tyComPort));
memset ((void*) amount, 0, sizeof (tyAmount));
memset ((void*) userReference, 0, sizeof (tyUserReference));
memset ((void*) appName, 0, sizeof (tyAppName));
memset ((void*) appVersion, 0, sizeof (tyAppVersion));
// Porta COM11 está com a Moderninha pareada no Bluetooth
memcpy (comPort, "COM11", 5);
// Pagamento no crédito
paymentMethod = PPPAGSEGURO_CREDIT;
//(7 parcelas)
installmentType = PPPAGSEGURO_PARC_VENDEDOR;
installment = 7;
// R$ 200,00 Reais
memcpy (amount, "20000", 4);
// Meu código de venda é "CODIGVENDA"
memcpy (userReference, "CODIGVENDA", 10);
InitBTConnection (comPort);
// Setar o nome e versão da aplicação
memcpy (appName, "MyApplication", 13);
memcpy (appVersion, "R001", 4);
SetVersionName(appName, appVersion);
ret = SimplePaymentTransaction (
paymentMethod,
installmentType,
installment,
&amount,
&userReference,
&transactionResult
);
Assim que a chamada é feita, o terminal iniciará o processo de venda com os parâmetros encaminhados pela sua aplicação. Você pode configurar a Solicitação de Pagamento a partir dos parâmetros que são passados para o método SimplePaymentTransaction
. Veja abaixo a listagem dos parâmetros.
Parâmetro | Tipo | Descrição |
---|---|---|
comPort | *tyComPort | Porta COM mapeada para Bluetooth e já pareada com o terminal. |
paymentMethod | enPPPSPaymentMethod | Tipo de transação: crédito, débito ou voucher. |
installmentType | enPPPSInstallmentType | Tipo de parcelamento: à vista ou parcelado. |
installment | unsigned int | Número de parcelas. Caso seja pagamento à vista, valor deve ser 1. |
amount | *tyAmount | Valor da transação, com 2 para centavos, sem pontos e virgulas. Ex: "R$ 1.234,56" deve ser passado como "123456". |
reference | *tyUserReference | Código da venda, definido pela sua aplicação. |
Os tipos customizados são definidos da seguinte maneira.
Tipo | Definição |
---|---|
tyComPort | char[8] |
enPPPSPaymentMethod | enum {PPPAGSEGURO_CREDIT = 1, PPPAGSEGURO_DEBIT = 2, PPPAGSEGURO_VOUCHER = 3} |
enPPPSInstallmentType | enum {PPPAGSEGURO_A_VISTA = 1, PPPAGSEGURO_PARC_VENDEDOR = 2} |
tyAmount | char[33] |
tyUserReference | char[21] |
Para a configuração da Solicitação de Pagamento, não é possível realizar pagamentos de menos de R$ 1,00, pagamentos parcelados podem ser divididos em no máximo 12 parcelas e pagamentos parcelados devem ter valor mínimo de parcela de R$ 5,00.
O último parâmetro do método SimplePaymentTransaction
é um ponteiro para uma estrutura que, ao fim da execução do método, estará populada com os dados do retorno da transação efetuada no terminal. A estrutura é apresentada no item Dados desta documentação.
Outro ponto importante é o código de referência (ou código de venda) que pode ser encaminhado pela sua aplicação. Este parâmetro pode conter o seu número de ordem ou pedido para que você possa efetuar a conciliação dos seus pagamentos posteriormente.
Consultando a última transação
Sua aplicação pode obter os dados da última transação efetuada com sucesso em seu terminal. Para isso você deve utilizar o método `GetLastApprovedTransactionStatus()
. Veja o exemplo abaixo.
int ret;
tyComPort portaCom;
memset ((void*) portaCom, 0, sizeof (portaCom));
// Porta COM11 está com a Moderninha Pro pareada no Bluetooth
memset (portaCom, "COM11", 5);
ret = GetLastApprovedTransactionStatus (&comPort, &transactionResult);
O último parâmetro do método GetLastApprovedTransactionStatus
é um ponteiro para uma estrutura que, ao fim da execução do método, estará populada com os dados do retorno da transação efetuada no terminal. A estrutura é apresentada no item Dados.
- Caso exista uma transação em andamento no momento da consulta, a função
GetLastApprovedTransactionStatus()
aguarda a finalização da transação e retorna os dados desta se aprovada (nessessário biblioteca 1.3.0+ e terminal 3.12+).
Estornando uma transação
Sua aplicação também pode iniciar um processo de estorno de transação. É importante salientar que esta chamada apenas inicia o processo de estorno. Os demais passos são feitos diretamente na moderninha. Veja exemplo a seguir.
int ret;
tyComPort portaCom;
memset ((void*) portaCom, 0, sizeof (portaCom));
// Porta COM11 está com a Moderninha Pro pareada no Bluetooth
memset (portaCom, "COM11", 5);
ret = CancelTransaction (&portaCom, &transactionResult);
O último parâmetro do método CancelTransaction
é um ponteiro para uma estrutura que, ao fim da execução do método, estará populada com os dados do retorno da transação efetuada no terminal. A estrutura é apresentada no item Dados.
Updated 12 months ago