Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
tutorials
blogintroduction the samsung iap subscription server apis empower developers to efficiently manage samsung in-app purchase (iap) subscriptions, including cancellation, refund, revocation, and status check. these apis serve as the foundation for implementing subscription management features within your application management server. integrating the samsung iap server apis with your backend server simplifies subscription management. this integration allows you to cancel subscriptions and prevent further billing for users, revoke access to subscription-based content, process refunds based on user requests, and check subscription status to determine validity and current state. a well-structured backend implementation streamlines subscription management, ensuring customers receive reliable service and minimizing potential issues related to billing, access, and refunds. prerequisites to establish server-to-server communication between the samsung iap service and your server, follow these essential steps. develop a subscription application – ensure your application supports subscription operations. upload binary for beta testing – submit your application for testing in seller portal. create subscriptions – set up subscription products in seller portal for user subscriptions. completing these steps ensures a seamless integration of samsung iap into your application. for detailed guidance, visit register an app and in-app items in seller portal. implementation of the samsung subscription apis the samsung iap subscription server apis are used to manage subscription-related operations, including cancellations, revocations, refunds, and status checks. to leverage these apis effectively, setting up a backend server is essential. this secure server-to-server communication facilitates efficient handling of all subscription-related operations between the samsung iap service and your server. api overview the samsung iap subscription server api provides endpoints for efficiently managing subscription-based operations. it allows developers to cancel, revoke, refund, and check the status of subscriptions. this api also facilitates robust operations and efficient management of user subscriptions, all while ensuring security and authentication through the use of appropriate headers. base endpoint the samsung iap subscription server apis need a secure endpoint for managing subscriptions. https://devapi.samsungapps.com/iap/seller/v6/applications/<packagename>/purchases/subscriptions/<purchaseid> more detailed information is available through the support documentation. headers to ensure secure communication with the samsung iap service, the following headers must be included in every request. content-type – defines the format of the request body. for json content, use application/json. authorization – uses an access token for authentication. the format should be (bearer <access_token>). refer to the create an access token page for details on generating an access token. service account id – obtained from seller portal under assistance > api service. this id is required to generate a json web token (jwt). for more detailed information, visit the create a service account section in seller portal. these headers collectively ensure secure and authenticated api requests, enabling seamless integration with the samsung iap service. supported methods the samsung iap subscription server api enables efficient subscription management. developers can cancel, revoke, or refund subscriptions using patch requests, and check subscription status using get requests. configuring the server you can develop a spring boot server for this purpose. here are the guidelines for setting it up. create a spring boot project - for detailed steps, refer to developing your first spring boot application. set up the server endpoint: create a controller for samsung iap subscription apis within your ide after importing the spring boot project. this controller manages all in-app subscription activities. the controller performs patch and get requests with the samsung iap service, ensuring communication with your server. performing a patch request the patch request is used to cancel, refund, or revoke a subscription. follow these steps to proceed. creating a request body to cancel, refund, or revoke a subscription, a specific request body must be created for each operation. when interacting with samsung iap service, you send a well-structured api request tailored to the specific action you wish to execute. below are the request formats for various subscription operations. // cancel a subscription requestbody body = requestbody.create( mediatype.parse("application/json"), "{\"action\" : \"cancel\"}" ); // revoke a subscription requestbody body = requestbody.create( mediatype.parse("application/json"), "{\"action\" : \"revoke\"}" ); // refund a subscription requestbody body = requestbody.create( mediatype.parse("application/json"), "{\"action\" : \"refund\"}" ); building the patch request (cancel, revoke or refund subscription) the patch method in rest apis is used for partial updates of resources, enabling you to send only the specific fields that need modification rather than the entire resource. the patch request needs a request body to specify the intended action. to execute a subscription management request, you must construct a secure http request that includes all necessary headers and authentication details. request request = new request.builder() .url(api_url) .patch(body) .addheader("content-type", "application/json") .addheader("authorization", "bearer " + access_token) .addheader("service-account-id", service_account_id) .build(); executing the patch request once the patch request is prepared, execute it using the okhttpclient, ensuring proper request handling and response processing. @crossorigin(origins = "*") @requestmapping(value = "/cancel", method = requestmethod.patch ) public void patchrequest(){ // set request body as json with required action. // initialize patch request, set body, add headers, and finalize setup. client.newcall(request).enqueue(new callback() { @override public void onfailure(call call, ioexception e) { // handle exception } @override public void onresponse(call call, response response) throws ioexception { // handle response response.close(); } }); } example response this response indicates that the request was processed successfully and without errors. { "code" : "0000", "message" : "success" } performing a get request the get request is used to retrieve the status of a subscription. follow these steps to proceed. building the get request the get method is primarily used to retrieve or read data from a server. to check the status of a subscription, the get method is required to retrieve detailed item information. this type of request does not require a request body; only the necessary headers for authentication are needed. request request = new request.builder() .url(api_url) .addheader("content-type", "application/json") .addheader("authorization", "bearer " + access_token) .addheader("service-account-id", service_account_id) .build(); executing the get request once the get request is prepared, execute it using the okhttpclient to retrieve and efficiently process the response data. @getmapping("/get") public void getrequest(){ // initialize get request, add headers, and finalize setup. client.newcall(request).enqueue(new callback() { @override public void onfailure(call call, ioexception e) { // handle exception } @override public void onresponse(call call, response response) throws ioexception { // handle response } }); } example response if the get request executes successfully, it returns the status of the subscription as a response. { "subscriptionpurchasedate": "2025-04-28 04:54:06 utc", "subscriptionenddate": "2025-04-28 05:54:06 utc", "subscriptionstatus": "cancel", "subscriptionfirstpurchaseid": "55541a3d363c9dee6194614024ee2177c72a9dec51fe8dba5b44503f57dc9aec", "countrycode": "usa", "price": { "localcurrencycode": "usd", "localprice": 15, "supplyprice": 15 }, ... } deploying and testing the server for the server to perform api calls, it can use a publicly accessible url. you can deploy the project to obtain the url. for testing purposes, you might deploy it on a platform like codesandbox, which provides a publicly accessible url similar to https://abcde-8080.csb.app/iap/xxxx. conclusion by properly integrating the samsung iap subscription server apis, developers can ensure seamless handling of subscription-related actions within their applications. the implementation of secure server-to-server communication guarantees efficient subscription management and significantly enhances the overall user experience. references download sample server source code samsung iap subscription documentation integrate the samsung in-app purchase orders api with your application
Md. Hossain
Develop Samsung IAP
docsamsung iap subscription api the samsung iap subscription api is used to cancel, refund, revoke, and check the status of samsung in-app purchase iap subscriptions before you can start using the iap subscription api, you must meet all requirements, use the required authorization header parameters, and use the required url path paremeters in your requests see get started with the iap apis for more information the following is a quick reference to the iap subscription apis name method description cancel subscription patch cancel the subscription corresponding to the given purchaseid when a subscription is canceled, automatic payments are no longer made after the current subscription period ends customers can use the subscription until the end of the current subscription period refund subscription patch reimburse the most recent payment for the subscription corresponding to the given purchaseid the current subscription continues revoke subscription patch immediately cancel the subscription and reimburse the most recent payment for the subscription corresponding to the given purchaseid when a subscription is revoked, customers instantly lose the ability to use the subscription, even if the current subscription period has not ended and, automatic payments are no longer made after the current subscription period ends check status of subscription get check the subscription status cancel, refund, or revoke subscription cancel, refund, or revoke a subscription see the table below for a description of each action request patch /iap/seller/v6/applications/<packagename>/purchases/subscriptions/<purchaseid> notesee url path parameters for more information about the <packagename> and <purchaseid> parameters body parameter name type description action string required the task to perform must be one of the following cancel end the subscription when a subscription is cancelled, the customer can still access the subscription until the end of the current subscription period after the current subscription period ends, access to the subscription should be blocked refund reimburse the most recent payment to the subscriber the subscriber can still use the subscription use this if there is a service error or you want to issue a complimentary coupon revoke immediately cancel the subscription and immediately refund the most recent payment when a subscription is cancelled, the customer instantly loses the ability to use the subscription, even if the current subscription period has not ended access to the subscription should be blocked immediately curl -i -x patch \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"action" "cancel | refund | revoke"}' \ 'https //devapi samsungapps com/iap/seller/v6/applications/<packagename>/purchases/subscriptions/<purchaseid>' response name type description code string success code, iap internal error code, or http status code message string detailed information about error or http reason { "code" "0000", "message" "success" } see failure response codes for a list of possible response codes when a request fails check status of subscription get the subscription status, including subscription information and purchase information, which can be used to verify the purchase of a subscription request get /iap/seller/v6/applications/<packagename>/purchases/subscriptions/<purchaseid> notesee url path parameters for more information about the <packagename> and <purchaseid> parameters curl -i -x get \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ 'https //devapi samsungapps com/iap/seller/v6/applications/<packagename>/purchases/subscriptions/<purchaseid>' response parameters parameter type description subscriptionpurchasedate string date and time of the subscription's initial purchase and payment transaction yyyy-mm-dd hh mm ss gmt subscriptionenddate string date and time when the subscription expires yyyy-mm-dd hh mm ss gmt subscriptionstatus string current status of the subscription"active" the subscription is current and in effect "cancel" the user canceled the subscription check the subscriptionenddate to see if the subscription period has ended as the canceled subscription is still valid until the current suscription period has ended subscriptionfirstpurchaseid string unique identifier of the initial purchase of the subscription countrycode string country code 3 alphabetic characters of the purchaser's location for example, kor, usa price[] localcurrencycode string currency code 3 alphabetic characters of the purchaser's local currency paid for the subscription for example, eur, gbp, usd price[] localprice double cost in the user's local currency that the user paid for the subscription price[] supplyprice double total amount of the subscription price plus the applied tax itemid string unique identifier of the subscription registered in seller portal freetrial string whether or not the subscription is currently in a free trial period "y" free trial period"t"tiered lower/introductory price period"n" regular price period realmode string for regular purchases, whether the actual payment was made when the user purchased the subscription "y" samsung iap was set to production mode the actual payment was made "n" samsung iap was set to test mode the actual payment was not made latestorderid string identifier 19 alphanumeric characters of the most recent payment it can be an initial payment or a renewal payment order ids are displayed in the user's renewal receipt totalnumberoftieredpayment string total number of tiered price payments currentpaymentplan string current period the subscription is in "f" free trial period"r" regular price period"t" tiered lower price period totalnumberofrenewalpayment string total number of payments made for initial and renewal subscriptions cancelsubscriptiondate string date and time the subscription was stopped yyyy-mm-dd hh mm ss gmt cancelsubscriptionreason string cause of the subscription stoppage "1" user canceled the subscripton "2" system canceled the subscription for example, renewal test was finished "3" billing error for example, user payment information was no longer valid "4" subscription is not available for purchase at the time of renewal "5" unknown errors graceperiodyn string whether or not the subscription is currently in a grace period "y" the subscription is in a grace period"n" the subscription is not in a grace period graceperiodenddate string the end date and time of the grace period yyyy-mm-dd hh mm ss gmt if the subscription is not in a grace period graceperiodyn = "n" , this value is set to null pricechange[] pricechangemode string the mode of the price change "1" price increase which requires the user’s consent"2" price increase which does not require the user’s consent"3" price decrease, which does not require the user’s consent pricechange[] pricechangestatus string the status of the price change "waiting" waiting for the subscriber to answer"confirmed" the price change is acknowledged by the subscriber either the subscriber consented or did not consent to the increase in price "applied" the subscriber is charged the new price pricechange[] pricechangeconsentdate string date and time the subscriber consented yyyy-mm-dd hh mm ss gmt pricechange[] expectednewpricechargedate string date and time the new price will affect the subscriber yyyy-mm-dd hh mm ss gmt pricechange[] newprice[] localcurrencycode string local currency code 3 alphabetic characters of the changed price for example, eur, gbp, usd pricechange[] newprice[] localprice double cost in the user's local currency that the user paid for the subscription success { "subscriptionpurchasedate" "2024-05-31 01 30 13 gmt", "subscriptionenddate" "2024-06-03 01 03 30 gmt", "subscriptionstatus" "cancel", "subscriptionfirstpurchaseid" "649922f760188d759c19636c4efe130d0743bd6f5446504e0a8e68b0010e0ab7", "countrycode" "kor", "price" { "localcurrencycode" "krw", "localprice" 1000 0, "supplyprice" 1000 0 }, "itemid" "subsc_30min", "freetrial" "n", "realmode" "y", "latestorderid" "s20240531kr01924958", "totalnumberoftieredpayment" "0", "currentpaymentplan" "r", "totalnumberofrenewalpayment" "3", "cancelsubscriptiondate" "2024-06-03 01 03 29 gmt", "cancelsubscriptionreason" "2", "graceperiodyn" "y", "graceperiodenddate" "2024-06-10 01 03 29 gmt", "pricechange" { "pricechangemode" "1", "pricechangestatus" "waiting", "pricechangeconsentdate" null, "expectednewpricechargedate" "2024-05-31 02 22 02 gmt", "newprice" { "localcurrencycode" "krw", "localprice" 1500 0 } } } see failure response codes for a list of possible response codes when a request fails failure response codes status code and message 400bad request slr_4001 seller does not matchslr_4014 subscription does not existslr_4015 missing required parameterslr_4016 purchase id does not exist slr_4017 unknown action parameterslr_4018 the purchase id cannot be refunded 401unauthorized slr_4008 failed to verify gateway server authorization 404not found slr_4006 application id does not exist 406not acceptable slr_4019 the purchase id has already been suspended and will not be renewed slr_4020 the purchase id has already been refunded slr_4021 failed to cancel the subscription for an unknown reason slr_4022 failed to refund the subscription for an unknown reason slr_4023 failed to revoke the subscription for an unknown reason
Develop Samsung IAP
docmanage subscriptions subscriptions are assigned a unique product id before or after a subscription’s purchase, your app can request app-related details about the subscription using this product id when a subscription purchase and payment transaction is successful, samsung iap assigns a unique purchase id to the subscription your app server uses this purchase id to get app-related or user-related details about the subscription app-related details can be requested before or after a subscription is purchased and include the information you configured for the subscription in seller portal such as subscription period length, pricing options, availability period, and price user-related details can be requested after a subscription is purchased and include current details about the user’s subscription such as the subscription status, current price paid, and number of renewals if your app does not receive the purchase id for example, due to network issues , you can use getownedlist to request it the following api calls are used to manage your subscriptions click on the api call to see more detailed information getownedlist iap sdk api – get a list of subscriptions owned by the user that are currently in a free trial or active subscription period the response is an array of objects ownedproductvo the app can check the availability of a subscription by referring to the ongetownedproducts data this api provides meaningful information after a subscription is purchased use this call when the app is launched to determine if the user has successfully subscribed to or auto-renewed a subscription subscriptions that have been cancelled are included in the response until the active subscription period has ended subscription-related objects include the product id, purchase id, current price, purchase date, and current subscription period end date getproductsdetails iap sdk api – get details about a subscription that was configured in seller portal this call requires the product id of the subscription the response is an array of objects productvo this api can be called before or after a subscription is purchased subscription-related objects include the current price, subscription period length, subscription pricing option, availability period, duration of free trial period iap/v6/receipt iap server api – verify a subscription purchase and payment transaction were successfully completed this call requires the purchase id of the subscription information is returned in a soap response this api can be called before or after a subscription is purchased subscription-related content include the subscription identifier, payment transaction identifier, purchase receipt identifier, name of the subscription, description of the subscription, date and time of purchase and payment transaction, total amount billed includes subscription price and all applicable taxes , and payment transaction status iap/seller/subscription iap server api – get the subscription status, subscription information, and purchase information, used to verify the purchase of a subscription this call requires the purchase id of the subscription and a service token for authentication and checks the user’s subscription information on the seller’s back-end server information is returned in a rest response this api provides meaningful information after a subscription is purchased subscription-related content include the purchase date, current subscription status, current price, current subscription pricing option, number of renewals, paid subscription start date, subscription end date, and reason for cancellation for more details about these and other api calls, see the samsung iap programming guide email receipts samsung iap sends subscription purchasers emails about significant events free trial sign-up email sent after initial purchase of a subscription with a free trial contains subscription and order information subscription purchase email sent after initial purchase of a subscription without a free trial, when a subscription is renewed, and after subscription repurchases contains subscription and payment information, including the price paid for the subscription’s first period of use for example, a free trial $0 , a lower-tier price, or a regular-tier price free trial expiration email sent 7 days before the end of a free trial period contains subscription information subscription renewal email india customers only sent seven 7 days before the end of the subscription period and indicates that their consent is needed to renew the subscription details about the steps needed to renew the subscription in galaxy store are included contains subscription information subscription renewal email all customers, except those in india sent near the end of each lower-tier or regular subscription period, which indicates that an auto-payment for the next subscription period will happen soon contains product and subscription information grace period email sent during the renewal process if there is an issue with the payment method the customer is asked to update their payment method in galaxy store menu > subscriptions > subscription details page > payment method by default, the customer has one day to update their payment method before the subscription is cancelled a longer grace period 3, 7, 14, or 30 days for the subscription can be configured in seller portal if the issue continues after the grace period the customer does not update their payment method , the subscription is automatically cancelled subscription cancellation email sent after a subscription is cancelled, either by the user or for another reason contains subscription information register a subscription see register an app and in-app products in seller portal in the iap programming guide for more information re-subscribe to a cancelled subscription if a customer has cancelled their subscription but the current subscription hasn't expired, they are able to reconsider their decision and reactivate the subscription the customer must resubscribe before the end of the current subscription period customers can resubscribe by launching the galaxy store app on their phone and tapping menu > subscriptions > subscription details page > resubscribe the subscription uses the same payment cycle and method as before if you send a notification to the customer about resubscribing before the end of the current subscription period, you can include a link that opens the subscription detail page of your app in galaxy store see deep link to subscription detail page in galaxy store below for more information about the deep link deep link to subscription detail page in galaxy store you can provide a link directly to the subscription detail page of your app in galaxy store this allows your customers to quickly manage their subscription, such as consenting to a price change, resubscribing, or updating their payment method use the following deep link to the app's subscription detail page samsungapps //subscriptiondetail?purchaseid={purchaseid} where {purchaseid} is the unique purchase id of the subscription we suggest that you include this deep link in the settings menu of your app so that users can easily find the subscription detail page in galaxy store test subscriptions see testing subscriptions in the iap test guide for more information
Develop Samsung IAP
docmanage subscription price change after your app and subscription are for sale in galaxy store, if you have a manager account with the "applications manager" authority or are the owner of the seller portal account where the app is registered, you can increase or decrease the regular subscription price the subscription price can be updated by country, for one or more countries for example, if the exchange rate for a currency changes, you can update the price of a subscription for each country that uses that currency the subscription price can be set in usd and each country’s currency topics covered in this page include how to change a subscription price subsequent price changes how to view subscription price changes how to adjust an existing subscription price change how to cancel a subscription price change how to change a subscription price for information on how to change a price for a non-subscription product, refer to management of in-app products log in to seller portal, go to the apps page, and select the app which has the subscription for which you want to update the price from the app details page, click the in app purchase tab select the subscription whose price you want to update from the item details page, click the price click set new price or change one of the standard prices to set the price for all countries, select the all countries checkbox, enter a new price to change the price for all countries, and click apply or, to set a new price for individual countries, select the countries and enter a new price click next and confirm that you want to update the prices verify the countries for which you are updating the price if you are increasing the subscription price, select the checkbox if you want to apply the price increase to new subscribers only or unselect the checkbox if you want to apply the price increase to new subscribers and existing subscribers then, click save click save at the bottom of the item details page after you save your updates, there is a seven 7 day waiting period before the new price is applied during this 7-day waiting period, you can adjust or cancel these updates subsequent price changes after the 7-day waiting period, when the price update is applied in galaxy store, you cannot change the price of the subscription in the same country again until a specific amount of time after the pre-notification period has ended for all existing subscribers that is, the updated price must have been applied to all existing subscribers in all countries the amount of time to wait after the pre-notification period has ended for all existing subscribers is based on the length of the subscription period the end of the pre-notification period for an existing subscriber is defined in one of two ways the pre-notification period ends when the existing subscriber has acknowledged the price increase notification the existing subscriber must have consented to or rejected the price change from the consent page or, if the existing subscriber ignores the notifications they neither consent to nor reject the price increase from the consent page , the pre-notification period ends when the existing subscriber's subscription ends the following table describes the amount of time you must wait before you can update the price of a subscription again the minimum pre-notification period is listed for your convenience, but the actual wait time is likely to be longer see pre-notification period for more information subscription period minimumpre-notification period before renewal date wait time to update price again weekly 2 weeks end of 7-day waiting period + minimum pre-notification period + 7 days monthly 1 month end of 7-day waiting period + minimum pre-notification period + 1 month 3 months 2 months end of 7-day waiting period + minimum pre-notification period + 3 months 6 months 2 months end of 7-day waiting period + minimum pre-notification period + 3 months annual 2 months end of 7-day waiting period + minimum pre-notification period + 3 months if a country is not selectable, it means that the pre-notification period has not ended for all existing subscribers in that country when the pre-notification period has ended for all existing subscribers, the country can be selected for another price increase how to view subscription price changes if you need to review previous prices changes or determine the next step after making an accidental price change, you can view when a price was updated, when the price change was applied to the subscription, and the region in which the price change was made to view price change information for a subscription log in to seller portal, go to the apps page, and select the app which has the subscription for which you want to view price changes from the app details page, click the in app purchase tab select the subscription for which you want to view all price updates from the item details page, click here the price change history page displays all price updates by date you can specify a date range to filter the dates that are displayed when a specific date is expanded, the countries that were updated are displayed, along with the old and new subscription price, and if consent is required you can filter this list by region and consent requirement click back to exit this page how to adjust an existing subscription price change if it has been less than seven days after you have initially updated the price of a subscription in seller portal if you have updated the price more than once, this is the first time you updated the price in seller portal , you can edit the price changes after seven days after you have initially updated a subscription in seller portal , you cannot make any additional changes to adjust an existing subscription price change log in to seller portal, go to the apps page, and select the app which has the subscription for which you want to update the price from the app details page, click the in app purchase tab select the subscription for which you want to view all price updates from the item details page, click here from the price change history page, if not already expanded, click on the date to view the list of countries whose price has been updated and for which you want to change the price updates click edit update the list and click next verify the countries for which you are updating the price if you are increasing the subscription price, select the checkbox if you want to apply the price increase to new subscribers only or unselect the checkbox if you want to apply the price increase to new subscribers and existing subscribers then, click save click save at the bottom of the item details page notethe window of time for adjusting the subscription price change is not changed if you make edits to an existing set of price changes, the window of time to be able to make adjustments is not reset for example, if there are three days left in the 7-day waiting period, after you make your adjustments, the waiting period remains at three days it does not reset to seven days how to cancel a subscription price change if it has been less than seven days after you have initially updated the subscription prices in seller portal if you have updated the price more than once, this is the first time you updated the price in seller portal , you can cancel the update after seven days after you have initially updated a subscription in seller portal , you cannot cancel the update log in to seller portal, go to the apps page, and select the app which has the subscription for which you want to cancel the updated the price from the app details page, click the in app purchase tab select the subscription for which you want to view all price updates from the item details page, click here from the price change history page, if not already expanded, click on the date to view the list of countries whose price has been updated and for which you want to cancel the price updates click cancel settings click yes to cancel this set of subscription price updates if you cancel a subscription price increase but a subscription was purchased by a new subscriber at the increased price, the new subscriber continues to pay the increased price until they cancel the subscription
Develop Samsung IAP
docsubscription price change types when you change a subscription price, you can either increase or decrease the price the following describes the conditions when you change the price of a subscription you cannot change the price of an introductory subscription or free trial price decrease a price decrease is when you change the subscription price to be lower than the current regular subscription price when you lower a subscription price, all new subscribers and new subscriptions use the lower price for existing subscribers, the lower price is automatically charged at the start of the next subscription period or payment cycle when the new subscription price is applied no notifications are sent to the subscriber about the decrease in price price increase a price increase is when you change the subscription price to be higher than the current regular subscription price you can choose to apply the price increase to new subscribers only or to new and existing subscribers when you increase a subscription price, all new subscribers and new subscriptions use the higher price if you cancel a subscription price increase but a subscription was purchased by a new subscriber at the increased price, the new subscriber continues to pay the increased price until they cancel the subscription if you apply the price increase to existing subscribers, by default, your existing subscribers are notified of the price increase and consent is required when consent is required, an existing subscriber must consent to this price increase before the next subscription period when the new subscription price is applied begins when you increase a subscription price in seller portal, it does not take effect immediately there is a 7-day waiting period after you increase the price, when you can choose to modify or cancel the price increase, and a pre-notification period whose length is based on the subscription period and the existing subscriber’s subscription renewal date when automatic notifications about the price increase are sent to your existing subscribers after a price increase is applied in galaxy store , you can increase the price again after certain conditions are met see subsequent price changes for more information
Develop Samsung IAP
docsubscription pricing options a subscription can be configured in seller portal to offer the following pricing options regular or regular-tier required lower-tier or introductory optional free trial optional a subscription must have the regular option configured optionally, the subscription may also offer an introductory reduced price subscription, a free trial, or both by configuring one or more of these options, a subscription could have a different initial purchase price, renewal price, and repurchase price you can have multiple subscriptions using the same content, but with different prices and/or subscription periods for promotions or other purposes for example, you may offer content for a limited time for example, a month at an introductory price that includes a reduced price subscription for a year after the month has expired, you can offer the same content but at the regular subscription price after your app is published in galaxy store, the seller portal settings for the app’s subscriptions such as price and subscription period cannot be changed however, you can delete the subscription and register a new one with the desired settings when a subscription is deleted, the subscription is automatically canceled for existing subscribers regular or regular-tier subscription a regular subscription is a subscription that charges a set price for each subscription period the price and subscription period do not change if you are adding an in-app product type that is a subscription, you must configure the regular subscription information when adding the subscription in seller portal a subscription is billed at the start of each subscription period for india customers only, is automatically cancelled at the end of the subscription period unless the customer consents to renew the subscription for all customers except those in india, is automatically renewed at the end of a subscription period, until the app user cancels their subscription can be canceled at any time subscription period payment cycle a subscription period, called the payment cycle in seller portal, is the amount of time your app user can use this subscription before it must be renewed a subscription period can be weekly, monthly, every 3 months, every 6 months, or yearly it also sets the subscription period for the lower-tier subscription, if configured renews on the same day of the week, month, or year as the day of purchase availability period the availability period is how long the subscription is accessible for purchase the availability period is optional if no dates are specified, this subscription is available for purchase until it is deleted allows you to offer a subscription for a fixed period of time for example, a limited promotion and allows you to offer special promotional prices a subscription purchased during the availability period is automatically renewed and billed like any other subscription it can be used by the customer until they cancel their subscription, even if the subscription is no longer available for purchase if the customer cancels their subscription and the availability period has passed, the customer cannot repurchase this subscription lower-tier or introductory subscription a lower-tier subscription is a subscription that charges an introductory price for a limited amount of time a lower-tier subscription is a defined number of subscription periods that the user can purchase the subscription at a reduced price the subscription period used is the subscription period configured for a regular subscription only one lower-tier subscription can be configured for a subscription a lower-tier subscription is optional you do not have to provide a lower-tier subscription with your regular subscription can last from 1 to 100 subscription periods the subscription period is the same as the regular subscription period must have a price that is lower than the regular subscription price renews on the same day of the week, month, or year as the day of purchase is billed at the start of each period for customers in india only, is automatically cancelled at the end of the subscription period unless the customer consents to renew the subscription for new subscribers in korea only, starting july 2, 2025, is automatically cancelled at the end of the subscription period unless the customer consents to renew the subscription within 30 days before the end of the introductory subscription when it converts to a regular-tier subscription customers in korea must manually resubscribe after a cancellation and do not receive any free trial or introductory subscription benefits when they resubscribe for all customers except those in india and korea, is automatically renewed at the end of a subscription period, until the lower-tier subscription ends or the app user cancels their subscription when the lower-tier subscription ends, the subscription is automatically renewed at the regular subscription price can be canceled at any time noteuse getpromotioneligibility to determine the applicable price to display to a user for example, if the user does not qualify for a lower-tier or introductory price, display the regular or other applicable price instead accurately displaying pricing for which the user is eligible helps to prevent user frustration of not being able to purchase your subscription at the promotional price or chargebacks see promotions determined by pricing options and get promotion eligibility for subscription for more information getpromotioneligibility is available in samsung iap sdk v6 2 0 and later if a user cancels their subscription during the lower-tier subscription and then repurchases the subscription, the lower-tier subscription is no longer available that is, the user cannot restart the lower-tier subscription if the subscription is canceled free trial period a free trial is a set period of time that the user can use the subscription for free only one free trial period can be configured for a subscription a free trial period is optional you do not have to provide a free trial period with your regular subscription can last from 7 to 999 days does not bill the user for this subscription during this time period can be canceled at any time noteuse getpromotioneligibility to determine the applicable price to display to a user for example, if the user does not qualify for a free trial period, display the regular or other applicable price instead accurately displaying pricing for which the user is eligible helps to prevent user frustration of not being able to purchase your subscription at the promotional price or chargebacks see promotions determined by pricing options and get promotion eligibility for subscription for more information getpromotioneligibility is available in samsung iap sdk v6 2 0 and later for customers in india only, when the free trial period ends, the subscription is automatically cancelled unless the customer consents to auto-renewal the customer must always consent to an auto-renewal before it occurs for example, if the free trial is a monthly subscription, consent for auto-renewal is required every month if you are selling subscriptions in koreastarting july 2, 2025, for new subscribers in korea only, the subscription is automatically cancelled unless the subscriber consents to a renewal within 30 days before the end of the free trial when it converts to a paid subscription customers in korea must manually resubscribe after a cancellation and do not receive any free trial or introductory subscription benefits when they resubscribe for all customers except those in india and korea, when the free trial period ends, either the lower-tier subscription if configured or regular subscription automatically begins that is, when the free trial period ends, the user is automatically billed the subscription price for the subscription if a user cancels their subscription during the free trial period and then repurchases the subscription, the free trial period is no longer available that is, the user cannot restart the free trial period if the subscription is canceled promotions determined by pricing options noteadded in samsung iap sdk v6 2 0 using the samsung iap sdk, you can optimize your ui configuration by offering each customer promotions for which they are eligible when they are making a purchase customers can also check for available promotions before payment, thereby encouraging them to make a purchase for example, you can offer a free trial to new subscribers for a limited time period after the free trial is over, you can provide them with introductory prices for another limited time period users who have received promotional benefits can continue their subscription at the regular price afterwards to determine the pricing option of the customer, use the following api calls see get in-app product details and get promotion eligibility for subscription for more information cancellation at any time after a subscription is purchased, an app user can cancel their subscription in galaxy store by navigating to my apps > receipts > items tab, selecting the purchased subscription, and clicking unsubscribe noteafter a subscription is canceled, the user can purchase the subscription again however, a subscription's free trial period and lower-tier subscription options if configured do not apply to the repurchased subscription
Learn Code Lab
codelabimplement in-app subscriptions using samsung iap objective learn how to integrate the samsung in-app purchase sdk into your application so that users can purchase and upgrade subscriptions directly within the app overview the samsung in-app purchase iap service provides developers with a reliable solution for managing digital purchases within mobile applications it guarantees a smooth and secure experience for users when buying digital goods, managing subscriptions, or processing refunds and consumed products the iap sdk enables easy integration of the iap functionality into your app, such as configuring iap, retrieving product details, offering and selling products, and managing purchased products to successfully sell in-app products, follow these four basic steps download and integrate the samsung iap sdk into your application request for commercial seller status in the samsung galaxy store seller portal upload your application's binary file in the seller portal add in-app products to your app by integrating in-app purchases iap , your apps can sell in-app products, including subscriptions a subscription is a specific type of in-app product available for purchase through your app in the galaxy store when a user buys a subscription, it grants access for a set duration known as the subscription period or payment cycle at the end of this period, the subscription automatically renews, allowing the user to continue using the product for another subscription period and to be automatically billed with the subscription price for more information, go to samsung iap set up your environment you will need the following android studio latest version recommended samsung iap sdk latest version samsung galaxy device android 6 0 or higher samsung galaxy store seller portal commercial seller account sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! in-app subscription bookspot sample code 1 2 mb start your project in android studio, click open to open an existing project locate the downloaded android project bookspot_blank_code from the directory and click ok register the app and its associated subscriptions in the seller portal to register the sample app along with the in-app products in the samsung galaxy store seller portal, follow these steps sign in using your commercial seller account in android studio, modify the package name of the sample app navigate to app > kotlin + java > com example bookspot view, and in the mainactivity java file, refactor the application name bookspot from the package name com example bookspot for all directories notethe package name com example bookspot is already registered in the seller portal to avoid any conflicts, rename it with a different package name next, open the app > manifests > androidmanifest xml file and check that all necessary permissions are present com samsung android iap permission billing to connect to iap and enable in-app product registration in the seller portal android permission internet because iap uses the internet <uses-permission android name="com samsung android iap permission billing" /> <uses-permission android name="android permission internet" /> build the apk from android studio and upload the binary to the seller portal once the testing process is complete and the app functions smoothly as intended, return to this step and upload the final apk file in the in app purchase tab, add the subscriptions with item ids as basic and standard these are the item ids of the subscriptions created in the sample app select subscription as the item type click the price setting button to set the subscription price noteto learn more about pricing, see manage subscription pricing provide the details for the payment cycle, free trial period, and free trial/tiered pricing limit as shown below noteincluding a free trial promotion for your app is optional to test the functionality of the getpromotioneligibility api, you can add a free trial select all subscriptions you added and click activate lastly, add a license tester to enable purchasing within the app edit your seller portal profile and include your samsung account in the license test field on the test device, sign in with the same samsung account initialize the samsung iap sdk before using the samsung iap sdk library samsung-iap-6 4 0 aar , ensure that it is added to the app > libs folder and included as a dependency in the module-level build gradle file dependencies { implementation filetree dir 'libs', include ['* aar'] } next, open the mainactivity java file in the oncreate function, create an instance of iaphelper and set the operation mode to operation_mode_test this mode enables only license testers to test the application without incurring charges iaphelper = iaphelper getinstance getapplicationcontext ; iaphelper setoperationmode helperdefine operationmode operation_mode_test ; notebefore submitting the app for beta testing or release, change the operation mode to operation_mode_production get product details and check the promotion eligibility to obtain information about subscriptions registered in the store related to your app, use the getproductsdetails api you can retrieve details about a specific subscription by providing the argument named itemid with values such as basic or standard you can use an empty string "" as the argument to obtain all product details iaphelper getproductsdetails itemid, new ongetproductsdetailslistener { @override public void ongetproducts @nonnull errorvo errorvo, @nonnull arraylist<productvo> productlist { if errorvo geterrorcode == iaphelper iap_error_none { for productvo item productlist { itemname settext item getitemname +" level course" ; itemtype settext "item type "+item gettype ; itemprice settext "item price "+item getitemprice +item getcurrencyunit ; itemduration settext "item duration "+item getsubscriptiondurationunit ; subscriptiondialogbutton setonclicklistener dialogbtnlistener ; getpromotioneligibility item getitemid ; } } else { log e "ongetproducts error ", errorvo geterrorstring ; } } } ; after getting the product details, check the promotion eligibility use the getpromotioneligibility api to return the pricing options for a subscription, including free trials and introductory prices that may apply to the user iaphelper getpromotioneligibility itemid, new ongetpromotioneligibilitylistener { @override public void ongetpromotioneligibility @nonnull errorvo errorvo, @nonnull arraylist<promotioneligibilityvo> pricinglist { if errorvo geterrorcode == iaphelper iap_error_none { for promotioneligibilityvo pricing pricinglist { itempricing settext "promotion eligibility "+pricing getpricing ; } } else { log e "ongetpromotioneligibility error ", errorvo geterrorstring ; } } } ; initiate the payment process and acknowledge the subscription to initiate a purchase and complete the payment transaction process, use the startpayment api the result of the purchase is specified through the onpaymentlistener interface, which provides detailed purchase information in the event of a successful transaction once the app has granted entitlement to the user, notify samsung iap of the successful transaction using the acknowledgepurchases api additionally, call the handlechangeplan function to make the change plan button visible and to set the onclicklistener iaphelper startpayment itemid, new onpaymentlistener { @override public void onpayment @nonnull errorvo errorvo, @nullable purchasevo purchasevo { if errorvo geterrorcode == iaphelper iap_error_none && purchasevo != null { acknowledgepurchases purchasevo getpurchaseid ; handlechangeplan itemid ; } else { log e "onpayment error ", errorvo geterrorstring ; } } } ; use the acknowledgepurchases api as below iaphelper acknowledgepurchases purchaseid, errorvo, acknowledgedlist -> { if errorvo geterrorcode == iaphelper iap_error_none { for acknowledgevo item acknowledgedlist { log e "onacknowledgepurchases ", item getstatusstring ; } } else { log e "onacknowledgepurchases error ", errorvo geterrorstring ; } } ; manage changes to subscription plans the changesubscriptionplan api allows users to switch between different tiers of the same subscription changes can be categorized as follows upgrade - moving from a lower-priced tier to a higher-priced tier, or switching between tiers of equal value downgrade - transitioning from a higher-priced tier to a lower-priced tier you can use proration modes to set the payment and current subscription period settings there are four proration modes available instant_prorated_date, instant_prorated_charge, instant_no_proration, and deferred in this code lab, use instant_prorated_date so that the current subscription is changed instantly, allowing the user to start using the new subscription tier right away iaphelper changesubscriptionplan itemid, newitemid, helperdefine prorationmode instant_prorated_date, new onchangesubscriptionplanlistener { @override public void onchangesubscriptionplan @nonnull errorvo errorvo, @nullable purchasevo purchasevo { if errorvo geterrorcode == iaphelper iap_error_none && purchasevo != null { handlechangeplan newitemid ; updatechangeplanview newitemid ; } else { log e "onchangesubscriptionplan error ", errorvo geterrorstring ; } } } ; notefor more details on handling changes to subscription plans, see manage subscription plan changes retrieve and process the list of subscriptions the getownedlist api retrieves a list of in-app products that the user has previously purchased, including active subscriptions and free trials call the getownedlist api from the iaphelper class and obtain the results through the ongetownedlistlistener interface utilize the helperdefine product_type_subscription parameter to fetch only subscription data after acquiring the subscription list, check the acknowledgment status of each subscription using the getacknowledgedstatus function and check whether all of the subscriptions are being acknowledged by samsung iap if any of the subscription status is not acknowledged, then call the acknowledgepurchases function to notify the acknowledgement to samsung iap if the subscription price has changed in the seller portal, it may be necessary for existing subscribers to consent to the price increase before the next subscription period, depending on certain conditions to determine if consent is required from the subscriber, use the getpricechangemode and isconsented functions if consent is needed, call the handleconsent function to make the consent button visible, and set the onclicklistener for the button accordingly iaphelper getownedlist helperdefine product_type_subscription, new ongetownedlistlistener { @override public void ongetownedproducts @nonnull errorvo errorvo, @nonnull arraylist<ownedproductvo> ownedlist { if errorvo geterrorcode == iaphelper iap_error_none { for ownedproductvo item ownedlist { // check the acknowledgedstatus helperdefine acknowledgedstatus acknowledgedstatus = item getacknowledgedstatus ; if acknowledgedstatus equals helperdefine acknowledgedstatus not_acknowledged { acknowledgepurchases item getpurchaseid ; } // handle the price change if item getitemid equals item1 || item getitemid equals item2 { handlechangeplan item getitemid ; subscriptionpricechangevo subscriptionpricechangevo = item getsubscriptionpricechange ; if subscriptionpricechangevo != null && subscriptionpricechangevo getpricechangemode equals helperdefine pricechangemode price_increase_user_agreement_required && !subscriptionpricechangevo isconsented { handleconsent item getitemid , item getpurchaseid ; } } } } else { log e "getownlist error ", errorvo geterrorstring ; } } } ; to create a deep link to the consent page when needed, use the following code uri deeplinkuri = uri parse "samsungapps //subscriptiondetail?purchaseid="+purchasedid ; intent intent = new intent intent action_view, deeplinkuri ; startactivity intent ; run the app after building the apk, install the app on a samsung galaxy device to test the app, click on view details in the basic tab this displays the purchase details, including promotion eligibility, item type, duration, and price then, click on continue to subscribe in the samsung checkout pop-up, select your payment method and click the subscribe button a payment confirmation screen appears upon successful completion of the transaction when the change plan button appears, click on it a pop-up shows the changes in your subscription plan click next and then subscribe using your payment method a payment confirmation screen appears, and the view changes to the standard tab, where you can see the details of your new subscription noteto test and display the consent button, you must increase the price of any subscription in the seller portal the price update will be applied in the galaxy store after a waiting period of 7 days the subscription renews every 10 minutes and will expire in operation_mode_test mode to test the change in the subscription price, set the operation mode to operation_mode_production you're done congratulations! you have successfully achieved the goal of this code lab now, you can implement in-app subscriptions using samsung iap into your application by yourself! if you are having trouble, you may download this file in-app subscription bookspot complete code 1 3 mb to learn more about developing apps with samsung iap sdk, visit developer samsung com/iap
Develop Samsung IAP
docexamples the following are examples of upgrades and downgrades, with and without free trials for all examples, the following applies standard subscription price $30/month daily price = $30/30 days = $1/day premium subscription price $60/month daily price = $60/30 days = $2/day each example includes a table, timeline, and detailed description of how each proration mode is calculated example 1 upgrade, no free trial in this example, the customer signs up for a standard subscription on september 1 on september 15, the customer changes to the premium subscription proration mode proration premium subscription start date premium subscription first payment date instant_prorated_date 8 days of premium subscription sep 15 sep 23 instant_prorated_charge extra payment of $15 by customer on sep 15 sep 15 oct 1 instant_no_proration none sep 15 oct 1 deferred none oct 1 oct 1 the initial payment made by the customer on september 1 for the standard subscription is $30 the customer changes the subscription on september 15, therefore the customer has used $15 of their initial payment 15 days * $1/day the customer has $15 remaining of their initial payment $30 - $15 instant_prorated_date mode calculation example 1 the remaining initial payment $15 is applied towards the premium subscription the number of prorated days of the premium subscription is calculated as follows remaining initial payment / premium subscription daily price = $15 / $2 / day = 7 5 days round up = 8 days these 8 days are applied immediately, starting on september 15 and ending on september 23 on september 23, the subscription is automatically renewed and the customer is billed $60 automatic renewal occurs on the 23rd of each month instant_prorated_charge mode calculation example 1 there are 15 days left in the subscription period after the subscription is changed charge for remainder of month at premium subscription price = days remaining in subscription period * daily price of premium subscription = 15 days * $2 / day = $30 the prorated extra payment for the customer is calculated as follows charge for remainder of month at premium subscription price - remaining initial payment = $30 - $15 = $15 the premium subscription starts immediately and the customer is billed $15 on september 15 the subscription period and automatic renewal date remain the same on october 1, the customer is automatically billed $60 and automatic renewal occurs on the 1st of each month instant_no_proration mode calculation example 1 the premium subscription starts immediately and the subscription period and automatic renewal date remain the same on october 1, the customer is automatically billed $60 and automatic renewal occurs on the 1st of each month deferred mode calculation example 1 the customer continues with the standard subscription until october 1 on october 1, the premium subscription is started and the customer is automatically billed $60 automatic renewal occurs on the 1st of each month example 2 downgrade, no free trial in this example, the customer signs up for a premium subscription on june 1 on june 15, the customer changes to the standard subscription noteinstant_prorated_charge and instant_no_proration modes do not apply to downgraded subscriptions proration mode proration standard subscription start date standard subscription first payment date instant_prorated_date 30 days of standard subscription jun 15 jul 15 instant_prorated_charge n/a instant_no_proration deferred none jul 1 jul 1 the initial payment made by the customer for the premium subscription is $60 the customer changes the subscription on june 15, therefore the customer has used $30 of their initial payment 15 days * $2/day the customer has $30 remaining of their initial payment $60 - $30 instant_prorated_date mode calculation example 2 the remaining initial payment $30 is applied towards the standard subscription the number of prorated days of the standard subscription is calculated as follows remaining initial payment / standard subscription daily price = $30 / $1 / day = 30 days these 30 days are applied immediately, starting on june 15 on july 15, the subscription is automatically renewed and the customer is billed $30 automatic renewal occurs on the 15th of each month instant_prorated_charge mode calculation example 2 not applicable for downgrades instant_no_proration mode calculation example 2 not applicable for downgrades deferred mode calculation example 2 the customer continues with the premium subscription until july 1 on july 1, the standard subscription is started and the customer is automatically billed $30 automatic renewal occurs on the 1st of each month example 3 upgrade, both subscriptions have free trial periods in this example, the customer signs up for a standard subscription on november 1 both the standard subscription and premium subscription have a 10-day free trial period the free trial period for the standard subscription starts on november 1 and ends on november 11 the standard subscription starts on november 11 on november 15 after the free trial period has ended, 4 days into the standard subscription , the customer changes to the premium subscription notea free trial period may be set up once per subscription or once per app when a free trial period is set once per subscription, when a subscription is upgraded, the free trial period for the premium subscription is honored as long as the customer has not previously purchased the premium subscription when a free trial period is set once per app, when a subscription is upgraded, the free trial period for the premium subscription is not applicable because it has already been used with the standard subscription free trial periods are not applicable to the upgraded/downgraded subscription for subscriptions set to the instant_prorated_charge mode proration mode free trial scope proration premium subscription start date premium subscription free trial period premium subscription first payment date instant_prorated_date once per subscription 13 days of premium subscription nov 15 nov 28 - dec 8 dec 81 once per app nov 15 n/a nov 282 instant_prorated_charge once per subscription extra payment of $26 by customer on nov 15 nov 15 n/a3 dec 114 once per app instant_no_proration once per subscription none nov 15 dec 11 ‑ dec 21 dec 215 once per app nov 15 n/a dec 114 deferred once per subscription none dec 116 dec 11 - dec 21 dec 215 once per app dec 116 n/a dec 114 1automatic renewal occurs on the 8th each month after the free trial period for the premium subscription 11/28 - 12/8 2automatic renewal occurs on the 28th each month 3free trial periods are not applicable for subscriptions set to the instant_prorated_charge mode 4automatic renewal occurs on the 11th of each month based on the payment date of the standard subscription 11/11 - 12/11 5automatic renewal occurs on the 21st of each month after the free trial period for the premium subscription 12/11 - 12/21 6the premium subscription starts after the standard subscription period finishes 11/11 - 12/11 the free trial period is applicable as long as the customer has not previously purchased the premium subscription the initial payment made by the customer for the standard subscription is $30 the customer changes the subscription on november 15 therefore the customer has used $4 of their initial payment 4 days * $1/day the customer has $26 remaining of their initial payment $30 - $4 instant_prorated_date mode calculation example 3 the remaining initial payment $26 is applied towards the premium subscription the number of prorated days of the premium subscription is calculated as follows remaining initial payment / premium subscription daily price = $26 / $2 / day = 13 days these 13 days are applied immediately, starting on november 15 and ending on november 28 if a free trial period is set once per subscription and the customer has not previously purchased the premium subscription, the free trial period starts on november 28 and ends on december 8 the customer is billed $60 on december 8, after the free trial has ended the first full non-prorated subscription period starts on december 8 and automatic renewal occurs on the 8th of each month if a free trial period is set once per app, the free trial is not applicable to the premium subscription as it has been used with the standard subscription on november 28, the subscription is automatically renewed and the customer is billed $60 automatic renewal occurs on the 28th of each month instant_prorated_charge mode calculation example 3 there are 26 days left in the subscription period after the subscription is changed free trial periods are not applicable to the upgraded/downgraded subscription for subscriptions set to the instant_prorated_charge mode charge for remainder of month at premium subscription price = days remaining in subscription period * daily price of premium subscription = 26 days * $2 / day = $52 the prorated extra payment for the customer is calculated as follows charge for remainder of month at premium subscription price - remaining initial payment = $52 - $26 = $26 the premium subscription starts immediately and the customer is billed $26 on november 15 the subscription period starts and is automatically renewed on december 11 and the customer is automatically billed $60 automatic renewal occurs on the 11th of each month instant_no_proration mode calculation example 3 the premium subscription starts immediately if a free trial period is set once per subscription and the customer has not previously purchased the premium subscription, the free trial period of premium starts on december 11 and ends on december 21 the customer is billed $60 on december 21, after the free trial has ended automatic renewal occurs on the 21st of each month if a free trial period is set once per app, the free trial is not applicable to the premium subscription as it has been used with the standard subscription on december 11, the subscription is automatically renewed and the customer is billed $60 automatic renewal occurs on the 11th of each month deferred mode calculation example 3 the customer continues with the standard subscription until december 10 if a free trial period is set once per subscription and the customer has not previously purchased the premium subscription, the free trial period starts on december 11 and ends on december 21 the customer is billed $60 on december 21, after the free trial has ended automatic renewal occurs on the 21st of each month if a free trial period is set once per app, the free trial is not applicable to the premium subscription as it has been used with the standard subscription on december 11, the subscription is automatically renewed and the customer is billed $60 automatic renewal occurs on the 11th of each month example 4 downgrade, both subscriptions have free trial periods in this example, the customer signs up for a premium subscription on september 1 both the standard subscription and premium subscription have a 10-day free trial period on september 7, the customer changes to the standard subscription, during the free trial period notea free trial period may be set up once per subscription or once per app free trial periods are not applied when a subscription is downgraded however, the remaining days in the free trial period are prorated and applied to the downgraded subscription instant_prorated_charge and instant_no_proration modes do not apply to downgraded subscriptions because the free trial period has not ended for the premium subscription, the customer was not initially billed for the premium subscription proration mode free trial scope proration standard subscription start date standard subscription free trial period standard subscription first payment date instant_prorated_date once per subscription 6 days of standard subscription sep 7 n/a sep 13 once per app sep 7 n/a sep 13 instant_prorated_charge n/a instant_no_proration deferred once per subscription none sep 11 n/a sep 11 once per app sep 11 n/a sep 11 instant_prorated_date mode calculation example 4 the customer has 3 days remaining in their trial period and it is applied towards the standard subscription the number of prorated days of the standard subscription is calculated as follows remaining free trial days * premium subscription daily price = 3 days * $2 / day = 6 days these 6 days are applied immediately, starting on september 7 and ending on september 13 the customer is billed $30 on september 13, after the number of prorated days have been used because the subscription was changed during the free trial period, the customer was not initially billed for the premium subscription the subscription period starts and automatic renewal occurs on the 13th of each month instant_prorated_charge mode calculation example 4 not applicable for downgrades instant_no_proration mode calculation example 4 not applicable for downgrades deferred mode calculation example 4 the customer continues with the premium subscription until the date the free trial ends september 11 on september 11, the standard subscription is started and the customer is automatically billed $30 because the subscription was changed during the free trial, the customer was not initially billed for the premium subscription automatic renewal occurs on the 11th of each month
Develop Samsung IAP
docoverview you can increase or decrease the price of a subscription while the app is for sale in galaxy store customers who are subscribed through a free trial or introductory subscription price are not affected by this price change until their existing subscription ends note that this feature is not supported in all countries for example, this feature is not yet supported in india a manager account with the “applications manager” authority or owner of the seller portal account where an app is registered has permission to change the subscription price of the app if a subscription price is lowered, your existing subscribers are automatically charged the lower price at the start of the next subscription period no consent to continue the subscription is required and no notifications are sent from galaxy store when you lower the price however, if you want, you yourself can send notifications from your app; that is, you cannot send notifications about a price decrease from seller portal if a subscription price is increased, you can choose to apply the price increase to new subscribers only or to new and existing subscribers when you increase a subscription price, it does not take effect immediately there is a 7-day waiting period after you increase your price, when you can choose to modify or cancel the price increase, and a pre-notification period whose length is based on the subscription period and the existing subscriber’s subscription renewal date when automatic notifications about the price increase are sent to your existing subscribers an automatic notification is sent by galaxy store at the end of the 7-day waiting period then, automatic notifications are sent every week but only if the subscriber has not given their consent to or rejected the price increase from the consent page that is, they take no action and are ignoring the notifications if you apply the price increase to existing subscribers, by default, your existing subscribers are notified of the price increase if consent is required, an existing subscriber must consent to this price increase before the next subscription period when the new subscription price is applied begins if an existing subscriber does not consent to price increase or ignores the consent notifications, their subscription is automatically cancelled at the end of the subscription period before the increased price begins consent is required if one or more of the following conditions apply an increase of 50% or more of the existing price an increase of more than $5 per month korea is the target country if the existing subscriber has experienced an increase in price for the same subscription in the last year additional conditions and requirements regarding changes to subscription pricing are described in the following pages manage price change subscriber types subscription price change types subscriber consent price increase notifications examples information on how to create subscriptions can be found in the seller portal online guide
Develop Samsung IAP
docmanage subscription plan changes if you offer a subscription plan different tiers or levels of service for a subscription , you can allow your customer to change their existing subscription to another tier of the same subscription a change may be an upgrade from a lower priced tier to a higher priced tier or changing between two equally priced tiers or a downgrade from a higher priced tier to a lower priced tier if the response from getownedlist includes additional subscriptions from the same app , you can present options for your customer to change their subscription when your customer selects an option to change their subscription, use changesubscriptionplan to update the existing subscription to the new subscription
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
These cookies gather information about your browser habits. They remember that you've visited our website and share this information with other organizations such as advertisers.
You have successfully updated your cookie preferences.