Skip to main content

Pagamento

Exemplo de chamada

public class ConnectTEFAdapter {

public ConnectTEFAdapter() {
}

public void realizarPagamento(Activity activity, int requestCode) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("br.com.pdvpos.connecttef.gerenciador", "br.com.pdvpos.connecttef.gerenciador.MainActivity"));

if (intent.resolveActivity(getPackageManager()) != null) {
intent.putExtra("identificacao", "abc123");
intent.putExtra("valorTotal", 29.90);
intent.putExtra("tipoTransacao", "10");
intent.putExtra("imprimirComprovante", true);
intent.putExtra("quantidadeParcelas", 1);
activity.startActivityForResult(intent, requestCode);
} else {
Toast.makeText(this, "Aplicativo externo não encontrado.", Toast.LENGTH_SHORT).show();
}
}
}

Como validar a resposta

public class MainActivity extends AppCompatActivity {

private static final String TAG = "ConnectTEF";

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (data == null) {
Log.w(TAG, "Operação cancelada");
return;
}

Bundle bundle = data.getExtras();
if (bundle == null) {
Log.w(TAG, "Operação cancelada");
return;
}

if (resultCode != RESULT_OK) {
String mensagemErro = bundle.getString("textoEspecialOperador");
if (mensagemErro != null) {
Log.w(TAG, "Mensagem de erro: " + mensagemErro);
} else {
Log.w(TAG, "Erro na operação, mas sem mensagem específica.");
}
return;
}

for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d(TAG, key + " => " + value);
}
}
}

Parâmetros do bundle

CampoTipoObrigatórioDescrição
identificacaostringSimID único da transação no seu sistema.
valorTotaldecimalSimValor total da venda. Ex: 29.9 para R$29,90
tipoTransacaostringNãoCódigo da transação (veja tabela abaixo).
quantidadeParcelasstringNãoNº de parcelas. Ex: "1".
imprimirComprovanteboolNãoImprime comprovante no POS.
numeroTransacaostringNãoNúmero único da transação fornecido pela adquirente.
finalizacaostringNãoFinalização obtida na resposta ao realizar um pagamento.

Parâmetros da resposta

CampoTipoDescrição
identificacaostringIdentificador único da operação
valorTotalstringValor total da transação
statusTransacaostring"0" = sucesso; outros valores indicam falha
nomeRedestringNome da adquirente
tipoTransacaostringTipo da transação
numeroTransacaostringNúmero sequencial da transação
codigoAutorizacaoTransacaostringCódigo de autorização fornecido pela adquirente
quantidadeParcelasstringNúmero de parcelas
dataTransacaoComprovantestringData da transação no comprovante (formato: ddMMyyyy)
horaTransacaoComprovantestringHora da transação no comprovante (formato: hhmmss)
numeroTransacaoCanceladastringNúmero da transação que foi cancelada
timestampTransacaoCanceladastringTimestamp da transação cancelada (formato: ddMMhhmmss)
finalizacaostringDados técnicos da finalização da transação
quantidadeLinhasComprovantestringQuantidade de linhas no comprovante
textoEspecialOperadorstringMensagem especial para exibição ao operador
numeroSerieTerminalstringNúmero de série do terminal (Smart POS)
executadabooleanIndica se a operação foi processada com sucesso
cnpjstringCNPJ do estabelecimento
bandeiraCartaostringBandeira do cartão utilizado (ex: MASTERCARD)