Samsung IAP Publish API
samsung iap publish api the samsung iap publish api is used to view, register, modify, and remove samsung in-app purchase iap products before you can start using the iap publish api, you must meet all requirements and use the required authorization header parameters in your requests see get started with the iap apis for more information noteusing the iap publish api to register, modify, or delete a product immediately changes it within the content, even when the content is in the for sale state the following is a quick reference to the iap publish apis name request description view product list get /iap/v6/applications/ packagename/items request a list of product information within a scope appropriate for the page and size view individual product get /iap/v6/applications/ packagename/items/ id request detailed information on one product create product post /iap/v6/applications/ packagename/items register an in-app product modify product put /iap/v6/applications/ packagename/items modify an in-app product partial product modification patch /iap/v6/applications/ packagename/items modify the specified parameters of an in-app product remove product delete /iap/v6/applications/ packagename/items/ id remove an in-app product see in-app purchase for more information about iap functionality in seller portal view product list request a list of product information within a scope appropriate for the page and size request get /iap/v6/applications/ packagename/items?page={}&size={} name type in description page int query required number of pages of content to return size int query required number of products to be returned on a page curl \ -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/v6/applications/com package name/items?page=1&size=20" response parameters name type description id string unique identifier of the in-app product registered in seller portal title string title of the in-app product registered in seller portal description string brief explanation of the in-app product registered in seller portal type string in-app product type item goods and services that charge users on a one-time basis non_consumable an item that is purchased only once and remains effective or available in the app at all times, even after deletion and re‑installation of the app for example, game boards or an upgrade starting from june 2025, the non_consumable type has been deprecated, and the ability to register new non-consumable items through the publish api will no longer be possible please refer to the programming guide for more information status string product distribution status in seller portal published product is for sale in galaxy store unpublished product is not available in galaxy store removed product has been removed from galaxy store itempaymentmethod phonebillstatus boolean whether or not the product is paid with an automatic payment on a phone bill true the product is paid by an automatic payment on a phone bill false the product is not paid by an automatic payment on a phone bill usdprice number the base price in usd united states of america dollars of the product the price can be set between 0 and 400 prices[] countryid string three-character country code iso 3166 of the country where the product is sold prices[] currency string three-character currency code iso 4217 of the specified country's currency for example, eur, gbp, usd prices[] localprice string price of the product in the specified country's currency totalcount number number of products listed in the response success status 200 success { "itemlist" [ { "id" "one_gallon_gas", "title" "1 gallon gas", "description" "fuel for driving game", "type" "item", "status" "published", "itempaymentmethod" { "phonebillstatus" true }, "usdprice" 0 900, "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 900" }, ] }, ], "totalcount" 3 } see failure response codes for a list of possible response codes when a request fails view individual product request detailed information about one product request get /iap/v6/applications/ packagename/items/ id name type description id string required unique identifier of the in-app product registered in seller portal curl \ -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/v6/applications/com package name/items/one_gallon_gas" response see view product response parameters for a description of the response parameters success status 200 success { "id" "one_gallon_gas", "title" "1 gallon gas", "description" "fuel for driving game", "type" "item", "status" "published", "itempaymentmethod" { "phonebillstatus" true }, "usdprice" 0 900, "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 900" }, ] } see failure response codes for a list of possible response codes when a request fails create product register an in-app product request post /iap/v6/applications/com package name/items name type description id string required unique identifier of the in-app product registered in seller portal title string required title of the in-app product registered in seller portal description string required brief explanation of the in-app product registered in seller portal type string optional in-app product type item goods and services that charge users on a one-time basis status string required product distribution status in seller portal published product is for sale in galaxy store unpublished product is not available in galaxy store removed product has been removed from galaxy store itempaymentmethod phonebillstatus boolean required whether or not the product is paid with an automatic payment on a phone bill true the product is paid by an automatic payment on a phone bill false the product is not paid by an automatic payment on a phone bill usdprice number required the base price in usd united states of america dollars of the product the price can be set between 0 and 400 prices[] countryid string required three-character country code iso 3166 of the country where the product is sold prices[] currency string three-character currency code iso 4217 of the specified country's currency for example, eur, gbp, usd prices[] localprice string required price of the product in the specified country's currency curl \ -x post \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "1 gallon gas","description" "fuel for driving game","type" "item","status" "published","itempaymentmethod" {"phonebillstatus" true},"usdprice" 0 99,"prices" [{"countryid" "kor","currency" "krw","localprice" "1000"},{"countryid" "usa","currency" "usd","localprice" "0 99"}]}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published", "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 99" }, ] } see failure response codes for a list of possible response codes when a request fails modify product modify an in-app product the request replaces all existing information, except the content id, of the product tipto modify an app, use the response from view individual product to create the input required for this request request put /iap/v6/applications/ packagename/items see create product request for a description of the request parameters curl \ -x put \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "1 gallon gas","description" "fuel for driving game fix","type" "item","status" "published","itempaymentmethod" {"phonebillstatus" true},"usdprice" 1,"prices" [{"countryid" "kor","currency" "krw","localprice" "1000"},{"countryid" "usa","currency" "usd","localprice" "1"}]}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published", "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "1" }, ] } see failure response codes for a list of possible response codes when a request fails partial product modification modify the title, countryid, or localprice of an in-app product the id cannot be modified parameters that are not specified are not modified request patch /iap/v6/applications/ packagename/items name type description id string required unique identifier of the in-app product registered in seller portal title string title of the in-app product registered in seller portal prices[] countryid string three-character country code iso 3166 of the country where the product is sold prices[] localprice string price of the product in the specified country's currency curl \ -x patch \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "2 gallon gas"}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published" } see failure response codes for a list of possible response codes when a request fails remove product remove an in-app product request delete /iap/v6/applications/ packagename/items/ id name type in description id string path required unique identifier of the in-app product registered in seller portal curl \ -x delete -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ "https //devapi samsungapps com/iap/v6/applications/com package name/items/one_gallon_gas" response success status 200 ok { "id" "one_gallon_gas" } see failure response codes for a list of possible response codes when a request fails failure response codes the following are response codes you may see when the request fails status code and message 400bad request 109 subscription is not yet supported117 price is under minimum value for example, the local price of 0 69 is lower than the minimum price of 0 99 118 price is lower than minimum unit for example, the local price of 1 099 does not match the minimal price unit of 0 01119 price exceeds maximum value120 non-consumable type is no longer supported400 bad request with wrong in-app product information 401unauthorized 101 user doesn't have permission to change this app103 failed to verify gateway server authorization 404not found 104 content doesn't exist please create content first 106 itemgroup doesn't exist in production level need to publish iap-supported app 110 product does not exist 409conflict 105 the product already exists with the requested id107 there are multiple itemgroupids or itemids with the requested packagename