Razor Pay с помощью Xamarin Forms - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь добавить Razor Pay в свое приложение Xamarin Form, хотя прямого способа создания библиотеки привязки из файла aar не существует. в соответствии с документом Razor Pay я добавил несколько строк кода, которых достаточно для работы с тестовой учетной записью, но я столкнулся с ошибкой, которую я не знаю, как ее решить

Вот выбрасываемое исключение

 com.google.android.gms.tasks.OnSuccessListener.onSuccess(java.lang.Object)

вот мой стек вызовов

07-12 21:36:07.276 D/com.razorpay.checkout( 9046): java.lang.AbstractMethodError: abstract method 
"void com.google.android.gms.tasks.OnSuccessListener.onSuccess(java.lang.Object)"
   07-12 21:36:07.276 D/com.razorpay.checkout( 9046):   at 
 com.google.android.gms.tasks.zzn.run(Unknown Source:4)
 07-12 21:36:07.276 D/com.razorpay.checkout( 9046):     at 
 android.os.Handler.handleCallback(Handler.java:873)
 07-12 21:36:07.276 D/com.razorpay.checkout( 9046):     at 
 android.os.Handler.dispatchMessage(Handler.java:99)

Вот мой код, который я реализовал

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity, IPaymentResultWithDataListener, IOnSuccessListener, IOnFailureListener
{
    public App app;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);
        Checkout.Preload(this);
        Checkout checkOut = new Checkout();
        checkOut.SetKeyID("MyAPIKEY");
        Forms.SetFlags("IndicatorView_Experimental");
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        CachedImageRenderer.Init(true);
        Window.SetStatusBarColor(Android.Graphics.Color.Rgb(13, 141, 190));
        app = new App();
        LoadApplication(app);

        if (IsPlayServiceAvailable() == false)
        {
            throw new System.Exception("This device does not have Google Play Services and cannot receive push notifications.");
        }
        CreateNotificationChannel();
        LoginWithSocialIconViewModel.AuthenticateAction += OAuthGoogle;
        Window.SetSoftInputMode(Android.Views.SoftInput.AdjustResize);

        Activity activity = this;
        JSONObject options = new JSONObject();
        options.Put("description", "My Sample Payment activity");
        options.Put("order_id", "order_EAMgUyLXrMfbmL");
        options.Put("currency", "INR");
        options.Put("amount", "100");
        checkOut.Open(activity, options);
    }

Может ли кто-нибудь понять, что мне не хватает

1 Ответ

0 голосов
/ 19 июля 2020

Просто вставьте это здесь, чтобы мы могли закрыть вопрос.

Вы получаете эту ошибку java.lang.AbstractMethodError: abstract method "void com.google.android.gms.tasks.OnSuccessListener.onSuccess(java.lang.Object)" всякий раз, когда ваши пакеты сервисов Google Play несовместимы с библиотекой, которую вы пытаетесь добавить.

Таким образом, вам придется либо изменить версию пакетов сервисов Google Play, либо изменить версию файла библиотеки AAR.

...