Ir para o conteúdo

Impresión de recibos por lotes

[DEPRECATED] printBatchReceipt()

Este método debe llamarse para imprimir el comprobante cuando se cierra un lote.

Parámetros

Nombre Tipo Obligatorio Descripción
request PrintReceiptRequest Objeto de transferencia de datos que contendrá la información de la solicitud de reimpressión.
callback PaymentCallback Interfaz que se ejecutará para notificaciones de éxito o error del proceso de reimpressión.

Detalle de los Parámetros

request (PrintReceiptRequest)

Nombre Tipo Obligatorio Descripción
ApplicationInfo.credentials Credentials Credenciales de la aplicación que solicita la operación, según lo registrado en PayStore. Básicamente, se trata de la identificación de la aplicación y el token de acceso.
ApplicationInfo.softwareVersion String Versión de la aplicación que solicita la reimpressión.
batchNumber Long Yes Número del lote cerrado
previewBatchReceipt Long No Indica si se debe mostrar la pantalla de vista previa del recibo de lote
printBatchReceipt Long No Indica si el recibo de lote debe imprimirse automáticamente

callback (PaymentCallback)

Nombre Tipo Obligatorio Descripción
onSuccess Método de notificación de éxito
onError Método de notificación en caso de error.
ErrorData.paymentsResponseCode String Código de respuesta para el error que ocurrió. Ver Códigos de Respuesta
ErrorData.acquirerResponseCode String No Código de respuesta para el error que ocurrió devuelto por el adquirente. Tenga en cuenta que este error solo se devolverá si la transacción no está autorizada por el adquirente.
ErrorData.responseMessage String Mensaje descriptivo de la causa de no autorización. Si la transacción ha sido denegada por el adquirente, contendrá el mensaje devuelto por el adquirente.
ErrorData.acquirerAdditionalMessage String No Mensaje adicional enviado por el adquirente en la respuesta a la transacción.
Ejemplo de flujo de impresión por lotes
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!");
    }
}