Pular para o conteúdo principal

Reimpressão

Para realizar uma Reimpressão do último comprovante utilize os métodos printReceipt ou printLastReceipt da classe paykit. No primeiro método é possível especificar qual comprovante deseja reimprimir, já no segundo apenas o último comprovante é reimpresso. Note que alguns provedores ainda não permitem que seja reimpresso qualquer recibo e estamos limitados apenas ao último.

Exemplo

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.linx.paykit.common.Callback
import com.linx.paykit.core.Paykit
import com.linx.paykit.common.parameter.PrintReceiptParameters
import com.linx.paykit.core.PaykitFactory

class MainActivity : AppCompatActivity() {

private lateinit var paykit: Paykit

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

paykit = PaykitFactory().build(Parameters(this, "Reimpressão", PaykitId("PAYKIT_ID")))

val params = PrintReceiptParameters(
"123456", // Id da transação
ReceiptType.MERCHANT, // Imprimir comprovante Estabelecimento
Date() // Data da transação
)

paykit.printReceipt(params, object : Callback<PrintResult> {
override fun execute(result: PrintResult) {
Log.i("PrintResult", "Status: ${result.status}")
}
})
}
}

PrintReceiptParameters

CampoTipoDescrição
transactionIdStringId da transação que deve ser reimpressa.
receiptTypeReceiptTypeComprovante que deseja reimprimir (estabelecimento ou cliente).
originalTransactionDateDate?Data da transação que deseja reimprimir.

ReceiptType

ValorDescrição
MERCHANTComprovante do Estabelecimento
CUSTOMERComprovante do Cliente

PrintResult

O objeto PrintResult, retornado no callback da transação, contém informações essenciais sobre o status da impressão.

CampoTipoDescrição
processorEnumIndica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF).
dateTimeDateData e hora da impressão.
statusEnumStatus da impressão (ver tabela abaixo).
messageStringMensagem de sucesso ou erro, caso aplicável.
successBooleanIndica se a impressão foi bem sucedida.
rawDataMap<String, String>Retorno estilo chave/valor recebido do provedor.

PrintStatus

StatusDescrição
NORMALLYImpressora funcionando normalmente.
WITHOUT_PAPERImpressora sem papel.
VOLTAGE_TO_LOWVoltagem muito baixa.
NO_PRINTER_DETECTEDNenhuma impressora detectada.
OVERHEATEDImpressora superaquecida.
CUT_JAM_ERRORErro de atolamento no cortador.
PREPARING_PRINTERPreparando impressora.
PRINTING_UNFINISHEDA última impressão não foi concluída.
ABNORMAL_COMMUNICATIONComunicação anormal com a impressora.
NO_PRINTER_BLACK_MARKMarca preta não detectada.
CUTTER_RECOVEREDCortador recuperado.
OPEN_THE_LIDAbra a tampa.
ERROR_DATA_PACKAGE_TOO_LONGPacote de dados muito longo.
FONT_ERRORBiblioteca de fontes não instalada.
FORMAT_PRINT_ERRORErro no formato do pacote de impressão.
BUSY_PRINTERImpressora ocupada.
GENERIC_ERRORAlgo está errado com o módulo.
SERVICE_UNAVAILABLEServiço indisponível.
METHOD_UNAVAILABLEMétodo indisponível.
INVALID_PARAMETERParâmetro inválido.
UNAVAILABLE_PARAMETERParâmetro indisponível.
NO_PERMISSIONSem permissão para a operação.
DEPRECATEDMétodo/parâmetro obsoleto.
SUCCESSTarefa concluída com sucesso.

Este conteúdo foi útil para você?