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
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.
ItemsImprovement detailsDescriptionsAPI
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.
ItemsDeveloperDevelopment environment
Commercial environment
ONE store test environment
Sandbox
O
-
Commercial environment (payment)
-
O
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