question

BhautikBhavshar-5902 avatar image
0 Votes"
BhautikBhavshar-5902 asked

xamarin android project payment gateway submit amount, showing amount submission fail error

i am adding payment gateway with xamarin android project but i am getting transaction failed error. The payment gateway opens and runs well but when i submit the amount i got transaction failed error. my code is:


 using System;
 using System.Net.Http;
 using System.Text;
 using Android.App;
 using Android.OS;
 using Android.Runtime;
 using Android.Support.V7.App;
 using Android.Views;
 using System.Threading.Tasks;
 using Android.Widget;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Android.Content;
 using System.Collections.Generic;
 using Android.Content.PM;
    
 namespace androidbindingapp
 {
 [Activity(Label = "@string/app_name", Theme = "@style/AppTheme.NoActionBar", MainLauncher = true)]
 public class MainActivity : AppCompatActivity
 {
    
     protected override void OnCreate(Bundle savedInstanceState)
     {
         base.OnCreate(savedInstanceState);
         Xamarin.Essentials.Platform.Init(this, savedInstanceState);
         // Set our view from the "main" layout resource
         SetContentView(Resource.Layout.activity_main);
         Button button = (Button)FindViewById(Resource.Id.button1);
         button.Click += BtnOnClick;
      }
    
      private void BtnOnClick(object sender, EventArgs eventArgs)
     {
    
             // Create your application here
    
             string amount = "1";
             string transaction_ref_id = Guid.NewGuid().ToString().Substring(0, 10) + "UPI";
             string transaction_ref = Guid.NewGuid().ToString().Substring(0, 10);
             using (var uri = new Android.Net.Uri.Builder()
                 .Scheme("upi")
                 .Authority("pay")
                 .AppendQueryParameter("pa", "33123451234@SBIN0004875.ifsc.npci")
                 .AppendQueryParameter("pn", "vijay shankar tiwari")
                 .AppendQueryParameter("mc", "9999")
                 .AppendQueryParameter("tn", "pay tips by vijay")
                 .AppendQueryParameter("tr", transaction_ref_id)
                 .AppendQueryParameter("tid", transaction_ref)
                 .AppendQueryParameter("am", amount)
                 .AppendQueryParameter("cu", "INR")
                 .Build())
             {
                 Intent = new Intent(Intent.ActionView);
                 Intent.SetData(uri);
             }
    
             if (IsAppInstalledinDevice("in.org.npci.upiapp"))
             {
                 Intent.SetPackage("in.org.npci.upiapp");
                 StartActivityForResult(Intent, 9999);
             }
             else
             {
                 var packagename = PackageName;
                 Toast.MakeText(Android.App.Application.Context, "Bhim is not available in your 
                 device", ToastLength.Long).Show();
             }
            
     }
    
     private bool IsAppInstalledinDevice(string PackageName)
     {
         PackageManager pm = this.PackageManager;
         bool installed = false;
         try
         {
             pm.GetPackageInfo(PackageName, PackageInfoFlags.Activities);
             installed = true;
         }
         catch (PackageManager.NameNotFoundException ex)
         {
             installed = false;
         }
         return installed;
     }
    
     public override void OnRequestPermissionsResult(int requestCode, string[] permissions, 
     [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
     {
         Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, 
         grantResults);
    
         base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
     }
    
     protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
     {
         base.OnActivityResult(requestCode, resultCode, data);
    
         if (data != null)
         {
             TextView textView = FindViewById<TextView>(Resource.Id.textView1);
             String dataString = data.GetStringExtra("txStatus");
             if (dataString != null)
             {
                 textView.SetText(dataString, Android.Widget.TextView.BufferType.Normal);
             }
         }
    
     }
    }
  }

when i run the program then everything works fine, the payment gateway opens, it asks for payment but when i submit the amount then it shows the error transaction failed. i have install the corresponing payment gateway in my mobile device.

dotnet-xamarin
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

0 Answers