Muchas aplicaciones hoy en día requieren tener una pasarela de pago dentro de su aplicación para que los usuarios puedan realizar cualquier transacción dentro de sus aplicaciones para comprar cualquier producto o servicio. Muchas aplicaciones utilizan las funciones de la pasarela de pago, pero la integración de esta pasarela de pago es una tarea difícil en las aplicaciones de Android. Entonces, para que esta tarea sea simple y fácil , Razorpay ha brindado un servicio con la ayuda de esto, podemos integrar las soluciones de pago en nuestra aplicación muy fácilmente y también podemos administrar todos los métodos de pago en nuestra aplicación. En este artículo, veremos la implementación de una pasarela de pago en nuestra aplicación para Android.
¿Qué vamos a construir en este artículo?
Construiremos una aplicación de Android simple en la que mostraremos un EditText y un botón. Dentro de esta pantalla, debemos agregar el monto a pagar y al hacer clic en el botón, abriremos la pasarela de pago de Razorpay y realizaremos un pago. En este artículo, agregaremos credenciales de prueba para implementar Razorpay en Android. qué
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
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 de la biblioteca de pago de Razor en el archivo build.gradle
Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.
implementación ‘com.razorpay:checkout:1.6.4’
Después de agregar esta dependencia, sincronice su proyecto y ahora avanzaremos hacia la parte XML.
Paso 3: agregar permisos a Internet
Vaya a la aplicación > archivo AndroidManifest.xml y agréguele el siguiente código.
XML
<uses-permission android:name="android.permission.INTERNET" />
Paso 4: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" tools:context=".MainActivity"> <!--EditText text to enter amount--> <EditText android:id="@+id/idEdtAmount" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="20dp" android:hint="Enter amount to be payed" android:inputType="number" /> <!--button to make payment--> <Button android:id="@+id/idBtnPay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/idEdtAmount" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="Pay using RazorPay" android:textAllCaps="false" /> </RelativeLayout>
Paso 5: generar una clave de API para usar Razorpay
Explore el sitio de Razorpay en Google o puede hacer clic en el enlace aquí . Después de hacer clic en este enlace, simplemente debe registrarse con su correo electrónico y contraseña y agregar información básica, como su número de teléfono.
Nota: Aquí estamos creando una credencial de prueba para usar Razor Pay.
Dentro de la pantalla de configuración, haga clic en Crear una nueva opción de clave, se generará su clave. Usaremos ID de clave en nuestra aplicación para probar el pago de Razor. La clave de identificación comenzará con rzp_test
Paso 6: 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.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.razorpay.Checkout; import com.razorpay.PaymentResultListener; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends AppCompatActivity implements PaymentResultListener { // variables for our // edit text and button. private EditText amountEdt; private Button payBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initializing all our variables. amountEdt = findViewById(R.id.idEdtAmount); payBtn = findViewById(R.id.idBtnPay); // adding on click listener to our button. payBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on below line we are getting // amount that is entered by user. String samount = amountEdt.getText().toString(); // rounding off the amount. int amount = Math.round(Float.parseFloat(samount) * 100); // initialize Razorpay account. Checkout checkout = new Checkout(); // set your id as below checkout.setKeyID("Enter your key id here"); // set image checkout.setImage(R.drawable.gfgimage); // initialize json object JSONObject object = new JSONObject(); try { // to put name object.put("name", "Geeks for Geeks"); // put description object.put("description", "Test payment"); // to set theme color object.put("theme.color", ""); // put the currency object.put("currency", "INR"); // put amount object.put("amount", amount); // put mobile number object.put("prefill.contact", "9284064503"); // put email object.put("prefill.email", "chaitanyamunje@gmail.com"); // open razorpay to checkout activity checkout.open(MainActivity.this, object); } catch (JSONException e) { e.printStackTrace(); } } }); } @Override public void onPaymentSuccess(String s) { // this method is called on payment success. Toast.makeText(this, "Payment is successful : " + s, Toast.LENGTH_SHORT).show(); } @Override public void onPaymentError(int i, String s) { // on payment failed. Toast.makeText(this, "Payment Failed due to error : " + s, Toast.LENGTH_SHORT).show(); } }
Ahora ejecute su aplicación y vea el resultado de la aplicación.
Producción:
Como estamos usando credenciales de prueba, nuestro pago no se realizará. Para realizar sus pagos en vivo, debe hacer que su aplicación esté en vivo en la consola de Razorpay y generar una nueva clave.
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA