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
| Campo | Tipo | Descrição |
|---|---|---|
transactionId | String | Id da transação que deve ser reimpressa. |
receiptType | ReceiptType | Comprovante que deseja reimprimir (estabelecimento ou cliente). |
originalTransactionDate | Date? | Data da transação que deseja reimprimir. |
ReceiptType
| Valor | Descrição |
|---|---|
MERCHANT | Comprovante do Estabelecimento |
CUSTOMER | Comprovante do Cliente |
PrintResult
O objeto PrintResult, retornado no callback da transação, contém informações essenciais sobre o status da impressão.
| Campo | Tipo | Descrição |
|---|---|---|
processor | Enum | Indica o processador da transação (STONE, TEF, REDE, GETNET, PAGSEGURO, VERO, CIELO, SICOOB, SITEF). |
dateTime | Date | Data e hora da impressão. |
status | Enum | Status da impressão (ver tabela abaixo). |
message | String | Mensagem de sucesso ou erro, caso aplicável. |
success | Boolean | Indica se a impressão foi bem sucedida. |
rawData | Map<String, String> | Retorno estilo chave/valor recebido do provedor. |
PrintStatus
| Status | Descrição |
|---|---|
NORMALLY | Impressora funcionando normalmente. |
WITHOUT_PAPER | Impressora sem papel. |
VOLTAGE_TO_LOW | Voltagem muito baixa. |
NO_PRINTER_DETECTED | Nenhuma impressora detectada. |
OVERHEATED | Impressora superaquecida. |
CUT_JAM_ERROR | Erro de atolamento no cortador. |
PREPARING_PRINTER | Preparando impressora. |
PRINTING_UNFINISHED | A última impressão não foi concluída. |
ABNORMAL_COMMUNICATION | Comunicação anormal com a impressora. |
NO_PRINTER_BLACK_MARK | Marca preta não detectada. |
CUTTER_RECOVERED | Cortador recuperado. |
OPEN_THE_LID | Abra a tampa. |
ERROR_DATA_PACKAGE_TOO_LONG | Pacote de dados muito longo. |
FONT_ERROR | Biblioteca de fontes não instalada. |
FORMAT_PRINT_ERROR | Erro no formato do pacote de impressão. |
BUSY_PRINTER | Impressora ocupada. |
GENERIC_ERROR | Algo está errado com o módulo. |
SERVICE_UNAVAILABLE | Serviço indisponível. |
METHOD_UNAVAILABLE | Método indisponível. |
INVALID_PARAMETER | Parâmetro inválido. |
UNAVAILABLE_PARAMETER | Parâmetro indisponível. |
NO_PERMISSION | Sem permissão para a operação. |
DEPRECATED | Método/parâmetro obsoleto. |
SUCCESS | Tarefa concluída com sucesso. |
Este conteúdo foi útil para você?