如何解决xamarin android项目支付网关提交金额,显示金额提交失败错误
我正在使用 xamarin android 项目添加支付网关,但出现交易失败错误。支付网关打开并运行良好,但当我提交金额时,出现交易失败错误。 我的代码是:
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,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);
}
}
}
}
}
当我运行程序时一切正常,支付网关打开,它要求付款,但当我提交金额时,它显示错误交易失败。 我已经在我的移动设备上安装了相应的支付网关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。