[DESACTIVADO] Sincroniza transacciones y cierra el lote actual.¶
Se debe llamar a este método para realizar el cierre y el envío de lotes.
Métodos¶
| Suscripción | Descripción |
|---|---|
void closeBatch(SettlementRequest settlementRequest, PaymentCallback paymentCallback) |
Sincroniza transacciones y cierra el lote actual. |
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
request |
SettlementRequest |
Sí | Objeto de transferencia de datos que contendrá la información de la solicitud de cierre del lote. Tenga en cuenta que no se requieren todos los parámetros. |
callback |
PaymentCallback |
Sí | Interfaz que se ejecutará para notificaciones de éxito o error del proceso de cierre del lote. |
Detalhe dos parámetros request (SettlementRequest)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
ApplicationInfo.credentials |
Credentials |
Sí | 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 |
Sí | Versión de la aplicación que solicita el pago. |
printMerchantReceipt |
Boolean |
No | Indica si se debe imprimir el recibo del establecimiento o no. |
(DEPRECATED: Usar SettlementCallbackV2)
callback (SettlementCallback)¶
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
onSuccess |
Método de notificación de éxito. | ||
Settlement.Receipt.merchantVia |
String |
Sí | Devuelve un recibo del adquirente con la información de cierre del lote. |
Settlement.BatchNumber |
String |
Sí | Numero de lote. |
acquirerResponseCode |
String |
Sí | Código de respuesta del host. |
terminalId |
String |
Sí | Identificación de terminal |
acquirerAdditionalMessage |
String |
No | Mensaje enviado en el campo de respuesta de EPS 63, para ser impreso o mostrado al final del flujo de transacciones. La aplicación de pagos sigue siendo responsable de mostrar en pantalla o verificar el contenido presente en este campo, pero también debe enviar el valor recibido a la aplicación integrada para que pueda aplicar sus reglas de negocio basadas en el contenido de este campo. |
onError |
Método de notificación en caso de falla. | ||
ErrorData.paymentsResponseCode |
String |
Sí | 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 solo se devolverá este error si la transacción no está autorizada por el adquirente. |
ErrorData.responseMessage |
String |
Sí | Mensaje descriptivo de la causa de no autorización. Si la transacción fue denegada por el adquirente, contendrá el mensaje devuelto por el adquirente. |
ErrorData.acquirerAdditionalMessage |
String |
No | Mensaje enviado en el campo de respuesta de EPS 63, para ser impreso o mostrado al final del flujo de transacciones. La aplicación de pagos sigue siendo responsable de mostrar en pantalla o verificar el contenido presente en este campo, pero también debe enviar el valor recibido a la aplicación integrada para que pueda aplicar sus reglas de negocio basadas en el contenido de este campo. |
Ejemplo¶
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");
SettlementRequest settlementRequest = new SettlementRequest();
settlementRequest.setApplicationInfo(appInfo);
settlementRequest.setPrintMerchantReceipt(true);
try {
paymentClient.closeBatch(settlementRequest, this);
} catch (ClientException e) {
Log.e(TAG, "Error while closing batch.", e);
}
}
@Override
public void onError(ErrorData errorData) {
Log.e(TAG, "Error: " + errorData.getResponseMessage());
}
@Override
public void onSuccess(Settlement settlement) {
Log.i(TAG, "Success!");
}
}