【问题标题】:Android in-app purchase error: Your order could not be processedAndroid 应用内购买错误:无法处理您的订单
【发布时间】:2017-06-09 08:04:45
【问题描述】:

我无法正常使用应用内购买。在实施应用内购买时,我按照此处的 Google 开发者网站上的步骤进行操作: https://developer.android.com/google/play/billing/billing_integrate.html

该应用已在 Google Play 商店中发布,我正在尝试使用与我的 Google 开发者帐户不同的帐户购买应用内购买(我尝试了其他几个帐户)。我的应用程序的最新版本是在 1 月 18 日完成的。

所以关于代码,一切似乎都很好,并且通过这段代码启动了购买流程。 buyConsumable 方法中的引用是 SKU。

public void buyConsumable(String reference, BuyConsumableCompletionHandler handler) {
    this.reference = reference;
    defaultHandler = handler;

    if(iabHelper != null) {
        try {
            iabHelper.launchPurchaseFlow(activity, reference, 10001, this);
        } catch (Exception e) {
            Log.e(Constants.ERROR, e.getLocalizedMessage());
            defaultHandler.purchaseFailed();
        }
    } else {
        defaultHandler.purchaseFailed();
    }
}

我使用默认的 iabHelper 没什么特别的。当调用启动流程并出现 Google Play 商店弹出窗口时,我在我的 Android 监视器中看到以下异常:

01-24 14:29:53.891 4865-5272/? E/Parcel:解组时找不到类:com.google.android.finsky.billing.lightpurchase.PurchaseParams java.lang.ClassNotFoundException:com.google.android.finsky.billing.lightpurchase.PurchaseParams 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:324) 在 android.os.Parcel.readParcelableCreator(Parcel.java:2404) 在 android.os.Parcel.readParcelable(Parcel.java:2358) 在 android.os.Parcel.readValue(Parcel.java:2264) 在 android.os.Parcel.readArrayMapInternal(Parcel.java:2614) 在 android.os.BaseBundle.unparcel(BaseBundle.java:221) 在 android.os.BaseBundle.getString(BaseBundle.java:920) 在 android.content.Intent.getStringExtra(Intent.java:6195) 在 com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2699) 在 com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2161) 在 com.android.server.am.ActivityManagerService.startActivityInPackage(ActivityManagerService.java:6877) 在 com.android.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:310) 在 com.android.server.am.ActivityManagerService.startActivityIntentSender(ActivityManagerService.java:6635) 在 android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:292) 在 com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3991) 在 android.os.Binder.execTransact(Binder.java:453) 引起:java.lang.ClassNotFoundException:com.google.android.finsky.billing.lightpurchase.PurchaseParams 在 java.lang.Class.classForName(本机方法) 在 java.lang.BootClassLoader.findClass(ClassLoader.java:781) 在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:469) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:324) 在 android.os.Parcel.readParcelableCreator(Parcel.java:2404) 在 android.os.Parcel.readParcelable(Parcel.java:2358) 在 android.os.Parcel.readValue(Parcel.java:2264) 在 android.os.Parcel.readArrayMapInternal(Parcel.java:2614) 在 android.os.BaseBundle.unparcel(BaseBundle.java:221) 在 android.os.BaseBundle.getString(BaseBundle.java:920) 在 android.content.Intent.getStringExtra(Intent.java:6195) 在 com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2699) 在 com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2161) 在 com.android.server.am.ActivityManagerService.startActivityInPackage(ActivityManagerService.java:6877) 在 com.android.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:310) 在 com.android.server.am.ActivityManagerService.startActivityIntentSender(ActivityManagerService.java:6635) 在 android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:292) 在 com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3991) 在 android.os.Binder.execTransact(Binder.java:453) 原因:java.lang.NoClassDefFoundError: Class not found using the boot class loader;没有可用的堆栈跟踪

我仍然可以完成购买,所以我按下购买按钮,然后使用我的 Paypal/CC 购买应用内购买。我在 Android 监视器中收到以下错误:

E/Volley:[4116] c.a:https://android.clients.google.com/fdfe/ees/commitPurchase 的意外响应代码 500

然后在我的屏幕上弹出以下错误:

我检查了您在点击应用并导航到服务和 API 时从 Google 开发者控制台获得的许可代码,该代码也与我在应用中使用的代码相同。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: java android in-app-purchase in-app-billing


    【解决方案1】:

    在向 Google 支持发送大量电子邮件后,终于能够找到实时聊天功能。 Google 支持人员告诉我,我的 Google Wallet 帐户已被禁用。该问题现已通过电子邮件发送给 Google 买家付款支持团队,以进行进一步调查和修复。他们会就这个问题通过电子邮件与我联系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多