Personaliza la aplicación principal¶
A través de esta opción, el Facilitador puede definir su apk como el principal. Tan pronto como se conecte la terminal, se llamará a la aplicación configurada en lugar de la aplicación de pago predeterminada de PayStore.
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| packageName | String | Sí | Nombre del paquete de la aplicación |
| callback | PaymentCallBack | Sí | Interfaz que se ejecutará para notificaciones de éxito o error. |
Detalle de los parámetros
callback
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| onSuccess | Método de notificación de éxito | ||
| onError | Método de notificación en caso de error. | ||
| ErrorData.paymentsResponseCode | String | Sí | Código de respuesta para el error que ocurrió. Ver Códigos de Respuesta |
| ErrorData.responseMessage | String | Sí | Mensaje descriptivo de la causa del error. |
Ejemplo¶
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import br.com.phoebus.android.payments.api.ErrorData;
import br.com.phoebus.android.payments.api.PaymentClient;
import br.com.phoebus.android.payments.api.exception.ClientException;
public class SetMainAppActivity extends AppCompatActivity {
private PaymentClient paymentClient;
private EditText packageNameEdt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle(R.string.setMainApp);
setContentView(R.layout.activity_set_main_app);
this.packageNameEdt = ((EditText) this.findViewById(R.id.packageNameEdt));
this.packageNameEdt.setText("br.com.phoebus.payments.demo");
this.paymentClient = new PaymentClient();
this.paymentClient.bind(this.getApplicationContext());
}
public void doSetMainApp(View view) {
if (!isDataValid()) return;
try {
this.paymentClient.setMainApp(packageNameEdt.getText().toString(), new PaymentClient.PaymentCallback() {
@Override
public void onSuccess(Object data) {
Toast.makeText(SetMainAppActivity.this, "App principal definido!", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(ErrorData errorData) {
Toast.makeText(SetMainAppActivity.this, "Erro ao definir app principal: " + errorData.getPaymentsResponseCode() +
" = " + errorData.getResponseMessage(), Toast.LENGTH_LONG).show();
}
});
} catch (ClientException e) {
e.printStackTrace();
Toast.makeText(SetMainAppActivity.this, "Falha na chamada do serviço: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
private boolean isDataValid() {
boolean ret = true;
if ("".equals(this.packageNameEdt.getText().toString())) {
this.packageNameEdt.setError(getString(R.string.requieredFieldError));
ret = false;
}
return ret;
}
}