This guide addresses the APIs that are used to automatically render an alternative billing system alongside Google Play's billing system for mobile and tablet users in South Korea and report resulting transactions. Before using these APIs, ensure the following:
- You've reviewed the requirements and enrolled in the KR program for alternative billing.
- You've integrated Play Billing Library 5.2 or higher.
The rest of the Google Play Billing integration recommended modules are the same as developers already would have for their current integration.
We recommend having a Google Play Developer API integration setup ready because the backend integration will leverage it.
Glossary of terms
Term conventions followed by this guide:
- Alternative billing APIs. APIs to render the user choice screen to users and for developers to report transactions completed on the developer's alternative billing system.
- Alternative billing system. Developer's alternative billing system offered alongside Google Play's billing system.
- External transaction. Transaction that is occurring outside of Google Play's billing system.
- External transaction token. A token provided to the developer through the Play Billing Library when the user selects alternative billing. Also used to notify Google Play of a successful purchase.
- External transaction ID. A unique identifier generated by the developer to identify a transaction.
Alternative billing settings in Play Console
Developers that have completed enrollment for the KR program can manage their alternative billing settings through Play Console:
- For each of your apps, opt in or out of offering an alternative billing system.
- Upload payment method logos in accordance with the guidelines. It's important to review and follow all of the format specifications. Logos uploaded in formats that don't follow these guidelines will not be shown for your alternative billing system on the user choice screen.
- If you offer subscriptions, provide the subscription management link.

User experience
The client-side APIs enable the following functionality:
- Google Play renders and manages the applicable information and user choice screens.
- If the user chooses to use Google Play's billing system, the billing flow continues using Google Play's billing interface as normal.
![]() Developer app. |
![]() Information screen for users (shown once per user in the app). |
![]() Billing choice screen. |
Example for illustrative purposes only.
Information screen for users
The information screen helps users understand the alternative billing systems being offered within the app and provides information about the choice so that users can make an informed decision. The information screen will be shown to users at the start of their first purchase in your app after alternative billing has been enabled. This message will not be displayed on subsequent purchases made by the same user in your app on the same device.
User choice screen
The user choice screen presents users with the option to use either the developer's alternative billing system or Google Play's billing system.
Anatomy of an alternative billing option
The alternative billing option on the user choice screen includes the following UI elements:
- App icon.
- App name.
- Image asset that includes payment methods offered by the developer.
- Additional indicator (and more UI element is not part of the image asset).
Image asset for payment methods
The single image asset is made up of multiple payment method cards and must follow the specifications defined in these guidelines.
Dimensions | 192dp X 20dp |
Card spacing | 8dp |
File format | PNG, transparent background |
Payment method variations
Developers can choose the number of available payment method icons they wish to include in the image asset, up to a maximum of 5.
No other images or text should be included in the image.
Card specifications
The payment method cards included in the image asset must follow the following guidelines for size, spacing, and style.
Card dimensions | 32dp X 20dp |
Inner padding | 3dp |
Outline | 1dp (inner stroke included in dimensions), Radius 2dp, #E0E0E0 |
Card background | Solid color (preferably white) |
Next steps
To learn more about integrating the alternative billing APIs, see the in-depth guides on in-app integration and backend integration.