Métodos
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 a Moderninha. Deve ser passada a porta que foi mapeada seguindo as instruções em Mapeando device bluetooth. |
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. |
Para mais detalhes você pode baixar a documentação completa
Efetuando uma Solicitação de Pagamento
Para efetuar uma chamada para a Moderninha, 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, a Moderninha 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 a Moderninha. |
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 vírgulas. 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] |
A configuração da Solicitação de Pagamento deve seguir estas regras:
- Não é possível realizar pagamentos de menos de R$ 1,00;
- Pagamentos parcelados podem ser divididos em no máximo 12 parcelas;
- 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 na Moderninha. A estrutura é apresentada no item Dados.
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 sua Moderninha. 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 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 na Moderninha. 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 moderninha 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 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 na Moderninha. A estrutura é apresentada no item Dados.