Samsung IAP
Technical Documents
API Guides
en
zh
Samsung IAP 发布 API
Samsung IAP 发布 API 用于查看、注册、修改和删除 Samsung 应用程序内购买 (IAP) 项目。在开始使用 IAP Publish API 之前,必须满足所有要求并在请求中使用规定的授权头参数。请参阅 开始使用 Samsung IAP API 了解详细信息。
Note 使用 IAP 发布 API 可注册、修改或删除项目、立即 在内容中更改项目,甚至内容处于 For Sale
状态时也可执行。
下面是有关 IAP 发布 API 的快速参考:
名称
请求
说明
查看项目列表
GET /iap/v6/applications/:packageName/items
在适用于该页面和大小的范围内请求项目信息的列表。
查看单个项目
GET /iap/v6/applications/:packageName/items/:id
请求一个项目中的详细信息。
创建项目
POST /iap/v6/applications/:packageName/items
注册应用程序内项目。
修改项目
PUT /iap/v6/applications/:packageName/items
修改应用程序内项目。
部分项目修改
PATCH /iap/v6/applications/:packageName/items
修改应用程序内项目的指定参数。
删除项目
DELETE /iap/v6/applications/:packageName/items/:id
删除应用程序内项目。
有关卖家门户中的 IAP 功能的详细信息,请参阅应用程序内购买 。
查看项目列表
在适用于该页面和大小的范围内请求项目信息的列表。
请求
GET /iap/v6/applications/:packageName/items?page={}&size={}
名称
类型
范围
说明
page
int
查询
必需 。要返回的内容的页数
size
int
查询
必需 。要在页面上返回的项目数
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"
响应
参数
名称
类型
说明
id
string
在卖家门户中注册的应用程序内项目的唯一标识符。
title
string
在卖家门户中注册的应用程序内项目的标题。
description
string
在卖家门户中注册的应用程序内项目的简要说明。
type
string
应用程序内项目的类型。CONSUMABLE :可以一次或多次购买,并且在使用一次之前一直有效或可用的项目(例如金币、特殊能力或宝石)。NON_CONSUMABLE :仅购买一次,将始终保持有效或可用的项目,甚至在删除和重新安装应用程序后也是如此(例如游戏板或升级)。 UNSPECIFIED :未知的项目类型。
status
string
卖家门户中的项目分发状态。PUBLISHED :项目在 Galaxy Store 中可供销售。UNPUBLISHED :项目在 Galaxy Store 中不可用。REMOVED :项目已从 Galaxy Store 中删除。UNSPECIFIED :项目状态为未知。
itemPaymentMethod.phoneBillStatus
Boolean
项目的付费方式是否是通过电话账单自动付款。true :项目的付费方式是通过电话账单自动付款。false :项目的付费方式不是通过电话账单自动付款。
usdPrice
number
项目以 USD(美国美元)表示的基本价格。价格可以设置在 0 与 400 之间。
prices[].countryId
string
将销售项目的国家/地区的三字符国家/地区代码 (ISO 3166 )。
prices[].currency
string
所指定国家/地区的货币的三字符货币代码 (ISO 4217 )(例如 EUR、GBP、USD)。
prices[].localPrice
string
以所指定国家/地区的货币表示的项目价格。
totalCount
number
响应中列出的项数。
成功
Status: 200 Success
{
"itemList": [
{
"id": "one_gallon_gas",
"title": "1 Gallon gas",
"description": "Fuel for driving game",
"type": "CONSUMABLE",
"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
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
查看单个项目
请求有关一个项目的详细信息。
请求
GET /iap/v6/applications/:packageName/items/:id
名称
类型
说明
id
string
必需 。在卖家门户中注册的应用程序内项目的唯一标识符。
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"
响应
有关响应参数的说明,请参阅“查看项目响应参数 ”。
成功
Status: 200 Success
{
"id": "one_gallon_gas",
"title": "1 Gallon gas",
"description": "Fuel for driving game",
"type": "CONSUMABLE",
"status": "PUBLISHED",
"itemPaymentMethod": {
"phoneBillStatus": true
},
"usdPrice": 0.900,
"prices": [
{
"countryId": "KOR",
"currency": "KRW",
"localPrice": "1000.000"
},
{
"countryId": "USA",
"currency": "USD",
"localPrice": "0.900"
}, ...
]
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
创建项目
注册应用程序内项目。
请求
POST /iap/v6/applications/com.package.name/items
名称
类型
说明
id
string
必需 。在卖家门户中注册的应用程序内项目的唯一标识符。
title
string
必需 。在卖家门户中注册的应用程序内项目的标题。
description
string
在卖家门户中注册的应用程序内项目的简要说明。
type
string
必需 。应用程序内项目的类型。CONSUMABLE :可以一次或多次购买,并且在使用一次之前一直有效或可用的项目(例如金币、特殊能力或宝石)。NON_CONSUMABLE :仅购买一次,将始终保持有效或可用的项目,甚至在删除和重新安装应用程序后也是如此(例如游戏板或升级)。 UNSPECIFIED :未知的项目类型。
status
string
必需 。卖家门户中的项目分发状态。PUBLISHED :项目在 Galaxy Store 中可供销售。UNPUBLISHED :项目在 Galaxy Store 中不可用。REMOVED :项目已从 Galaxy Store 中删除。UNSPECIFIED :项目状态为未知。
itemPaymentMethod.phoneBillStatus
Boolean
必需 。项目的付费方式是否是通过电话账单自动付款。true :项目的付费方式是通过电话账单自动付款。false :项目的付费方式不是通过电话账单自动付款。
usdPrice
number
必需 。项目以 USD(美国美元)表示的基本价格。价格可以设置在 0 与 400 之间。
prices[].countryId
string
必需 。将销售项目的国家/地区的三字符国家/地区代码 (ISO 3166 )。
prices[].currency
string
所指定国家/地区的货币的三字符货币代码 (ISO 4217 )(例如 EUR、GBP、USD)。
prices[].localPrice
string
必需 。以所指定国家/地区的货币表示的项目价格。
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":"CONSUMABLE","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"
响应
成功
Status: 200 Success
{
"id": "one_gallon_gas",
"type": "CONSUMABLE",
"status": "PUBLISHED",
"prices": [
{
"countryId": "KOR",
"currency": "KRW",
"localPrice": "1000.000"
},
{
"countryId": "USA",
"currency": "USD",
"localPrice": "0.99"
}, ...
]
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
修改项目
修改应用程序内项目。请求将替换项目的所有现有信息,内容 ID 除外。
Tip 要修改应用程序,请使用来自“查看单个项目 ”的响应,以创建此请求需要的输入。
请求
PUT /iap/v6/applications/:packageName/items
有关请求参数的说明,请参阅“创建项目请求 ”。
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":"CONSUMABLE","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"
响应
成功
Status: 200 Success
{
"id": "one_gallon_gas",
"type": "CONSUMABLE",
"status": "PUBLISHED",
"prices": [
{
"countryId": "KOR",
"currency": "KRW",
"localPrice": "1000.000"
},
{
"countryId": "USA",
"currency": "USD",
"localPrice": "1"
}, ...
]
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
部分项目修改
修改应用程序内项目的标题、countryId
或 localPrice
。无法修改 id
。不会修改未指定的参数。
请求
PATCH /iap/v6/applications/:packageName/items
名称
类型
说明
id
string
必需 。在卖家门户中注册的应用程序内项目的唯一标识符。
title
string
在卖家门户中注册的应用程序内项目的标题。
prices[].countryId
string
将销售项目的国家/地区的三字符国家/地区代码 (ISO 3166 )。
prices[].localPrice
string
以所指定国家/地区的货币表示的项目价格。
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"
响应
成功
Status: 200 Success
{
"id": "one_gallon_gas",
"type": "CONSUMABLE",
"status": "PUBLISHED"
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
删除项目
删除应用程序内项目。
请求
DELETE /iap/v6/applications/:packageName/items/:id
名称
类型
范围
说明
id
string
路径
必需 。在卖家门户中注册的应用程序内项目的唯一标识符。
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"
响应
成功
Status: 200 OK
{
"id": "one_gallon_gas"
}
有关请求失败时可能的响应代码列表,请参阅“失败响应代码 ”。
失败响应代码
下面是请求失败时可能会显示的响应代码。
状态
代码和消息
400 错误请求
109
: 尚不支持订阅117
: 价格低于最小值。例如,本地价格 0.69 低于最小价格 0.99。118
: 价格低于最小单位。例如,本地价格 1.099 与最小价格单位 0.01 不匹配。400
: 错误请求,包含应用程序产品错误信息
401 未授权
101
: 用户无权更改此应用程序103
: 验证网关服务器授权失败
404 未找到
104
: 内容不存在请首先创建内容106
: 生产级别中不存在 ItemGroup。需要发布 IAP 支持的应用程序。110
: 项目不存在
409 冲突
105
: 已存在具有所请求 ID 的项目107
: 存在多个具有所请求 packageName 的 ItemGroupIds 或 ItemId