Ir para o conteúdo

Abrir Lote

[DEPRECATED] openBatch()


Este método permite abrir um lote com um número específico.

Métodos

Assinatura Descrição
void openBatch(OpenBatchRequest request, PaymentCallback<OpenBatchResponse> paymentCallback) Realiza a abertura do lote com um número específico.

Parâmetros

Nome Tipo Obrigatório Descrição
request OpenBatchRequest Sim Objeto de transferência de dados que conterá as informações da requisição do lote.
callback PaymentCallback Sim Interface que será executada para notificações de sucesso ou erro do processo de abertura do lote.

Detalhe dos parâmetros request (OpenBatchRequest)

Nome Tipo Obrigatório Descrição
ApplicationInfo.credentials Credentials Sim Credenciais da aplicação que está solicitando a operação, conforme cadastro na PayStore. Basicamente, trata-se da identificação da aplicação e o token de acesso.
ApplicationInfo.softwareVersion String Sim Versão da aplicação que está solicitando o lote.
batchNumber long Não Número do lote específico.

callback (PaymentCallback)

Nome Tipo Obrigatório Descrição
onSuccess Método para notificação em caso de sucesso.
OpenBatchResponse.batchNumber String Sim Retorna o número do lote aberto.
onError Método para notificação em caso de falha.
ErrorData.paymentsResponseCode String Sim Código de resposta para o erro que ocorreu. Vide Códigos de Resposta
ErrorData.acquirerResponseCode String Não Código de resposta para o erro ocorrido retornado pela adquirente. Observe que apenas este erro será retornado se a transação não for autorizada pela adquirente.
ErrorData.responseMessage String Sim Mensagem descritiva da causa da não autorização. Se a transação foi negada pela adquirente, conterá a mensagem retornada pela adquirente.
ErrorData.acquirerAdditionalMessage String Não Mensagem enviada no campo 63 de resposta EPS, para ser impressa ou exibida no final do fluxo transacional. O aplicativo de pagamentos permanece responsável por exibir na tela ou verificar o conteúdo presente neste campo, mas também deve enviar o valor recebido para a aplicação integrada para que ela possa aplicar suas regras de negócios baseadas no conteúdo deste campo.

Exemplo

public class MyActivity extends Activity implements PaymentClient.PaymentCallback {

  private PaymentClient paymentClient;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_payment);

    paymentClient = new PaymentClientImpl();
  }

  @Override
  protected void onResume() {
    super.onResume();
    paymentClient.bind(this);
  }

  @Override
  protected void onDestroy() {
    try {
      paymentClient.unbind(this);
    } catch (Exception e) {
      Log.e(TAG, e.getMessage());
    }
    super.onDestroy();
  }

  public void doExecute(){
    ApplicationInfo appInfo = new ApplicationInfo();
    appInfo.setCredentials(new Credentials("demo-app", "TOKEN-KEY-DEMO"));
    appInfo.setSoftwareVersion("1.0.0.0");

    OpenBatchRequest openBatchRequest = new OpenBatchRequest();
    printBatchReceiptRequest.setApplicationInfo(appInfo);
    printBatchReceiptRequest.setBatchNumber(999L);

    try {
      paymentClient.openBatch(openBatchRequest, this);
    } catch (ClientException e) {
      Log.e(TAG, "Error", e);
    }
  }

  @Override
  public void onError(ErrorData errorData) {
    Log.e(TAG, "Error: " + errorData.getResponseMessage());
  }

  @Override
  public void onSuccess(Object o) {
    Log.i(TAG, "Success!");
  }
}