Skip to main content

Estorno

Exemplo de chamada

public class ConnectTEFAdapter {
public void realizarEstorno(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.putString("identificacao", "abc123");
intent.putDouble("valorTotal", 29.90);
intent.putString("tipoTransacao", "10");
intent.putString("numeroTransacao", "abc123");
intent.putString("finalizacao", "abc123|abc123|zbc123");
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
tipoTransacaostringSimCódigo da transação (veja tabela abaixo).
quantidadeParcelasstringNãoNº de parcelas. Ex: "1".
imprimirComprovanteboolNãoImprime comprovante no POS.
numeroTransacaostringSimNúmero único da transação fornecido pela adquirente.
finalizacaostringSimFinalizaçã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)