Home
Blog
How to Test Google Play Billing's DEFERRED Proration Mode: A Complete Guide for Developers

How to Test Google Play Billing's DEFERRED Proration Mode: A Complete Guide for Developers

Portrait photo of blog author
Dan Burcaw
Co-Founder & CEO

Google Play Billing provides several Proration Modes via the BillingFlowParams.ProrationMode API, allowing developers to manage subscription upgrades and downgrades effectively. One of the most complex modes to handle is DEFERRED, which postpones the new subscription plan until the current one expires. Testing this mode can be tricky but essential for a smooth user experience.

Table of Contents:

In this blog post:

In this article, we’ll walk through how to test DEFERRED Proration Mode, common issues that arise during testing, and how to resolve them. Additionally, we’ll explain what Proration Modes are and highlight other types available beyond DEFERRED.

What is Proration Mode?

Proration Modes define how Google Play Billing handles the transition when a user changes from one subscription plan to another. These modes determine when the new subscription takes effect and how the remaining balance of the current plan is treated.

Types of Proration Modes

Google Play offers the following Proration Modes:

  1. IMMEDIATE_WITH_TIME_PRORATION: The new subscription starts immediately, and the remaining time on the current plan is prorated and credited.
  2. IMMEDIATE_AND_CHARGE_PRORATED_PRICE: The new subscription starts immediately, and the user is charged a prorated amount for the difference.
  3. IMMEDIATE_WITHOUT_PRORATION: The new subscription starts immediately, but there is no adjustment for the remaining time of the current subscription.
  4. DEFERRED: The new subscription starts when the current plan expires, often used for downgrades.

Understanding DEFERRED Proration Mode in Google Play Billing

DEFERRED Proration Mode postpones the subscription plan change until the current subscription cycle ends. Google describes this mode as:
“Replacement takes effect when the old plan expires, and the new price will be charged at the same time.”

This mode is most commonly used for subscription downgrades. If a user downgrades from a higher-tier plan to a lower-tier one, the new plan won’t take effect until the renewal date.

Google Play deferred proration mode sheet

Example Scenarios:

  • Monthly Plans: If a user downgrades in the middle of a billing cycle (e.g., day 15 of a 30-day cycle), the change won’t take effect until the renewal date—up to 31 days later.
  • Annual Plans: If a user downgrades on day 1 of a yearly subscription, the change won’t take effect for the remaining 365 days.

How to Test DEFERRED Proration Mode Step-by-Step

Testing DEFERRED Proration Mode involves unique challenges because the subscription change doesn’t take effect immediately. Here’s a step-by-step guide to help ensure your implementation works as expected:

1. Set Up Your Development Environment

  • Ensure that your in-app products or subscriptions are active in the Google Play Console.
  • Create different subscription tiers (e.g., basic, premium) to test downgrades and upgrades.

2. Testing via a Device Development Build

  • Initiate the downgrade process. After confirming the subscription change, you should receive a confirmation email from Google Play.
  • Observe that the deferred subscription won’t replace the current one until the existing subscription expires.
  • If the system gets stuck (e.g., the current plan remains active even after the expiration), you can manually cancel the subscription via Play Store > Payments & subscriptions > Subscriptions.
Google Play upgrade downgrade confirmation email

3. End-to-End Testing via a Test Track Build

  • Signed Builds: For more accurate results, use a signed APK distributed through a Test Track (Internal, Alpha, or Beta). This will simulate a real-world environment for testing subscription changes.

Steps for Test Track Setup:

  • Ensure Active Products: Make sure your subscription products are active in Play Console.
  • Add Testers to Test Track: Go to the Internal, Alpha, or Beta test tracks in Play Console and add approved testers. Testers must also join the test via the link.
  • License Testing: Add the testers' Google accounts under Setup > License Testing to allow them to make purchases using test credit cards.
  • Verify Google Play Account: Ensure the correct Google account is signed into the Play Store before testing, especially if multiple accounts are on the device.

4. Validate Results

  • Check if the deferred plan activates correctly after the current subscription expires.
  • Look for any error codes or confirmation emails related to the plan change.

Troubleshooting Common Issues in Google Play Billing

Testing DEFERRED Proration Mode might present various challenges. Here are some common issues and their solutions:

  • Subscription Plan Change Error (DF-DFERH-01): This error indicates a problem with the subscription change. Try canceling the subscription manually, resetting the test app, or reinstalling it.
  • Stuck Deferred Plan: If the system keeps the current plan active even after expiration, manually cancel the subscription from Play Store > Payments & subscriptions > Subscriptions.
  • Errors When Upgrading: Users attempting to upgrade while a DEFERRED change is pending will encounter an error:
    "We are unable to change your subscription plan."
  • Play Billing Doesn’t Surface DEFERRED Transactions: Until the new plan takes effect, there won’t be a Purchase Token or Order Number available in the system.
Google Play subscription plan change error

👉Read More: Fix Unsupported Version Google Play Billing

Practical Considerations for Testing DEFERRED Proration Mode

When testing DEFERRED Proration Mode, keep these real-world scenarios in mind:

  • Lack of User Visibility: End users won’t see deferred transactions in Play Store > Payments & subscriptions. They’ll only receive a confirmation email when the plan change occurs.
  • Reverting Subscription Changes: If a user tries to revert the change to the original subscription plan before the DEFERRED change takes effect, an error message will appear:
    "We are unable to change your subscription plan."

Simplifying Google Play Billing with Nami

Managing subscription proration and handling the complexities of DEFERRED Proration Mode can be challenging. With NamiML, developers can streamline their Google Play Billing implementation. Here's what we offer:

  • A proven solution for handling subscription downgrades, upgrades, and proration modes.
  • An SDK that requires no server-side code and is easy to adopt.
  • Built-in native paywall templates, A/B testing, and analytics to optimize your subscription model.
  • A generous free tier with many features not available in homegrown implementations.

    Focus on building a great app experience while we handle your billing. Get started for free with NamiML today!

Conclusion

Testing DEFERRED Proration Mode in Google Play Billing requires understanding its intricacies, especially regarding how subscription changes are delayed. Following the step-by-step guide ensures that your implementation works correctly and that potential issues are addressed before going live. With tools like NamiML, you can simplify this process, reducing the hassle of handling proration modes and focusing on delivering an exceptional user experience.

👉Read More: Set Up IAP Google Play Android App


Dan Burcaw is Co-Founder & CEO of Nami ML. He built a top mobile app development agency responsible for some of the most elite apps on the App Store and then found himself inside the mobile marketing industry after selling his last company to Oracle.

Sign up to our newsletter

Get the latest articles delivered straight to your inbox.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Similar articles

Read similar articles to this one