
Diagrama de Check Out
Obtener detalle de transacción por id
La función getTransactionDetail se utiliza para recuperar detalles de transaccion por id
Parámetros
transactionId:String- Descripción: id de la transacción
Callback: TransactionDetailCallback
Descripción: Callback utilizado para recibir los detalles por id de una transacción
- Métodos:
onError: Se invoca cuando ocurre un error en la solicitud de transacción.- Parámetros:
error(ErrorResponse): Un código y mensaje de error opcional que describe el fallo.codecódigo de errormessagemensaje de error
- Descripción: Se llama cuando hay un error en el proceso de obtener los detalles por id de una transacción
- Retorno: Se debe implementar el manejo del error.
- Parámetros:
onSuccessful: Este método se invoca cuando se obtiene exitosamente el listado de checkouts pendientes por organización- Parámetros:
TransactionDetail(TransactionDetail?): Contiene los detalles de la transacción en especifico
- Descripción: Se llama cuando se obtienen exitosamente los detalles de la transacción
- Parámetros:
Datos de la Respuesta (TransactionDetail)
status: String – Indica el estado de la operación.folio: String – Número de folio asignado a la transacción.date: String – Fecha en la que se realizó la transacción.deviceSerialNumber: String – Número de serie del dispositivo que ejecutó la transacción.last4: String – Últimos cuatro dígitos del número de tarjeta utilizado.cardBrand: String – Marca de la tarjeta utilizada, como Visa o MasterCard.cardType: String – Tipo de tarjeta utilizada, por ejemplo, crédito o débito.operationType: String – Tipo de operación realizada, como venta o devolución.total: double – Monto total de la transacción.tipAmountWCommision: String – Monto de la propina incluyendo la comisión.numberOfPayments: int – Número de pagos en los que se divide la transacción.monthsToWait: int – Meses de espera antes de realizar el primer pago.promotionType: String – Tipo de promoción aplicada a la transacción.terminalCutFolio: String – Folio del corte de terminal.authCode: String – Código de autorización de la transacción.organizationCommisionAmount: double – Monto de la comisión de la organización.organizationCommisionPercent: double – Porcentaje de la comisión de la organización.totalDiscounts: int – Total de descuentos aplicados a la transacción.hasDispersion: boolean – Indica si la transacción incluye dispersión de fondos.rejectReason: String – Razón por la cual la transacción fue rechazada.
val checkServices = CheckServices.getInstance(this)
checkServices.getTransactionDetail(transactionId.toString(), object : TransactionDetailCallback.Stub() {
override fun onSuccessful(transactionDetail: TransactionDetail?) {
runOnUiThread { txtResponse.text = transactionDetail?.let { it1 -> Stringfy.getString(it1) }}
}
override fun onError(errorResponse: ErrorResponse?) {
runOnUiThread {txtResponse.text = errorResponse.toString()}
}
}) CheckServices checkServices = CheckServices.getInstance(this);
checkServices.getTransactionDetail(transactionId, new TransactionDetailCallback.Stub() {
@Override
public void onSuccessful(TransactionDetail transactionDetail) {
runOnUiThread(() -> txtResponse.setText(transactionDetail != null ? Stringfy.getString(transactionDetail) : ""));
}
@Override
public void onError(ErrorResponse errorResponse) {
runOnUiThread(() -> txtResponse.setText(errorResponse.toString()));
}
});Obtener checkouts pendientes
La función pendingCheckouts se utiliza para recuperar una lista de checkouts pendientes
Parámetros
perPage:int- Descripción: Número de registros por página.
- Ejemplo:
10
currentPage:int- Descripción: Número de la página actual.
- Ejemplo:
1
dateStart:string- Descripción : Fecha desde donde vamos a filtrar la información
- Ejemplo:
22024-01-15T21:50Z
dateEnd:string- Descripción : Fecha desde hasta donde vamos a filtrar la información
- Ejemplo:
2024-01-15T21:50Z
Nota: dateStart = mayor o igual a dateEnd = menor o igual a
organization:string- Descripción: Id de la organización a la cual se pertenece
folio:string- Descripción: Id de la organización a la cual se pertenece
- Ejemplo:
PAG-000000003046
Callback: PendingCheckoutCallback
Descripción: Callback utilizado para recibir los resultados de la solicitud de checkouts pendientes por organización
- Métodos:
onError: Se invoca cuando ocurre un error en la solicitud de transacción.- Parámetros:
error(ErrorResponse): Un código y mensaje de error opcional que describe el fallo.codecódigo de errormessagemensaje de error
- Descripción: Se llama cuando hay un error en el proceso de obtener checkouts pendientes por organización
- Retorno: Se debe implementar el manejo del error.
- Parámetros:
onSuccessful: Este método se invoca cuando se obtiene exitosamente el listado de checkouts pendientes por organización- Parámetros:
pendingCheckoutList(PendingCheckOutResponse?): Contiene la lista paginada de cortes y la información de paginación.
- Descripción: Se llama cuando se obtienen exitosamente los checkouts pendientes
- Parámetros:
Datos de la Respuesta (PendingCheckOutResponse)
folio: List<String> Identificadores únicos para cada transacción.order: List<String> Ordendate: List<String> fecha de la transaccióntotal: List<String> total de la compracardType: List<String> Tipos de tarjetas utilizadas (débito, crédito, etc.).lastFour: List<String> Últimos cuatro dígitos de las tarjetas utilizadas.firstSix: List<String> Primeros seis digitos de la tarjeta utilizadaauthCode: List<String> codigo de autorización de la compratotalReauth: List<String> Monto total de reautorizartotalDocks: String Numero total de transacciones que hayhasPrevPage: boolean Especifica si hay una pagina anteriorhasNextPage: boolean Especifica si hay una pagina siguientenextPage: String numero de la pagina siguiente
val checkServices: CheckServices = CheckServices.getInstance(context)
checkServices.getPendingCheckouts(perPage, currentPage, search, filters, organization, date, object : PendingCheckoutCallback.Stub() {
override fun onSuccessful(response: PendingCheckOutResponse?) {
// Logueo de éxito y actualización del estado con la respuesta
Log.d("SUCCESS", "Checkouts pendientes obtenido")
}
override fun onError(error: ErrorResponse) {
Log.e("getPendingCheckouts", error.code)
}
})
} CheckServices checkServices = CheckServices.getInstance(this);
checkServices.getPendingCheckouts(currentPage, perPage, search, filters, organizationId, date, new PendingCheckoutCallback.Stub() {
@Override
public void onSuccessful(PendingCheckOutResponse response) {
// Successful
}
@Override
public void onError(ErrorResponse error) {
Log.d("getPendingCheckouts", error.code );
}
});