Ir para o conteúdo

Impressão de comprovante de Lote

[DEPRECATED] printBatchReceipt()

Esse método deve ser chamado para realizar impressão do comprovante quando um lote for fechado.

Parâmetros

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

Detalhe dos Parâmetros

request (PrintBatchReceiptRequest)

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 a impressão.
batchNumber Long Sim Número do lote fechado
previewBatchReceipt Long Não Indica se a tela de pré-visualização do comprovante do lote deve ser exibido
printBatchReceipt Long Não Indica se o comprovante do lote deve ser impresso automáticamente

callback (PaymentCallback)

Nome Tipo Obrigatório Descrição
onSuccess Método para notificação em caso de sucesso
onError Método para notificação em caso de erro.
ErrorData.paymentsResponseCode String Sim Código de resposta para o erro ocorrido. Vide Códigos de Resposta
ErrorData.acquirerResponseCode String Não Código de resposta para o erro ocorrido retornado pela adquirente. Note que este erro só 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. Caso a transação tenha sido negada pela adquirente, conterá a mensagem retornada pela adquirente.
ErrorData.acquirerAdditionalMessage String Não Mensagem adicional enviada pela adquirente na resposta da transação.
Exemplo do fluxo de impressão de lote
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");

        PrintBatchReceiptRequest printBatchReceiptRequest = new PrintBatchReceiptRequest();
        printBatchReceiptRequest.setApplicationInfo(appInfo);
        printBatchReceiptRequest.setBatchNumber(1L);
        printBatchReceiptRequest.setPreviewReceiptBatch(true);
        printBatchReceiptRequest.setPrintReceiptBatch(true);

        try {
            paymentClient.printBatchReceipt(printBatchReceiptRequest, this);
        } catch (ClientException e) {
            Log.e(TAG, "Error starting devolution", e);
        }
    }

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

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