Mobile Service > IAP > Server API ガイド
[お知らせ]
定期購入決済をサポートする新規のIAP SDKがNHN Cloud SDKとして発売されました。
既存IAP SDKはこれ以上新規機能を開発しない予定です。
本文書はNHN Cloud SDKガイドです
IAPを連動するときに開発会社のサーバーで使用できるAPIです。
Consume API
ユーザアプリケーションサーバーは、アイテムを支給する前に、IAP サーバーに決済を消費することをお知らせする必要があります。
決済1件当たり1回だけ決済消費が可能で、決済の状態が正常でないと消費されません。
消費(Consume)していない決済内訳は、SDKの未消費決済内訳照会APIにて照会されます。
商品タイプがCONSUMABLEの決済のみ消費が可能です。
Request
HTTP Request
POST https://api-iap.cloud.toast.com/v1/service/consume
Key |
Value |
Http Method |
POST |
Content-Type |
application/json |
X-NHN-TCIAP-AppKey |
appKey |
Request Body
Property name |
Value |
Description |
paymentSeq |
String |
決済番号 |
accessToken |
String |
API Accessのためのトークン情報 |
Response
Response bodyにJSON形に配信
Success
{
"header":{
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"result":{
"price": 1500,
"currency": "KRW",
"productSeq": 12345
}
}
Error
{
"header":{
"isSuccessful": false,
"resultCode": 5018,
"resultMessage": "error message"
}
}
Property name |
Value |
Description |
isSuccessful |
Boolean |
true or false |
resultCode |
Integer |
成功と失敗の詳細コード |
resultMessage |
String |
詳細メッセージ |
Result
Property name |
Value |
Description |
price |
Float |
price |
currency |
String |
currency |
productSeq |
long |
決済のアイテム番号 (consoleに登録されたアイテム固有番号) |
Error Code
Value |
Description |
5000 |
CONSUME FAILED (例:パラメータ誤りなど) |
5018 |
ALREADY CONSUMED |
9999 |
UNKNOWN ERROR |
Consumable List API
決済が完了しましたが、消費(consume)されていない決済内訳をServer APIで照会することができます。
Request
HTTP Request
POST https://api-iap.cloud.toast.com/v1/service/consumable
Key |
Value |
Http Method |
POST |
Content-Type |
application/json |
X-NHN-TCIAP-AppKey |
appKey |
Request Body
Property name |
Value |
Description |
marketId |
String |
ストアコード (GG : Google, AS : Apple) |
userChannel |
String |
ユーザーチャンネル (GF) |
userKey |
String |
ユーザ識別キー |
Response
Response bodyにJSON形に配信
Success
{
"header":{
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "success"
},
"result":[
{
"paymentSeq": "2016122110023124",
"productSeq": 1000292,
"currency": "KRW",
"price": 1000,
"accessToken": "oJgM1EfDRjnQY7yqhWCUVgAXsSxLWq698t8QyTzk3NeeSoytKxtKGjldTc1wkSktgzjsfkVTKE50DoGihsAvGQ"
},
{
"paymentSeq": "2016122110023125",
"productSeq": 1000292,
"currency": "KRW",
"price": 1000,
"accessToken": "7_3zXyNJub0FNLed3m9XRAAXsSxLWq698t8QyTzk3NeeSoytKxtKGjldTc1wkSktgzjsfkVTKE50DoGihsAvGQ"
}
]
}
Property name |
Value |
Description |
isSuccessful |
Boolean |
true or false |
resultCode |
Integer |
成功と失敗の詳細コード |
resultMessage |
String |
詳細メッセージ |
Result
Property name |
Value |
Description |
paymentSeq |
String |
決済番号 |
productSeq |
long |
決済のアイテム番号 (コンソールに登録されたアイテム固有番号) |
price |
Float |
price |
currency |
String |
currency |
accessToken |
String |
API accessのためのトークン |
Error Code
Value |
Description |
1100 |
INVALID PARAMETER |
9999 |
UNKNOWN ERROR |
ActiveSubscription List API
アプリ別、ユーザ別に満了していない定期購入決済を照会する。
Request
HTTP Request
POST https://api-iap.cloud.toast.com/v1/service/activeSubscriptionList
Key |
Value |
Http Method |
POST |
Content-Type |
application/json |
X-NHN-TCIAP-AppKey |
appKey |
Request Body
Property name |
Value |
Description |
marketId |
String |
ストアコード (GG : Google, AS : Apple) |
packageName |
String |
APP packageName (例: com.nhnent.iap.google.sample) |
userChannel |
String |
ユーザーチャンネル (GF) |
userKey |
String |
ユーザ識別キー |
Response
Response bodyにJSON形に配信
Success
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"result": [
{
"channel": "GF",
"userId": "default_testUserx",
"paymentSeq": "2018102610330423",
"appId": "com.nhnent.iap.google.sample",
"productId": "subs_p1w",
"productType": "AUTO_RENEWABLE",
"productSeq": 1002904,
"currency": "KRW",
"price": 1000,
"paymentId": "GPA.3375-2193-1175-57698",
"originalPaymentId": "GPA.3375-2193-1175-57698",
"purchaseTimeMillis": 1540522998289,
"expiryTimeMillis": 1541134994548,
"renewTimeMillis": 1540523045377,
"productSeq" : 1000009
}
]
}
Error
{
"header":{
"isSuccessful": false,
"resultCode": 1100,
"resultMessage": "error message"
}
}
Property name |
Value |
Description |
isSuccessful |
Boolean |
true or false |
resultCode |
Integer |
成功と失敗の詳細コード |
resultMessage |
String |
詳細メッセージ |
Result
Property name |
Value |
Description |
channel |
String |
ユーザーチャンネル (GF) |
userId |
String |
ユーザ識別キー |
paymentSeq |
String |
決済番号 |
appId |
String |
packageName |
productId |
String |
ストアーに登録された商品識別子 |
productType |
String |
商品タイプ |
productSeq |
long |
決済のアイテム番号 (コンソールに登録されたアイテム固有番号) |
currency |
String |
currency |
price |
Float |
price |
paymentId |
String |
最近更新されたストアの決済番号 |
originalPaymentId |
String |
最初のストア決済番号 |
purchaseTimeMillis |
long |
最近更新された時間 |
expiryTimeMillis |
long |
満了時間 |
renewTimeMillis |
long |
更新登録または更新通知発生時間 |
Error Code
Value |
Description |
1100 |
INVALID PARAMETER |
9999 |
UNKNOWN ERROR |