IAP Reference Server API - ONE-store/inapp-sdk GitHub Wiki
< μ°Έκ³ >
λ³Έ λ¬Έμλ μμ€ν μ΄ μΈμ± SDK v16(API v4)μ λν κ°μ΄λ λ¬Έμμ λλ€. μ΅μ μμ€ν μ΄ μΈμ± SDK v17(API v5)μ λν κ°μ΄λ λ¬Έμλ μμ€ν μ΄ κ°λ°μμΌν°μμ μ 곡λκ³ μμ΅λλ€.
μ΅μ μΈμ± SDK v17 κ°μ΄λ λ¬Έμ λ§ν¬ : https://dev.onestore.co.kr/devpoc/reference/view/IAP_v17
μμ€ν μ΄λ μ¬μ©μκ° μ λΉνκ² ν΄λΉ Itemμ ꡬ맀νλμ§μ λν μ¬λΆλ₯Ό μ‘°νν μ μλ μλ² APIλ₯Ό 2κ°μ§ ννλ‘ μ 곡νλ€.
TID ꡬ맀μ΄λ ₯ μ‘°ν API
ꡬ맀 μμ² μμ μ κ°λ°μ¬κ° λ°κΈν TID
λ₯Ό νμ©ν΄μ μ¬μ©μμ μΈμ±μν ꡬ맀 μ΄λ ₯μ μ‘°ννκΈ° μν API μ΄λ€.
μ μμμμ¦ κ²μ¦ API
ꡬ맀 μλ£ μμ μ μμ€ν μ΄κ° λ°κΈν TxID
μ receipt
μ νμ©ν΄μ κ²μ¦ Serverλ₯Ό ν΅ν΄ μ€μ IAP Serverμμ λ°κΈλ κ²μΈμ§λ₯Ό κ²μ¦νκ³ λμμ ꡬ맀 μ΄λ ₯μ΄ μ‘΄μ¬νλμ§ νμΈ κ°λ₯νλ€. (SDKμμλ μ 곡νλ κΈ°λ₯μ΄μ§λ§, κ°λ°μ¬ μλ²κ° λ³λλ‘ μ‘΄μ¬ν κ²½μ° Server to Server νΈμΆμ κΆμ₯νλ€)
ꡬ맀μμ²(sendPaymentRequest)μ κ°λ°μ¬κ° μμ±ν΄μ λ겨주λ TID λ₯Ό keyλ‘ κ΅¬λ§€λ΄μμ μ‘°ννλ€.
μ£Όμ μ¬ν
- App μλ²λ₯Ό μ΄μνμ§ μλ κ²½μ°, μ μμμμ¦ κ²μ¦ APIλ₯Ό μ΄μ©νλ κ²μ κΆμ₯νλ€.
- κ°λ°μ¬λ TID κ°μ μ λν¬ κ°μΌλ‘ κ΄λ¦¬ν΄μΌ νλ€.
- λ§μ½ μ€λ³΅λ TIDλ‘ κ΅¬λ§€ μμ²μ νλ κ²½μ°, 맨 λ§μ§λ§μ μμ²λ requestμ ν΄λΉ TIDκ° ν λΉλλ©° μ΄μ ꡬ맀ν λ΄μμ μ‘°νκ° λΆκ°λ₯νλ€.
μμ²URI
κ΅¬λΆ | URI |
---|---|
μμ© | http://iap.tstore.co.kr:8090/billIntf/billinglog/billloginquiry.action |
κ°λ° | http://iapdev.tstore.co.kr:8082/billIntf/billinglog/billloginquiry.action |
Reference
Parameter | Limit | sample | Description |
---|---|---|---|
DATE | 8 | 20101130 | μνꡬ맀 μΌμ |
APPID | 10 | OA00012345 | Application ID |
TIDCNT | 2 | 20 | κ²°μ μ 보 νμΈμ μν TID κ°μ, μ΅λ 20건κΉμ§ μ‘°νκ°λ₯ |
TID | 100 | `TIDCNT=2&TID=12313 | 12324` |
TIDλ
TIDCNT
κ°μμ λ§μΆ° μ΅λ 20κ°κΉμ§ μμ²μ΄ κ°λ₯νλ©°, β|
β λ‘ κ΅¬λΆνλ€.
Sample
- Example: κ°λ°μ© IAP Serverλ‘ μμ²
http://iapdev.tstore.co.kr:8082/billIntf/billinglog/billloginquiry.action?DATE=20160715&APPID=OA00027256&TIDCNT=2&TID=12313|12324
- Example: μμ© IAP Serverλ‘ μμ²
http://iap.tstore.co.kr:8090/billIntf/billinglog/billloginquiry.action?DATE=20160715&APPID=OA00027256&TIDCNT=2&TID=12313|12324
Reference
Parameter | Limit | sample | Description |
---|---|---|---|
type | BillingLog |
μμ² κ΅¬λΆμ "BillingLog" κ°μΌλ‘ κ³ μ | |
result | - | κ²°μ μ 보 κ·Έλ£Ή Tag | |
status | 4 | <status>0</status> |
κ²°μ μ 보 μ‘°νκ²°κ³Ό μ½λ |
detail | 4 | <detail>0000</detail> |
κ²°μ μ 보 μ‘°νκ²°κ³Ό μμΈμ½λ |
message | - | <message>μ μμ μΌλ‘ μ‘°νλμ΅λλ€.</message> |
κ²°μ μ 보 μ‘°νκ²°κ³Ό λ©μμ§ |
appid | 10 | <appid>OA00027256</appid> |
AID |
count | 2 | <count>20</count> |
νμΈλ κ²°μ μ 보 κ°μ |
billing_log | - |
<billing_log> <item>... </item> </billing_log>
|
IAP Server μμ νμΈν κ°λ³ κ²°μ μ΄λ ₯ μ 보μ λͺ¨μμΌλ‘ 볡μμ <Item> element λ₯Ό ν¬ν¨ |
Item | - |
<item> <tid>...</tid> <product_id>...</product_id> </item>
|
Billing log λ‘ μ 곡λλ κ°λ³ κ²°μ νλͺ©μΌλ‘ μΈλΆ κ²°μ λ΄μμ μ€λͺ μ μν΄ μλμ κ°μ νμ element λ₯Ό ν¬ν¨ |
tid | 100 | <tid>201012226_01047637315_00000239</tid> |
TID |
product_id | 10 | <product_id>0000044056</product_id> |
μΈμ±μνID |
log_time | 10 | <log_time>20101227103643</log_time> |
μν ꡬ맀μκ° |
charging_id | 11 | <charging_id>11111111111</charging_id > |
κ²°μ μ±κ³΅ μ½λ (κ³ μ κ°) |
charge_amount | 7 | <charge_amount>300000</charge_amount> |
μνκΈμ‘ |
detail_pname | 100 | <detail_pname>컀μ€ν
μνλͺ
</detail_pname> |
ꡬ맀μμ²μ νμν μμΈ μνλͺ
(product_name)μ μ
λ ₯νμ κ²½μ° λ¦¬ν΄λλ κ° μ ν μ λ ₯λ κ°μ΄ μμ λλ βXβ κ° μ€μ λ¨ |
bp_info | 1024 | utm_source=onestore&utm_medium=iap&utm_campaign=20160325_promotion |
κ°λ°μμ Application Server κ° νμΈνκΈ° μν μ 보 |
tcash_flag | 1 | <tcash_flag>N</tcash_flag> |
T store Cash μ¬μ© μ¬λΆ |
Status
Code | Description |
---|---|
0 | μ±κ³΅ |
9 | μ‘°νκ²°κ³Όκ° μκ±°λ νλΌλ―Έν° λ° μμ€ν μ€λ₯ |
Detail
Code | Description |
---|---|
0000 | μ±κ³΅ |
1000 | νμ νλΌλ―Έν° μ€λ₯ |
2000 | μ μλμ§ μμ μμ² |
3000 | μμ²κ°μ μ€λ₯ |
9100 | κ²°μ μ 보 μ‘°νκ²°κ³Ό μμ |
9200 | μμ²κ°μ μ΅λκ°(20) μ΄κ³Ό |
9999 | μμ€ν μ€λ₯ |
μΈμ± μνμ λν ꡬ맀 μλ£ ν λ°κΈλλ μ μ μμμ¦(receipt
)μ κ²μ¦μ μνν μ μλ APIλ‘ SDKλ₯Ό ν΅ν΄μ App2Serverλ‘ μμ²/μλ΅μ λ°μ μ μλ€.
μ μ μμμ¦ κ²μ¦μ ꡬ맀 μλ£ ν 10λΆ μ΄λ΄μ λ΄μλ§ μ‘°ν κ°λ₯νλ©° νμ¬λ λ¨μΌ μ‘°νλ§ κ°λ₯νλ€.
Built-in Model
μλ²μμ΄ λμνλ Built-in Modelμ κ²½μ°, Appλ΄μμ IAP Libraryλ₯Ό ν΅ν΄ κ²°μ μλ£ ν΅λ³΄λ₯Ό λ°κ² λλλ°, Applicationμμλ λ³Έ μ°λ νλ¦μ ν΅ν΄ μμ΄ν λ°κΈ(κΆν λΆμ¬ λ±) μ²λ¦¬ μ μ μ€μ IAP Serverλ₯Ό ν΅ν΄ ν΄λΉ μνμ λν κ²°μ κ° μ μμ μΌλ‘ μλ£λμλμ§λ₯Ό νμΈν μ μλ€.
μ€μ : νμ
μ μ : μ ν
Server to Server
μλ² μ°λν μνμ κ²½μ°, App μλ²μμ IAP μλ²μ μ°λμ ν΅νμ¬ λ°κΈλ μ μ μμμ¦ κ²μ¦ μμ²νλλ‘ μ 곡νλ κΈ°λ₯μ΄λ€. μλ μλ리μ€λ μμμ΄λ©°, Appμ μλΉμ€ μλ리μ€μ λ°λΌ μ μ ν ꡬνλ μ μλ€.
μ€μ : νμ
μ μ : μ ν
μμ² λ°μ΄ν°λ JSON νμμ κ°μ§λ©° μμΈ κ·κ²©μ λ€μκ³Ό κ°λ€.
μμ²URI
κ΅¬λΆ | URI |
---|---|
μμ© | https://iap.tstore.co.kr/digitalsignconfirm.iap |
κ°λ° | https://iapdev.tstore.co.kr/digitalsignconfirm.iap |
Reference
Parameter | Type | Mandatory | Limit | sample | Description |
---|---|---|---|---|---|
txid | String | M | 40 | TSTOREXXXX_20150515102510XXXXXXXXXXXXXXX |
μμμ¦ λ²νΈ |
appid | String | M | 10 | OA00012345 |
AID |
signdata | String | M | ~5kb | - | μ μμμμ¦ λ°μ΄ν° |
Sample
{
"txid":"TSTORE0004_20150515102510XXXXXXXXXXXXXXX",
"appid":"OA00012345",
"signdata":"MIIH7QYJKoZIhvcNAQcCoIIH3jCCB9oCAQExDzANBglghkgBZQMEAMIIH7QYJKdDFDFFEFEFEFoZIhvcNAQcCoIIH3jCCB9oCAQExDzANBglghkgBZQMEA"
}
IAP μλ²λ μμ² νλ‘ν μ½λ΄μ ν¬ν¨λ μ μ μμμ¦μ λν κ²μ¦ μν ν κ²°κ³Όκ°μ JSON λ°μ΄ν° λ‘ μμ±νμ¬ μμ²μμκ² μ λ¬νλ€.
Reference
Parameter | Type | Mandatory | Limit | sample | Description |
---|---|---|---|---|---|
status | Number | M | 1 | 0 |
κ²μ¦ κ²°κ³Ό λ¦¬ν΄ μ½λ |
detail | String | M | 4 | 0000 |
κ²μ¦ κ²°κ³Ό μμΈ μ½λ |
message | String | M | - | μ μκ²μ¦μλ£ |
κ²μ¦ κ²°κ³Ό λ©μμ§ |
count | Number | O | 1 | 1 | μ‘°ν μν μ, νμ¬λ 1건μ©λ§ μ‘°νκ°λ₯ |
product | Array | O | - | - | ꡬ맀λ μν μ 보 (μ±κ³΅μ, νμ) |
Product
Parameter | Type | Mandatory | Limit | sample | Description |
---|---|---|---|---|---|
log_time | String | M | 14 | 20160321154451 |
ꡬ맀 μ΄λ ₯ μκ° (YYYYMMDDHHMMSS) |
appid | String | M | 10 | OA00012345 |
AID |
product_id | String | M | 10 | 0000044056 |
μΈμ±μνID |
charge_amount | Number | M | 6 | 300000 |
ꡬ맀 μν κΈμ‘ |
tid | String | O | 100 | 201012226_01047637315_00000239 |
ꡬ맀μμ²μ κ°λ°μ¬κ° λ°κΈν TID |
detail_pname | String | O | 100 | 컀μ€ν
μνλͺ
|
ꡬ맀μμ²μ νμν μμΈ μνλͺ
(product_name)μ μ
λ ₯νμ κ²½μ° λ¦¬ν΄λλ κ° μ ν μ λ ₯λ κ°μ΄ μμ λλ βXβ κ° μ€μ λ¨ |
bp_info | String | O | 1024 | utm_source=onestore&utm_medium=iap&utm_campaign=20160325_promotion |
κ°λ°μμ Application Server κ° νμΈνκΈ° μν μ 보 |
Status
Code | Description |
---|---|
0 | μ±κ³΅ |
9 | μ‘°νκ²°κ³Όκ° μκ±°λ νλΌλ―Έν° λ° μμ€ν μ€λ₯ |
Detail
Code | Description | Note |
---|---|---|
0000 | μ±κ³΅ | |
1000 | νμ νλΌλ―Έν° λΆμ‘± | μ‘°ν μμ²μ TXID, APPID, signdata μ€ νλΌλ―Έν°κ° λΆμ‘±ν λ λ°μνλ μ½λ |
9100 | κ²°μ μ 보 μ‘°νκ²°κ³Ό μμ | signdataλ‘ κ΅¬λ§€ν μ΄λ ₯μ΄ μμ κ²½μ° |
9113 | μ μμμμ¦ λ°μ΄ν° μ ν¨μ± κ²μ¦ μ€λ₯ | |
9999 | μμ€ν μ€λ₯ | μμ€ν μλ¬λ IAP λ΄λΆ μ€λ₯λ‘μ¨ λ°μν κ²½μ° κ°λ°μμΌν°μ λ¬Έμ νμ |
Sample
{
"status" : 0,
"detail" : "0000",
"message" : "μ μκ²μ¦μλ£",
"count" : 1,
"product" : [{
"log_time" : "20120321154451",
"appid" : "OA12345678",
"product_id" : "0900012345",
"charge_amount" : 1000,
"tid" : "201012226_01047637315_00000239",
"detail_pname" : "컀μ€ν
μνλͺ
",
"bp_info" : "X"}]
}
μ μμ¬ν
Android app μμλ λ€μν λ°©λ²μ ν΅ν΄ μμ΄ν μ λν λΆμ μ·¨λμ μλν μ μμΌλ―λ‘ App μλ²μμλ IAP Serverλ‘λΆν° μ λ¬λλ μλ΅μ λ΄μ©μ μΆκ°μ μΌλ‘ νμΈνμ¬ μμ΄ν λ°κΈμ λν μ²λ¦¬λ₯Ό ν μ μμ΄μΌ νλ€. App μλ²μμλ λ€μν λΆμ μ·¨λ μλλ₯Ό λ§κΈ° μν΄μ νκΈ°μ κ°μ λ°©λ²μ μ¬μ©νκΈ°λ₯Ό κ°λ ₯ κΆμ₯νλ€.
- Appμμ μμ΄ν λ°κΈμ μμ²ν μνμ μ 보μ μ μμμμ¦ κ²μ¦APIλ₯Ό ν΅ν΄ μλ΅λ μ 보 (appid, product_id, charge_amount λ±)κ° μΌμΉνλμ§ μ¬λΆλ₯Ό νμΈ
- ꡬ맀 μ΄λ ₯ μκ°(log_time)μ νμΈνμ¬ μΌμ μκ° μ΄μ(5λΆ μ΄λ΄ κΆμ₯) μ§λ ꡬ맀 건μ λν΄μλ μμ΄ν λ°κΈμ κ±°λΆ
- νΉμ TIDμ λν΄ Item λ°κΈμ΄ μ μμ μΌλ‘ μ²λ¦¬λ κ²½μ°, ν΄λΉ μ΄λ ₯μ μ μ₯ν νμ λμΌν TIDλ‘ Item λ°κΈ μμ²μ΄ μ€λ κ²½μ°λ λΆμ ν μ¬μλλ‘ νλ¨νκ³ ν΄λΉ μμ΄ν λ°κΈ μμ²μ κ±°λΆ
- κ²°μ μ€ Applicationμ λΉμ μμ μΈ μ’ λ£λ λ€νΈμν¬ μ€λ₯κ° λ°μνλ κ²½μ°, sendCommandRequest λ©μλλ₯Ό μ΄μ©νμ¬ κ΅¬λ§€ λ΄μμ νμΈ ν ꡬ맀ν μμ΄ν μ μ¬μ©ν μ μλλ‘ νλ λ‘μ§μ κΆμ₯ν¨.