지원 / Support
home
디스코드 / Discord
home
6️⃣

6. Payment Complete Notification

This guide explains how to process data for item delivery requests sent by the STOVE Billing middleware to the game server after payment completion.
This functionality must be implemented on the game server when using the STOVE Billing system. Calls are made via RESTful API. Refer to the basic API information below for details on the transmitted data.
When a user's payment is complete, the STOVE Billing middleware sends the product information required for item delivery and the game item information (json) to the game server URL registered with Partners. The game server must receive this delivery information -> process the delivery to the user -> and respond with the delivery result to the billing middleware.
If the purchased item includes game items among the delivered goods/items, the Payment Completion Notification API is used to transmit the completed payment item information and the game item information to be delivered.
Note) The TID (STOVE Billing Payment Order Number) transmitted via the API must be stored and managed by the game server to prevent duplicate deliveries or missed deliveries. *** Translated with www.DeepL.com/Translator (free version) ***

Basic Information

POST Register URL through Partners Host: https://I-api.onstove.com (LIVE) https://I-api.gate8.com (SB) Content-Type: application/json
JavaScript
복사

Request

Header

Name
Type
Required
Default Value
Example
Description
caller-id
String
Y
-
clientapp
API Caller Information

Path Variable

Name
Type
Required
Default Value
Example
Description
service_id
String
Y
-
STOVE_QA
Game ID (Issued by STOVE - game_id)

Body

Name
Type
Required
Default Value
Example
Description
bill_platform_type
string(16)
Y
-
Platform type used for payment (required for validation) -ONLINE: Online billing -SHOP: Store
noti_type
string(32)
Y
-
Notification Category -ONLINE_PURCHASE : Online General Product Purchase
world_id
string(30)
N
-
World (Server) Classification
guid
string(50)
Y
-
-
Stove Member GUID (Game-specific Unique User ID). Required except for games without GUIDs (single-player games).
member_no
long
Y
-
Member Number
character_no
string(20)
N
-
Unique keys issued per game character (issued by STOVE)
txn_time
long
Y
-
Payment time(Unix Timestamp UTC-0)
data
json object
Y
-
Detailed Data

data(온라인 일반상품)

Name
Type
Required
Default Value
Example
Description
tid
string(20)
Y
-
T202202103125
Order number issued by Stove Billing
product_id
string(20)
Y
-
p1002
Product codes registered on the Stove platform
product_currency
string(3)
Y
-
KRW, USD
The currency of the amount
product_price
decimal
Y
-
1100, 0.99
Transaction amount
inservice_item_id
string(30)
Y
-
cp7892
In-game item ID
service_order_id
string(20)
N
-
Game payload sent to the payment server during payment requests (currently unsupported specification)

supply_items

Name
Type
Required
Default Value
Example
Description
service_item_code
string(30)
Y
-
-
Item Code - Item codes provided within the game
total_amount
String
Y
-
-
Payment quantity - Minimum 1 or more
item_desc
string(100)
N
-
-
Item Additional Information/Description - Registered with Partners

Response

Body

Name
Type
Required
Default Value
Example
Description
code
Integer
Y
-
0
- Response code (0: Success) - If duplicate receipt (already processed) occurs, return -1 or 0
message
String
Y
-
OK
Response message

Sample

Request

curl --location --request POST'Register URL through Partners' \ --header 'caller-id: {{caller-id}}' Online General Merchandise { "bill_platform_type": "ONLINE", "noti_type": "ONLINE_PURCHASE", "member_no": "265265", "txn_time" : 1644807685000, "data": { "tid": "1909091033503333452", "product_id": "test_1", "product_price": 5000.0, "product_currency": "KRW", "inservice_item_id": "test_1", "service_order_id": "testtest_1234" } Mobile General Products / OOAP Products { "bill_platform_type": "MOBILE", "noti_type": "IAP_PURCHASE", "character_no": "67891", "member_no": "67891", "world_id": "world_1", "txn_time" : 1644807685000, "data": { "tid": "1909091033503333452", "pay_type": "INAPP", "market_code": "GOOGLE_PLAY", "market_product_id": "google_test_1", "product_id": "test_1", "product_price": 5000.0, "product_currency": "KRW", "product_tier": 1, "inservice_item_id": "test_1", "service_order_id": "testtest_1234", "supply_items": [ { "service_item_code": "potion_h", "total_amount": 2, "item_desc": "" }] } } Mobile Subscription Products { "bill_platform_type": "MOBILE", "noti_type" : "IAP_SUBSCRIPT", "character_no" : "67891" "member_no" : "67891", "world_id" : "world_1", "txn_time" : 1644807685000, "data":{ "tid": "1909091033503333452", "original_tid": "o1909091033503333452", "pay_type":"SUBSCRIPTION", "market_code":"GOOGLE_PLAY", "market_product_id":"google_test_1", "product_id": "test_1", "product_price":5000.0, "product_currency":"KRW", "product_tier" : 1, "inservice_item_id":"test_1", "subs_status_code" : "PURCHASE", "expire_time" : 2478329479, "market_subscript_status":"7" } }
Plain Text
복사

Response

{ "code": 0, "message": "OK" }
Plain Text
복사

Return Code

HTTP Status code
response_code
response_message
Description
200
0
OK
Success
500
500
Internal Server Error
Internal server error