ONE store IAP Release Notes
Relaese ONE store In-app purchase SDK V19.01
ONE store In-app purchase SDK V19.01 has been released.
The major changes are as follows:
Issues of conflict with security solutions that check app integrity have been resolved.
Loading issues that occurred during the download and installation of the global ONE store app when the domestic ONE store app is already installed have been fixed.
Settings to change development environment during the development stage are provided. The following two settings offer an environment for development with either domestic or global ONE store:
ONE store IAP Library SDK 19.00.02 is updated.
Main changes are as follows:
Declaration of pending intents mutability (https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability)
Pending intents mutability has been declared to respond to Android 12 within the SDK.
Apps targeting Android 12 (TargetSDK 31) must be updated to 19.00.02.
IAP Library Download (19.00.02)
Release ONE store IAP Library API V6(SDK V19)
ONE store IAP library API V6(SDK V19.00) has been released. Main changes are as follows.
You must apply ONE store IAP library API V6(SDK V19) to new in-app.
It is available to migrate the in-app applied with ONE store IAP library API V6(SDK V17) to API V6(SDK V19).
Since ONE store IAP API V4(SDK V16) has been designed to the structure totally different from the later versions, it cannot be migrated to ONE store IAP API V4(SDK V19).
Remove ONE store IAP API version
Now, you do not need to add the in-app API version in the app’s manifest.
API Version meta-data will be added to IAP SDK V19.
Acknowledge purchase
In the app using ONE store IAP library API V6(SDK V19) and above, purchase must be acknowledged within 3 days.
Unless the purchase is acknowledged within 3 days, it will be judged that the item has not been normally provided, and thereby the purchase will be cancelled.
You can acknowledge the purchase by using one of the following methods
If the in-app is consumable, use PurchaseClient.consumeAsync().
If the in-app is not consumable, use PurchaseClient.acknowledgeAsync().
As for Monthly auto-renewal product, you need to acknowledge the purchase only for the first billing.
If ONE store IAP API V6(SDK V19) has been applied, the purchase MUST be acknowledged within 3 days.
Note that if the purchase is not acknowledged within 3 days, it will be cancelled.
Obtain market identification code
For IAP library V6 and above, the market identification code is necessary to use Server to Server API.
You can obtain the market identification code through getStoreInfoAsync().
Changes in PurchaseClient API
| V5 (SDK V17) | V6(SDK V19) |
Connect to billing module | connect | startConnection |
Disconnect with billing module | terminate | endConnection |
Check support status | isBillingSupportedAsync | X |
Purchase in-app | launchPurchaseFlowAsync | launchPurchaseFlow |
Consume in-app | consumeAsync | consumeAsync |
Acknowledge in-app purchase | X | acknowledgeAsync |
Purchase history of unconsumed in-app (including monthly automatic payment) | queryPurchasesAsync | queryPurchasesAsync |
In-app product details | queryProductsAsync | queryProductDetailsAsync |
Change monthly automatic payment status | manageRecurringProductAsync | manageRecurringProductAsync |
Update or install billing module | launchUpdateOrInstallFlow | launchUpdateOrInstallFlow |
Call ONE store login | launchLoginFlowAsync | launchLoginFlowAsync |
Check market identification code | X | getStoreInfoAsync |
Changes in Server API
Items | API list | API URI | Changes | |
---|---|---|---|---|
V5 (SDK V17) | V6 (SDK V19) | |||
Change | Issue OAuth token | /v2/oauth/token | /v6/oauth/token | Delete the status field among the response specifications. Check normality (200) with Http response code.
|
Remove | Check purchased in-app product details | /v2/purchase/details/{purchaseId}/ {packageName} | N/A | Remove the ‘Check purchased in-app product details’ API for enhanced security. Integrate with ‘Check purchased in-app product details by in-app ID’.
|
Change | Check purchased in-app product details by in-app ID | /v2/purchase/details-by-productid /{purchaseId}/{packageName}/{productId} | /v6/apps/{packageName}/purchases/inapp/products /{productId}/{purchaseToken} | Add the purchaseId, acknowledgeState fields to the response specifications. |
Change | Check purchased Monthly auto-renewal product details | /v2/purchase/recurring-details/{purchaseId}/{packageName} | /v6/apps/{packageName}/purchases/auto/products /{productId}/{purchaseToken} | Add acknowledgeState, lastPurchaseId, lastPurchaseState to the response specifications. Remove price, developerPayload, purchaseState from the response specifications.
|
Remove | Check last purchased Monthly auto-renewal product details | /v2/purchase/last-recurring-details/{purchaseId}/{packageName} | N/A | Integrate to the ‘Check purchased Monthly auto-renewal product details’ API. |
Change | Cancel automatic payment | /v2/purchase/manage-payment-status/{purchaseId}/{packageName}/cancel | /v6/apps/{packageName}/purchases/auto/products /{productId}/{purchaseToken}/cancel | Change the response specifications for processing success. |
Change | Cancel automatic payment cancellation | /v2/purchase/manage-payment-status/{purchaseId}/{packageName}/reactivate | /v6/apps/{packageName}/purchases/auto/products /{productId}/{purchaseToken}/reactivate | Change the response specifications for processing success. |
Change | Check purchase cancellation details | /v2/purchase/voided-purchases/ {packageName} | /v6/apps/{packageName}/voided-purchases | For improving API usability, the standard for checking purchase cancellation details (startTime, endTime) is changed to the purchase cancellation time in the purchase time. Add purchaseToken, marketCode to the response specifications.
|
Change | Consume purchased in-app product | /v2/purchase/consume/{purchaseId}/ {packageName} | /v6/apps/{packageName}/purchases/all/products/ {productId}/{purchaseToken}/consume | Change the response specifications for processing success. |
Add | Acknowledge purchase | N/A | /v6/apps/{packageName}/purchases/all/products/ {productId}/{purchaseToken}/acknowledge | Newly add the ‘acknowledge purchase’ API. |
Change PNS message specifications
To support currencies other than the Korean won, the data type of billing amount (price) has changed from Number to String.
To support currencies other than the Korean won, the currency code (priceCurrencyCode) of the billing amount has been added.
To support currencies other than the Korean won, the data type of the amount per payment method (amount) has changed from Number to String.
The purchaseToken, environment, marketCode fields have been added to the response specifications.
For the specification details, refer to ‘PNS message detailed change history’.
ONE store IAP Library API V5(SDK V17)
The API version needs to be specified in the 'AndroidManifest.xml' file in the developer’s application as seen below.
For details, refer to the ‘Set up Android Manifest file’ part of the ‘Pre-preparations for Application of ONE store In-App Purchase (IAP)’ page.
The improvements made in API V5 (SDK V17) are as follows.
Items Improvement details Descriptions API
Introduce the ‘Consume’ concept.
The logic is provided to restore in the app when the item is not provided.
Support Custom PID
The developer can directly enter in-app ID (PID), and therefore he/she can generate and operate intuitive PIDs.
Provide universal IAP interface
The app that has been developed targeting other markets, can be launched on ONE store without big development efforts in coding.
Test environment
Provide the development/commercial test environments separately.
Provide the same level of ONE store test environment as the developer's review environment.
In the developer’s development environment, development/test can be performed by interworking with ONE store Sandbox. In the developer’s commercial environment, it is available to make payment in ONE store commercial environment.
If the payment is made after having logged in with the ID, which has been registered as test ID on ONE store Developer Center, the developer can freely make the purchase cancellation.
Items
Developer
Development environment
Commercial environment
ONE store test environment
Sandbox
O
-
Commercial environment (payment)
-
O
Billing window UI
Available to select the full/pop-up billing screens
It is available to select the full or pop-up billing screens.
For setting up the billing screen, refer to the ‘Set up Android Manifest file’ part of the ‘Pre-preparations for Application of ONE store In-App Purchase (IAP)’ page.
Interworking method
Available to select IAP SDK, AIDL
It is available to directly interwork with OSS (ONE store service) by using AIDL as well as the existing SDK method. However, in the terminal in which OSS has not been installed, IAP fails to work normally. For OSS installation, refer to the ‘Install ONE store app’ part of the ‘Pre-preparations for Application of ONE store In-App Purchase (IAP)’ page.
Developer Center
Improve the function of crawling other markets’ app product information.
The app that has already been registered on other markets can be easily registered on ONE store.
Provide the function of importing other markets’ in-app product information.
Authentication Center
OAuth 발급/인증/관리
Data security has been strengthened when the developer’s service is interworking with ONE store IAP server
Last updated