Ir para o conteúdo

Abrir Lote

[DEPRECATED] openBatch()


Este método permite abrir un lote con un número específico.

Métodos

Suscripción Descripción
void openBatch(OpenBatchRequest request, PaymentCallback<OpenBatchResponse> paymentCallback) Realiza la apertura del lote con un número específico.

Parámetros

Nombre Tipo Obligatorio Descripción
request OpenBatchRequest Objeto de transferencia de datos que contendrá la información de la solicitud del lote.
callback PaymentCallback Interfaz que se ejecutará para las notificaciones de éxito o error durante el proceso de apertura del lote.

Detalle de los Parámetros request (OpenBatchRequest)

Nombre Tipo Obligatorio Descripción
ApplicationInfo.credentials Credentials Credenciales de la aplicación que está solicitando la operación, según el registro en PayStore. Básicamente, es la identificación de la aplicación y el token de acceso.
ApplicationInfo.softwareVersion String Versión de la aplicación que está solicitando el lote.
batchNumber long No Número específico del lote.

callback (PaymentCallback)

Nombre Tipo Obligatorio Descripción
onSuccess Método para notificación en caso de éxito.
OpenBatchResponse.batchNumber String Retorna el número del lote abierto.
onError Método para notificación en caso de error.
ErrorData.paymentsResponseCode String Código de respuesta para el error que ocurrió. Consulte Códigos de Respuesta
ErrorData.acquirerResponseCode String Código de respuesta para el error ocurrido devuelto por el adquirente. Tenga en cuenta que solo se devolverá este error si la transacción no es autorizada por el adquirente.
ErrorData.responseMessage String Mensaje descriptivo de la causa de la no autorización. Si la transacción fue rechazada por el adquirente, contendrá el mensaje devuelto por el adquirente.
ErrorData.acquirerAdditionalMessage String Mensaje enviado en el campo 63 de la respuesta EPS, para ser impresa o mostrada al final del flujo transaccional. La aplicación de pagos sigue siendo responsable de mostrarlo en la pantalla o verificar el contenido presente en este campo, pero también debe enviar el valor recibido a la aplicación integrada para que esta 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");

    OpenBatchRequest openBatchRequest = new OpenBatchRequest();
    printBatchReceiptRequest.setApplicationInfo(appInfo);
    printBatchReceiptRequest.setBatchNumber(999L);

    try {
      paymentClient.openBatch(openBatchRequest, this);
    } catch (ClientException e) {
      Log.e(TAG, "Error", e);
    }
  }

  @Override
  public void onError(ErrorData errorData) {
    Log.e(TAG, "Error: " + errorData.getResponseMessage());
  }

  @Override
  public void onSuccess(Object o) {
    Log.i(TAG, "Success!");
  }
}