¿Cómo obtener detalles bancarios del código IFSC en Android?

Muchas aplicaciones, como la aplicación de comercio electrónico, requieren aceptar pagos de sus usuarios por proporcionar diferentes productos o servicios o para sus usuarios. Entonces, esta aplicación requiere que los usuarios ingresen los datos bancarios para los pagos. En esta pasarela de pago, se les pide a los usuarios que agreguen el código IFSC de sus bancos para obtener los detalles de sus bancos. Tantas aplicaciones tienen características dentro de su aplicación que, al ingresar el código IFSC del banco, los detalles bancarios del usuario, como la dirección del banco, la ciudad del banco y otros detalles comunes, se obtienen de ese código IFSC. Entonces, en este artículo, veremos cómo podemos obtener los datos bancarios comunes del código IFSC en Android. 

¿Qué vamos a construir en este artículo? 

Construiremos una aplicación simple en la que obtendremos el código IFSC del usuario a través de EditText y luego, el usuario debe hacer clic en un botón simple para obtener los datos de ese código IFSC, como la dirección del banco, el código MICR del banco. , número de contacto y otros detalles. Para realizar esta tarea usaremos una API simple que agregaremos a nuestra aplicación. Esta aplicación nos proporcionará los datos básicos de la API que está relacionada con el banco. A continuación se muestra la imagen GIF en la que veremos lo que vamos a construir en este artículo.

 Get Bank Details from IFSC Code in Android Sample GIF

Implementación paso a paso

Paso 1: Crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: agregue la dependencia a continuación en su archivo build.gradle  

A continuación se muestra la dependencia de Volley que usaremos para obtener los datos de la API. Para agregar esta dependencia, vaya a la aplicación > Gradle Scripts > build.gradle(app) y agregue la dependencia a continuación en la sección de dependencias.    

implementación ‘com.android.volley:volley:1.1.1’

Después de agregar esta dependencia, sincronice su proyecto y ahora avance hacia la parte XML.  

Paso 3: trabajar con el archivo activity_main.xml

Vaya al archivo activity_main.xml y consulte el siguiente código. A continuación se muestra el código para el archivo activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
  
    <!--heading text view-->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:text="IFSC Code Validator"
        android:textAlignment="center"
        android:textColor="@color/purple_500"
        android:textSize="30sp" />
      
    <!-- edit text for entering our IFSC code
         we are specifying input type as number 
         and we are also mentioning our input type
         as textcapCharacters because IFSC code is
         having all capital characters-->
    <EditText
        android:id="@+id/idedtIfscCode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:hint="Enter IFSC code"
        android:importantForAutofill="no"
        android:inputType="textCapCharacters"
        android:maxLines="1"
        android:singleLine="true"
        android:textAllCaps="true" />
      
    <!--button to get the data from IFSC code-->
    <Button
        android:id="@+id/idBtnGetBankDetails"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="50dp"
        android:text="Get Bank Details"
        android:textAllCaps="false" />
      
    <!--text view to display the 
        data received from IFSC code-->
    <TextView
        android:id="@+id/idTVBankDetails"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:padding="10dp"
        android:textAlignment="center"
        android:textAllCaps="false"
        android:textColor="@color/purple_500"
        android:textSize="15sp" />
      
</LinearLayout>

Paso 4: trabajar con el archivo MainActivity.java

Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

Java

import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
  
import org.json.JSONException;
import org.json.JSONObject;
  
public class MainActivity extends AppCompatActivity {
  
    // creating variables for edit text 
    // and our text views.
    private EditText ifscCodeEdt;
    private TextView bankDetailsTV;
      
    // creating a variable for 
    // our ifsc code string.
    String ifscCode;
      
    // creating a variable for request queue.
    private RequestQueue mRequestQueue;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // initializing our variables.
        ifscCodeEdt = findViewById(R.id.idedtIfscCode);
        Button getBankDetailsBtn = findViewById(R.id.idBtnGetBankDetails);
        bankDetailsTV = findViewById(R.id.idTVBankDetails);
          
        // initializing our request que variable with request queue 
        // and passing our context to it.
        mRequestQueue = Volley.newRequestQueue(MainActivity.this);
  
        // initialing on click listener for our button.
        getBankDetailsBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // getting string  from edittext.
                ifscCode = ifscCodeEdt.getText().toString();
                  
                // validating if the edit text
                // is empty or not.
                if (TextUtils.isEmpty(ifscCode)) {
                    // displaying a toast message if the text field is empty
                    Toast.makeText(MainActivity.this, "Please enter valid IFSC code", Toast.LENGTH_SHORT).show();
                } else {
                    // calling a method to display 
                    // our ifsc code details.
                    getDataFromIFSCCode(ifscCode);
                }
            }
        });
    }
  
    private void getDataFromIFSCCode(String ifscCode) {
  
        // clearing our cache of request queue.
        mRequestQueue.getCache().clear();
          
        // below is the url from where we will be getting 
        // our response in the json format.
        String url = "http://api.techm.co.in/api/v1/ifsc/" + ifscCode;
          
        // below line is use to initialize our request queue.
        RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
  
        // creating a json object request for our API.
        JsonObjectRequest objectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                // this method is used to get 
                // the response from the API.
                try {
                    if (response.getString("status").equals("failed")) {
                        // checking if the response is not loaded and
                        // status for the repose is fail.
                        // if response status is failure we are displaying 
                        // an invalid IFSC code in our text view.
                        bankDetailsTV.setText("Invalid IFSC Code");
                    } else {
                        // if the status is successful we are
                        // extracting data from JSON file
                        JSONObject dataObj = response.getJSONObject("data");
                        String state = dataObj.optString("STATE");
                        String bankName = dataObj.optString("BANK");
                        String branch = dataObj.optString("BRANCH");
                        String address = dataObj.optString("ADDRESS");
                        String contact = dataObj.optString("CONTACT");
                        String micrcode = dataObj.optString("MICRCODE");
                        String city = dataObj.optString("CITY");
  
                        // after extracting this data we are displaying
                        // that data in our text view.
                        bankDetailsTV.setText("Bank Name : " + bankName + "\nBranch : " + branch + "\nAddress : " + address + "\nMICR Code : " + micrcode + "\nCity : " + city + "\nState : " + state + "\nContact : " + contact);
                    }
                } catch (JSONException e) {
                    // if we get any error while loading data 
                    // we are setting our text as invalid IFSC code.
                    e.printStackTrace();
                    bankDetailsTV.setText("Invalid IFSC Code");
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                // if we get any error while loading json
                // data we are setting our text to invalid IFSC code.
                bankDetailsTV.setText("Invalid IFSC Code");
            }
        });
        // below line is use for adding object 
        // request to our request queue.
        queue.add(objectRequest);
    }
}

Paso 5: agregue permiso para Internet en el archivo de manifiesto 

Vaya a la aplicación > archivo AndroidManifest.xml y agréguele los siguientes permisos. 

XML

<uses-permission android:name="android.permission.INTERNET"/>

Después de agregar este permiso. Ejecute su proyecto y vea el resultado en la siguiente pantalla.  

Producción:

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *