Ir para o conteúdo

Consulta


Consultar transacciones

La consulta se puede realizar de tres formas, utilizando el tx_id de la transacción, utilizando el pix_client_id que se pasó al crear el cargo y realizar la consulta completa donde.

Info

La funcionalidad de impresión automática está disponible a partir de la versión 1.3.3.0 de la aplicación Pix.

consultByTxId()

Para realizar la consulta usando el tx_id de la transacción:

Request

// solicitud de consulta
{
  "tx_id": "b849b36b-7846-48f8-81ce-a8dbf2530f42",
  "preview_customer_receipt": true,
  "preview_merchant_receipt": true,
  "print_customer_receipt": true,
  "print_merchant_receipt": true
}

Parámetros

Nombre Tipo Obligatorio Descripción
request consultByTxId Objeto de transferencia de datos que contendrá la información de solicitud de foto. Tenga en cuenta que no todos los parámetros son obligatorios.
callback ConsultPixPaymentCallback Interfaz que se ejecutará para notificaciones de éxito o error en el proceso de pix.

Detalles de los parámetros

request (consultByTxId)

Nombre Tipo Obligatorio Descripción Valor por defecto
tx_id String tx_id representa la identificación de la transacción pix.
preview_customer_receipt Boolean No Indica si se debe mostrar el comprobante del cliente. true
preview_merchant_receipt Boolean No Indica si se debe mostrar el comprobante del establecimiento. true
print_customer_receipt Boolean No Indica si el comprobante del cliente debe imprimirse automáticamente.
Nota: La impresión automática solo ocurrirá si la vista previa del comprobante está desactivada (false).
true
print_merchant_receipt Boolean No Indica si el comprobante del establecimiento debe imprimirse automáticamente.
Nota: La impresión automática solo ocurrirá si la vista previa del comprobante está desactivada (false).
true

Detalles de los parámetros

callback (ConsultPixPaymentCallback)

Nombre Tipo Obligatorio Descripción
onSuccess Cadena Método de notificación en caso de éxito. La respuesta devuelta será una cadena en formato json que tendrá los campos mostrados en la clase PixResponse
onError Cadena Método de notificación en caso de error. La respuesta devuelta será una cadena en formato json que tendrá los campos mostrados en la clase PixErrorResponse
fun consultCobRequestService(
    pixClient: PixClient,
    txId: String,
    previewCustomerReceipt: Boolean,
    previewMerchantReceipt: Boolean,
    printCustomerReceipt: Boolean,
    printMerchantReceipt: Boolean,
    context: Context
) {
    val gson: Gson = Gson()

    if (pixClient.isBound() && txId.isNotBlank()) {
        val consultCobRequest = ConsultCobRequest(txId, previewCustomerReceipt, previewMerchantReceipt, printCustomerReceipt, printMerchantReceipt)
        val callback = object : PixClient.ConsultByTxIdCallback {
            override fun onError(response: String?) {
                val responseError = gson.fromJson(response, PixErrorResponse::class.java)
                println("Erro $response")
                Toast.makeText(context, responseError.errorMessage, Toast.LENGTH_SHORT).show()
            }

            override fun onSuccess(response: String?) {
                println("consultado $response")
                if (response != null) {
                    val responseObject =
                        gson.fromJson(response, PixResponse::class.java)
                    val responseUtils = ResponseUtils()
                    Toast.makeText(
                        context,
                        responseUtils.messageConsultPix(context, responseObject),
                        Toast.LENGTH_LONG
                    ).show()
                }
            }
        }
        pixClient.consultByTxId(
            gson.toJson(consultCobRequest),
            callback
        )
    }
}
Ejemplo de la clase ConsultCobRequest:
data class ConsultCobRequest(
    @SerializedName("tx_id")
    val txId: String,
    @SerializedName("preview_customer_receipt")
    val previewCustomerReceipt: Boolean,
    @SerializedName("preview_merchant_receipt")
    val previewMerchantReceipt: Boolean,
    @SerializedName("print_customer_receipt")
    val printCustomerReceipt: Boolean,
    @SerializedName("print_merchant_receipt")
    val printMerchantReceipt: Boolean
)
Ejemplo de clase ResponseUtils:
class ResponseUtils {

    fun messageConsultPix(context: Context, response: PixResponse): String {

        return "${context.getString(R.string.consult)}: \n" +
               "${context.getString(R.string.value)}: ${response.cobValue} \n" +
               "${context.getString(R.string.status)}: ${chargeStatus(context, response.status.getValue())} \n" +
               "${context.getString(R.string.tx_id)}: ${response.txID}"
    }

    fun chargeStatus(context: Context, status: String): String {
        return when (status) {
            ChargeStatus.ACTIVE.getValue() -> context.getString(R.string.active)
            ChargeStatus.CONCLUDED.getValue() -> context.getString(R.string.sale)
            ChargeStatus.REFUNDED.getValue() -> context.getString(R.string.refunded)
            ChargeStatus.REFUND_PROCESSING.getValue() -> context.getString(R.string.refund_processing)
            ChargeStatus.REFUND_NOT_DONE.getValue() -> context.getString(R.string.refund_not_done)
            ChargeStatus.REMOVED_BY_USER.getValue() -> context.getString(R.string.cancelled_charge)
            ChargeStatus.REMOVED_BY_PSP.getValue() -> context.getString(R.string.cancelled_charge)
            ChargeStatus.EXPIRED.getValue() -> context.getString(R.string.expired)
            else -> ""
        }
    }
}
PixResponse
data class PixResponse(
    @SerializedName("cob_value")
    val cobValue: String,
    @SerializedName("status")
    var status: String,
    @SerializedName("tx_id")
    val txID: String,
)
PixErrorResponse
class PixErrorResponse (
    @SerializedName("error_message")
    val errorMessage: String
)

consultByPixClientId()

Para consultar usando pix_client_id:

Request

// solicitud de consulta
{
  "pix_client_id": "b849b36b-7846-48f8-81ce-a8dbf2530f42"
}

Parámetros

Nombre Tipo Obligatorio Descripción
request consultByPixClientId Objeto de transferencia de datos que contendrá la información de solicitud de foto. Tenga en cuenta que no todos los parámetros son obligatorios.
callback ConsultByPixClientIdCallback Interfaz que se ejecutará para notificaciones de éxito o error en el proceso de pix.

Detalles de los parámetros

request (consultByPixClientId)

Nombre Tipo Obligatorio Descripción
pix_client_id String pix_client_id es un identificador único utilizado por la aplicación de integración para identificar los cargos creados. Admite hasta 36 caracteres.

Detalles de los parámetros

callback (ConsultByPixClientIdCallback)

Nombre Tipo Obligatorio Descripción
onSuccess Cadena Método de notificación en caso de éxito. La respuesta devuelta será una cadena en formato json que tendrá los campos mostrados en la clase PixResponse
onError Cadena Método de notificación en caso de error. La respuesta devuelta será una cadena en formato json que tendrá los campos mostrados en la clase PixErrorResponse
fun consultPixClientIdRequestService(
    pixClient: PixClient,
    pixClientId: String,
    context: Context
) {
    val gson: Gson = Gson()

    if (pixClient.isBound() && pixClientId.isNotBlank()) {
        val consultPixByCorrelationIdRequest = ConsultPixByCorrelationIdRequest(pixClientId)
        val callback = object : PixClient.ConsultByPixClientIdCallback {
            override fun onError(response: String?) {
                val responseError = gson.fromJson(response, PixErrorResponse::class.java)
                println("Erro $response")
                Toast.makeText(context, responseError.errorMessage, Toast.LENGTH_LONG).show()
            }

            override fun onSuccess(response: String?) {
                println("Consultado $response")
                if (response != null) {
                    val responseObject =
                        gson.fromJson(response, PixResponse::class.java)
                    val responseUtils = ResponseUtils()
                    Toast.makeText(
                        context,
                        responseUtils.messageConsultPix(context, responseObject),
                        Toast.LENGTH_LONG
                    ).show()
                }
            }
        }
        pixClient.consultByPixClientId(
            gson.toJson(consultPixByCorrelationIdRequest),
            callback
        )
    }
}
Ejemplo de la clase ConsultPixByCorrelationIdRequest:
data class ConsultPixByCorrelationIdRequest(
    @SerializedName("pix_client_id")
    val pixClientId: String
)
PixResponse
data class PixResponse(
    @SerializedName("cob_value")
    val cobValue: String,
    @SerializedName("status")
    var status: String,
    @SerializedName("tx_id")
    val txID: String,
)
PixErrorResponse
class PixErrorResponse (
    @SerializedName("error_message")
    val errorMessage: String
)

consult()

El método PixClient.ConsultCallback realiza una consulta utilizando la API del cliente Pix y maneja los resultados de esta consulta a través de un callback.

Request

// request de consulta
{
  "preview_customer_receipt": true,
  "preview_merchant_receipt": true,
  "print_customer_receipt": true,
  "print_merchant_receipt": true
}

Parámetros

Nombre Tipo Obligatorio Descripción
request PixClientConsult Objeto de transferencia de datos que contiene la información de la solicitud PIX. Tenga en cuenta que no todos los parámetros son obligatorios.
callback PixClientConsultCallback nterfaz que se ejecutará para notificaciones de éxito o error del proceso PIX.

Detalles del Parámetro

request (pixClientconsult)

Nombre Tipo Obligatorio Descripción Valor por defecto
preview_customer_receipt Boolean No Indica si se debe mostrar el comprobante del cliente. true
preview_merchant_receipt Boolean No Indica si se debe mostrar el comprobante del establecimiento. true
print_customer_receipt Boolean No Indica si el comprobante del cliente debe imprimirse automáticamente.
Nota: La impresión automática solo ocurrirá si la vista previa del comprobante está desactivada (false).
true
print_merchant_receipt Boolean No Indica si el comprobante del establecimiento debe imprimirse automáticamente.
Nota: La impresión automática solo ocurrirá si la vista previa del comprobante está desactivada (false).
true

Detalles del Parámetro

callback (ConsultPixPaymentCallback)

Nombre Tipo Obligatorio Descripción
onSuccess String Método para notificación en caso de éxito. La respuesta devuelta será una cadena JSON que contiene los campos mostrados en la clase PixResponse
onError String Método para notificación en caso de error. La respuesta devuelta será una cadena JSON que contiene los campos mostrados en la clase PixErrorResponse
val callback = object : PixClient.ConsultCallback {
        override fun onError(response: String?) {
            Toast.makeText(context, "Erro na consulta: $response", Toast.LENGTH_LONG).show()
            onError(response)
        }

        override fun onSuccess(response: String?) {
            Toast.makeText(context, "Consulta realizada com sucesso.", Toast.LENGTH_LONG).show()
            onSuccess(response)
        }
    }

    pixClient.consult(request, callback)