Ir para o conteúdo

Consultar los Campos Adicionales de PayStore

PayStore utiliza una potente función para pasar los parámetros registrados en el servidor para que los utilicen las terminales, sin tener que cambiar el mensaje de inicio. Esto brinda una enorme flexibilidad para crear nuevas funciones en las apps.

Los Campos Adicionales (también llamados Parámetros) son información que se puede registrar en el Portal PayStore y se puede configurar para todos los comerciantes y terminales del Facilitador, para un grupo específico de comerciantes, para un comerciante (afecta a todos las terminales de ese comerciante) o para una terminal específica. Esta información puede ser leída por una aplicación a través de Providers.

La clase ConfigurationStoreContract es responsable de proporcionar esta información. A continuación se muestra un ejemplo de su implementación:

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;

import br.com.phoebus.android.payments.api.provider.ConfigurationStoreContract;

public class ConfigController {

  private Context context;

  public ConfigController(Context context) {
    this.context = context;
  }

  public String getProperty(String key) {

    Uri.Builder uriBuilder = ConfigurationStoreContract.getUriBuilder();
    uriBuilder.appendQueryParameter(ConfigurationStoreContract.column.KEY, key);
    ContentResolver resolver = this.context.getContentResolver();

    String value = null;
    try (Cursor query = resolver.query(uriBuilder.build(), null, null, null, null)) {

      if (query != null && query.moveToFirst()) {
        value = query.getString(query.getColumnIndex(ConfigurationStoreContract.column.VALUE));
      }
    }

    return value;
  }
}

Para usar esta clase, simplemente use la clave previamente definida en los Campos Adicionales como parámetro, como se muestra a continuación:

    ConfigController config = new ConfigController(mContext);
    String conteudoCampoAdicional = config.getProperty("tu_llave");