O ValidateTransactionByCardProvider é o provedor que verifica se existe no banco de dados local da SDK transações realizadas para um determinado cartão.
Para iniciar o provider, é necessário passar o context
e um PinpadObject
por parâmetro.
Ao fazer a chamada, o provider irá iniciar a comunicação com o Pinpad que irá requisitar a inserção do cartão. Em seguida, com as informações do cartão inserido, ele irá buscar no banco de dados todas as transações realizadas com aquele cartão e retornar para a sua aplicação.
Se o cartão inserido por Múltiplo, ou seja, possui crédito e débito, o pinpad irá perguntar ao portador qual opção ele deseja selecionar.
final ValidateTransactionByCardProvider validateTransactionByCardProvider = new ValidateTransactionByCardProvider(CONTEXT, PINPAD_OBJECT);
validateTransactionByCardProvider.setDialogMessage("Validando transação");
validateTransactionByCardProvider.setDialogTitle("Aguarde");
validateTransactionByCardProvider.setConnectionCallback( new StoneCallbackInterface() {
public void onSuccess() {
// Para saber se existem transações com esse cartão:
List<TransactionObject> transactions = validateTransactionByCardProvider.getTransactionWithCurrentCard();
}
public void onError() {
// Erro na execução do provider
}
});
validateTransactionByCardProvider.execute();