การชำระเงิน Web PG
API การชำระเงิน PG บนเว็บคือ API ที่ใช้เมื่อคุณต้องการนำการชำระเงิน PG ไปใช้ในเว็บไซต์ แม้ว่าจะไม่ใช้ Hive SDK billing เมื่อพัฒนาแอป Windows API การชำระเงิน PG บนเว็บจะแตกต่างจาก API ที่ใช้การชำระเงิน PG ในแอป
Note
ในการใช้การชำระเงิน PG ในแอป คุณต้องใช้ Hive SDK Billing และ General PG Payment API.
การดึงรายการสินค้า¶
กำลังดึงข้อมูลผลิตภัณฑ์ ใช้ในการสร้างรายการผลิตภัณฑ์ในแอป
URL การร้องขอ¶
| สภาพแวดล้อม | URL |
|---|---|
| URL การผลิต | https://store.withhive.com/external/api/product |
| URL แซนด์บ็อกซ์ | https://sandbox-store.withhive.com/external/api/product |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | text/html; charset=utf-8 |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
โทเค็น Bearer จะตรงกับ Hive คีย์การรับรองความถูกต้องที่พบใน App Center > Project Management > Select Game Company > Game Details > Basic Information ของคอนโซล Hive
พารามิเตอร์การร้องขอ¶
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| api | String | O | ค่าอัตลักษณ์ API (ใช้ค่าคงที่ `product`) |
| market_id | String | O | Hive รหัสตลาด (การชำระเงิน PG: ใช้ค่าคงที่ `15`) |
| appid | String | O | Hive รหัสแอป |
| hive_country | String | O | รหัสประเทศ (ISO 3166-1 สองตัวอักษร) |
| game_language | String | O | ภาษา (ISO 639-1 สองตัวอักษร) |
| vid | String | O | Hive ข้อมูลบัญชี (Player ID) |
| vid_type | String | O | ประเภทบัญชี (v4) |
| market_pid_type | String | O | ประเภทผลิตภัณฑ์ (ใช้ได้) |
องค์ประกอบการตอบกลับ¶
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| result | จำนวนเต็ม | O | รหัสตอบกลับ (0 คือสำเร็จ, อื่น ๆ คือข้อผิดพลาด) |
| result_msg | สตริง | O | ข้อความตอบกลับ |
| product_list | วัตถุ | O | รายการข้อมูลผลิตภัณฑ์ |
| product_list > market_pid | สตริง | O | PID ของผลิตภัณฑ์ |
| product_list > price | จำนวนเต็ม | O | ราคาผลิตภัณฑ์ (ค่าตัวเลข) |
| product_list > currency | สตริง | O | สกุลเงินของราคาผลิตภัณฑ์ |
| product_list > display_price | สตริง | O | ราคาผลิตภัณฑ์ (รวมสัญลักษณ์สกุลเงิน) |
| product_list > title | สตริง | O | ชื่อผลิตภัณฑ์ |
| product_list > description | สตริง | O | คำอธิบายผลิตภัณฑ์ |
| product_list > product_type | สตริง | O | การจำแนกประเภทผลิตภัณฑ์ (ใช้แล้ว) |
| update_date | สตริง | O | วันที่และเวลาที่อัปเดตล่าสุดของข้อมูล PID ผลิตภัณฑ์ |
ตัวอย่างคำขอ¶
curl -L -v \
-d '{"api": "product","market_id": 15,"appid": "com.com2us.hivesdk.windows.microsoftstore.global.normal","hive_country": "KR","game_language": "ko","vid": "100000000000","vid_type": "v4","market_pid_type": "consumable"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-store.withhive.com/external/api/product
ตัวอย่างการตอบกลับ¶
{
"result": 0,
"result_msg": "success",
"product_list": [
{
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
"price": 1200,
"currency": "KRW",
"display_price": "₩1,200",
"title": "크리스탈 한 줌",
"description": "크리스탈 한 줌",
"product_type": "consumable"
}, {
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item02",
"price": 2500,
"currency": "KRW",
"display_price": "₩2,500",
"title": "크리스탈 묶음",
"description": "크리스탈 묶음",
"product_type": "consumable"
}, {
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item03",
"price": 3900,
"currency": "KRW",
"display_price": "₩3,900",
"title": "크리스탈 더미",
"description": "크리스탈 더미",
"product_type": "consumable"
}
],
"update_date": "2022-10-28 16:11:23"
}
การขอสั่งซื้อสินค้า¶
ขอคำสั่งซื้อผลิตภัณฑ์โดยใช้ข้อมูล PID ของผลิตภัณฑ์ที่เลือกจากรายการผลิตภัณฑ์
การชำระเงินจำนวนที่กำหนด¶
การชำระเงินจำนวนที่กำหนดเองเป็นฟีเจอร์ที่ช่วยให้คุณสามารถขอการชำระเงินด้วย จำนวนที่ระบุโดยเซิร์ฟเวอร์เกม (custom_price) แทนจำนวนที่ตั้งค่าใน PID ของผลิตภัณฑ์ .
หากคุณต้องการใช้คูปอง คะแนน ส่วนลดจากกิจกรรม ฯลฯ กับผลิตภัณฑ์ในเกมของคุณ เซิร์ฟเวอร์เกมจะต้องคำนวณจำนวนเงินที่ต้องชำระสุดท้ายหลังจากใช้ส่วนลดทั้งหมดและเรียก API ด้วยจำนวนเงินนั้นเป็นค่าของ custom_price หากไม่ระบุค่าของ custom_price การชำระเงินจะดำเนินการด้วยจำนวนเงินที่ตั้งไว้ใน PID ของผลิตภัณฑ์
URL ที่ร้องขอ¶
| สภาพแวดล้อม | URL |
|---|---|
| URL การผลิต | https://store.withhive.com/external/api/order |
| URL แซนด์บ็อกซ์ | https://sandbox-store.withhive.com/external/api/order |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | text/html; charset=utf-8 |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
โทเค็น Bearer จะตรงกับ Hive คีย์การตรวจสอบสิทธิ์ที่พบใน App Center > Project Management > Select Game Company > Game Details > Basic Information ในคอนโซล Hive
พารามิเตอร์การร้องขอ¶
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| market_id | String | O | Hive รหัสตลาด |
| appid | String | O | Hive Appid |
| hive_country | String | O | รหัสประเทศ (ISO 3166-1 สองตัวอักษร) |
| game_language | String | O | ภาษา (ISO 639-1 สองตัวอักษร) |
| vid | String | O | Hive ข้อมูลบัญชี (Player ID) |
| vid_type | String | O | ประเภทบัญชี (v4) |
| market_pid | String | O | Product PID |
| server_id | String | O | Server ID |
| os | String | O | Windows: W, MAC: M, Android: A |
| quantity | Integer | X | จำนวนที่ซื้อ (ค่าปริยายคือ 1 หากไม่ได้ส่ง) |
| iap_payload | String | X | ข้อมูลเมตาของการซื้อที่กำหนดโดยนักพัฒนาแอป ข้อมูลเมตาการซื้อ |
| fixed_currency | String | X | สกุลเงินสำหรับการเปิดเผยวิธีการชำระเงิน (ISO 4217 สามตัวอักษร) * ไม่จำเป็น หากไม่มีพารามิเตอร์ fixed_currency วิธีการชำระเงินจะถูกเปิดเผยตาม hive_country แต่หากเพิ่มพารามิเตอร์ fixed_currency วิธีการชำระเงินจะถูกเปิดเผยตามสกุลเงิน fixed_currency |
| refund_idx | Integer | X | IDX รายการการชำระเงินคืนของผู้ใช้ * จำเป็นเฉพาะสำหรับคำขอการชำระเงินคืนของผู้ใช้ |
| is_repayment | Integer | X | ว่ามันเป็นการชำระเงินคืนของผู้ใช้หรือไม่ (0: การชำระเงินปกติ, 1: การชำระเงินคืนของผู้ใช้) * จำเป็นเฉพาะสำหรับคำขอการชำระเงินคืนของผู้ใช้ |
| expiration_time | Integer | X | นี่คือเวลาหมดอายุสำหรับหน้าต่างการชำระเงิน มันอยู่ในรูปแบบ Unix TimeStamp Milliseconds (เช่น 1745395211) หากเวลาปัจจุบันของเซิร์ฟเวอร์การเรียกเก็บเงิน Hive (Unix TimeStamp Milliseconds) เกินค่านี้ จะส่งคืนหน้าคำแนะนำที่แตกต่างแทนที่จะเป็นหน้า HTML ของหน้าต่างการชำระเงินในคำตอบ |
| from_url | String | X | โดเมน URL ของร้านค้าออนไลน์ |
| close_redirect_url | String | X | URL สำหรับการเปลี่ยนเส้นทางเมื่อปุ่มปิดป๊อปอัปการชำระเงิน PG ถูกคลิก |
| fixed_currency | String | X | สกุลเงินสำหรับการเปิดเผยวิธีการชำระเงิน (ISO 4217 สามตัวอักษร) * ไม่จำเป็นสำหรับการชำระเงินปกติ หากไม่มีพารามิเตอร์ `fixed_currency` วิธีการชำระเงินจะถูกเปิดเผยตาม `hive_country` หากเพิ่มพารามิเตอร์ `fixed_currency` วิธีการชำระเงินจะถูกเปิดเผยตามสกุลเงิน `fixed_currency` * จำเป็นเมื่อใช้ฟีเจอร์การชำระเงินจำนวนที่กำหนดเพราะข้อมูลราคาเป็นแบบคงที่. |
| gameserver_price_verify_key | String | X | กุญแจการตรวจสอบจำนวนเงินการชำระเงินของเซิร์ฟเวอร์เกม * เซิร์ฟเวอร์เกมสร้างกุญแจการตรวจสอบ เก็บข้อมูลสกุลเงินและราคาที่ตรงกับกุญแจการตรวจสอบที่สร้างขึ้น และต้องดำเนินการเพื่อให้หากข้อมูลราคาและสกุลเงินที่ตอบกลับจาก API การตรวจสอบใบเสร็จแตกต่างกัน รายการจะไม่ถูกมอบให้ * จำเป็นเมื่อใช้ฟีเจอร์การชำระเงินจำนวนที่กำหนด. |
| custom_price | สตริง | X | จำนวนที่กำหนดเอง * ใช้เมื่อขอการชำระเงินด้วยจำนวนที่กำหนดโดยเซิร์ฟเวอร์เกมแทนจำนวนที่ตั้งค่าใน PID. |
| discount_coupon | สตริง | X | รหัสคูปองส่วนลดเปอร์เซ็นต์ * จำเป็นเมื่อใช้คูปองส่วนลดเปอร์เซ็นต์. * สามารถใช้เฉพาะคูปองส่วนลดเปอร์เซ็นต์ที่ออกจาก Hive console เท่านั้น สถานะคูปองจะเปลี่ยนเป็นใช้แล้วเมื่อการชำระเงินเสร็จสมบูรณ์. |
Note
เมื่อใช้คูปองส่วนลดเปอร์เซ็นต์ คุณต้องตรวจสอบว่าคูปองส่วนลดเปอร์เซ็นต์ที่ออกจาก Hive console นั้นถูกต้องโดยใช้ API ตรวจสอบคูปองส่วนลดเปอร์เซ็นต์ ก่อนที่จะขอชำระเงิน.
ในการทำให้ปุ่ม 'ปิดหน้าต่างการชำระเงิน PG' ทำงานได้ คุณต้องเพิ่มสคริปต์ต่อไปนี้ลงในหน้าที่เรียกการชำระเงิน PG
window.addEventListener('message', function(event) {
const data = event.data;
if (data?.type === 'REFRESH_PARENT') {
if (typeof data.url === 'string' && data.url.trim() !== '') {
window.location.href = data.url;
} else {
window.location.reload();
}
}
});
ตัวอย่างคำขอ¶
curl -L -v \
-d '{"market_id": 15,"appid": "com.com2us.hivesdk.windows.microsoftstore.global.normal","hive_country": "KR","game_language": "ko","vid": "100000000000","vid_type": "v4","market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01","server_id": "KR1","os": "A","quantity": 1,"iap_payload": "{\"character_id\":\"hivesdk01\"}", "expiration_time": 1745395211}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-store.withhive.com/external/api/order
ตัวอย่างการตอบกลับ¶
เมื่อคำขอการสั่งซื้อผลิตภัณฑ์ถูกประมวลผลสำเร็จ หน้าต่างป๊อปอัปสำหรับเลือกวิธีการชำระเงินจะถูกส่งกลับ ด้านล่างนี้คือหน้า HTML ที่ประกอบขึ้นเป็นหน้าต่างป๊อปอัป
การสอบถามรายละเอียดการชำระเงิน¶
เมื่อการชำระเงินเสร็จสิ้น หน่วยงานชำระเงิน (PG) จะส่งผลการชำระเงินไปยังเซิร์ฟเวอร์ IAP v4 ของ Hive โดยตรง วิธีนี้ช่วยชดเชยความไม่เสถียรของเครือข่ายและป้องกันการดัดแปลงข้อมูลการชำระเงิน ในระหว่างการ เตรียมงาน จะมีการตรวจสอบความถูกต้องโดยการเปรียบเทียบข้อมูลการชำระเงินที่ลงทะเบียนกับข้อมูลจากหน่วยงานชำระเงิน (PG) เมื่อยืนยันความสมบูรณ์ของข้อมูลการชำระเงินแล้ว จะมีการดำเนินการด้านความปลอดภัยเพิ่มเติม และข้อมูลการชำระเงินจะถูกเก็บรักษา ข้อมูลการชำระเงินที่เก็บรักษาไว้นั้นสามารถสอบถามได้ผ่าน API การสอบถามประวัติการชำระเงินที่เสร็จสิ้น
ลูกค้าขอข้อมูลจากเซิร์ฟเวอร์เกมในช่วงเวลาที่ต้องการข้อมูลการชำระเงินของผู้ใช้ และเซิร์ฟเวอร์เกมจะดึงข้อมูลการชำระเงินผ่านเซิร์ฟเวอร์ Hive IAP v4 หากมีประวัติการชำระเงินสำหรับผู้ใช้ การตรวจสอบข้อมูลการชำระเงินจะดำเนินการโดยใช้ purchase_bypass_info。
URL ขอ¶
| URL การผลิต | https://hiveiap.qpyou.cn/api_v4/purchases/unconsumed |
| URL แซนด์บ็อกซ์ | https://sandbox-hiveiap.qpyou.cn/api_v4/purchases/unconsumed |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | application/json |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
|---|
โทเค็น Bearer จะตรงกับ Hive คีย์การตรวจสอบสิทธิ์ที่พบใน App Center > Project Management > Select Game Company Game > Game Details > Basic Information บนคอนโซล Hive
พารามิเตอร์การร้องขอ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| appid | String | M | ID ที่ลงทะเบียนและออกจาก Hive console > App Center |
| market_id | Number | M | หมายเลขตลาดที่ไม่ซ้ำ (ใช้ค่าคงที่ `15`) |
| server_id | String | M | รหัสเพื่อแยกแยะเซิร์ฟเวอร์เกมที่การชำระเงินเกิดขึ้น |
| user_id_type | String | M | ประเภทผู้ใช้ Hive (ใช้ค่าคงที่ `player_id`) |
| user_id | Number | M | หมายเลขผู้ใช้ Hive (`player_id`) |
องค์ประกอบการตอบกลับ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| result | หมายเลข | M | รหัสการตอบกลับ (0: สำเร็จ) |
| result_msg | สตริง | M | ข้อความผลลัพธ์ตามรหัสการตอบกลับ |
| unconsumed_lists | อาร์เรย์วัตถุ | M | |
| ┕ market_pid | สตริง | M | รหัสประจำตัวผลิตภัณฑ์ |
| ┕ order_id | สตริง | M | หมายเลขคำสั่งซื้อ |
| ┕ server_id | สตริง | M | รหัสที่แยกความแตกต่างของเซิร์ฟเวอร์เกมที่ผู้ใช้ซื้อเข้าถึง |
| ┕ vid | สตริง | M | PlayerID ของผู้ใช้ที่ทำการซื้อ |
| ┕ amount | สตริง | M | จำนวนเงินที่ชำระ |
| ┕ currency | สตริง | M | สกุลเงินที่ชำระ |
| ┕ quantity | หมายเลข | M | จำนวนที่ซื้อ |
| ┕ started_datetime | วันเวลา | M | เวลาที่เริ่มการชำระเงิน (Y-m-d H:i:s) |
| ┕ paid_datetime | วันเวลา | M | เวลาที่การชำระเงินเสร็จสิ้น (Y-m-d H:i:s) |
| ┕ started_datetime_ms | หมายเลข | M | เวลาที่เริ่มการชำระเงิน (Unix TimeStamp Milliseconds) |
| ┕ paid_datetime_ms | หมายเลข | M | เวลาที่การชำระเงินเสร็จสิ้น (Unix TimeStamp Milliseconds) |
| ┕ hiveiap_receipt | สตริง | M | ข้อมูลการชำระเงินการเข้ารหัส HASH |
| ┕ purchase_bypass_info | สตริง | M | ข้อมูลที่จำเป็นสำหรับการตรวจสอบใบเสร็จ |
| ┕ iap_payload | สตริง | O | ข้อมูลเพิ่มเติมที่ได้รับจากไคลเอนต์เพื่อส่งไปยังเซิร์ฟเวอร์เกม (ในรูปแบบสตริง JSON) (จะคืนค่า null หากไม่มีข้อมูลที่ได้รับ) |
| ┕ price_type | สตริง | O | ประเภทของราคา (none: ไม่ได้ใช้, custom_price: การชำระเงินจำนวนที่กำหนดเอง) |
| ┕ gameserver_price_verify_key | สตริง | O | คีย์การตรวจสอบจำนวนเงินการชำระเงินของเซิร์ฟเวอร์เกม |
ตัวอย่างคำขอ¶
curl -L -v
-d '{"appid" : "com.com2us.hivesdk.windows.microsoftstore.global.normal","market_id" : 15,"server_id" : "kr","user_id_type": "player_id", "user_id": 30000056996}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-hiveiap.qpyou.cn/api_v4/purchases/unconsumed
ตัวอย่างการตอบกลับ¶
{
"result": 0,
"result_msg": "SUCCESS",
"unconsumed_lists": [
{
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
"order_id": "h2164792542890731850",
"server_id": "kr",
"vid": "30000056996",
"uid": "13079",
"amount": "1200",
"currency": "KRW",
"quantity": 1,
"started_datetime": "2022-03-22 14:03:49",
"paid_datetime": "2022-03-22 14:04:39",
"market_id": "15",
"hiveiap_receipt": "2YnGzfTCGycoMjcSyYyNXBjANwmFyB6m\/c0bYazQ8VQ=",
"purchase_bypass_info": "eyJtYXJrZXRfcGlkIjoiY29tLmNvbTJ1cy5oaXZlc2R...",
"started_datetime_ms": 1647925429000,
"paid_datetime_ms": 1647925479000,
"iap_payload": null,
"price_type": "none",
"gameserver_price_verify_key": null
}
]
}
การตรวจสอบข้อมูลการชำระเงิน¶
API การตรวจสอบผลการชำระเงินขึ้นอยู่กับ การตรวจสอบใบเสร็จ IAP v4.
การตรวจสอบผลการชำระเงินใช้ข้อมูล purchase_bypass_info ที่ได้รับก่อนหน้านี้ purchase_bypass_info ประกอบด้วยข้อมูลต่างๆ ที่ได้รับผ่าน SDK ก่อนที่จะดำเนินการชำระเงินและถูกส่งไปยัง Hive Analytics หากคุณต้องการส่ง บันทึกการขาย พร้อมกับคำขอการตรวจสอบใบเสร็จ โปรดใช้ game_info ข้อมูล game_info ที่ได้รับทำหน้าที่เป็นตัวกลางในการส่งบันทึกไปยังเซิร์ฟเวอร์วิเคราะห์จาก Hive IAP.
URL ที่ร้องขอ¶
| URL การผลิต | https://hiveiap-verify.qpyou.cn/api_v4/verify |
| URL แซนด์บ็อกซ์ | https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | text/html |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
|---|
โทเค็น Bearer จะตรงกับ Hive คีย์การตรวจสอบสิทธิ์ที่พบใน App Center > Project Management > Select Game Company > Game Details > Basic Information ในคอนโซล Hive
พารามิเตอร์การร้องขอ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| purchase_bypass_info | String | M | ข้อมูลสำหรับการแทนที่ใบเสร็จและการส่งข้อมูลวิเคราะห์ |
| game_info | Object Array | O | เมื่อมีบันทึกที่จะส่งไปยังเกม เช่น บันทึกเกมหรือบันทึกรายได้ ให้เพิ่มค่าดังกล่าวไปยังเกมเพื่อส่งไป และ Hive IAP จะทำหน้าที่แทนเซิร์ฟเวอร์วิเคราะห์สำหรับการส่ง ในขั้นตอนการตรวจสอบใบเสร็จ จะไม่สามารถทราบได้ว่ารายการได้ถูกส่งแล้ว (itemsendok) ดังนั้นส่วนนี้ต้องดำเนินการแยกต่างหากและให้ข้อมูลเพิ่มเติม |
| ⠀⠀server_uid | bigint | O | รหัสผู้ใช้ที่ออกโดยเซิร์ฟเวอร์เกม หากไม่มีให้ใช้ 0 |
| ⠀⠀giftee_uid | bigint | O | null: การชำระเงินสำหรับการใช้งานส่วนตัว 0: บุคคลที่ได้รับของขวัญมีอยู่ แต่ไม่สามารถตรวจสอบ UID ได้ |
| ⠀⠀level | int | O | ระดับในเกมของผู้ใช้ ไม่จำเป็นหากไม่มีระดับ หากไม่มีให้ใช้ 0 |
| ⠀⠀character_id | bigint | O | ค่าระบุอักขระที่ไม่ซ้ำกันภายในเซิร์ฟเวอร์ หากไม่มีแนวคิดเกี่ยวกับตัวละครให้ใช้ "0" |
| ⠀⠀character_type_id | int | O | ค่าระบุประเภทตัวละคร ให้ใส่ "0" สำหรับเกมที่ไม่มีแนวคิดเกี่ยวกับตัวละคร |
| ⠀⠀character_level | int | O | ค่าระบุประเภทตัวละคร ให้ใส่ "0" สำหรับเกมที่ไม่มีแนวคิดเกี่ยวกับตัวละคร |
| ⠀⠀is_emulator | int | O | ให้ใส่ "1" เมื่อเข้าถึงผ่านอีมูเลเตอร์ PC เช่น BlueStacks มิฉะนั้นให้ใส่ "0" |
องค์ประกอบการตอบกลับ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| result | หมายเลข | M | รหัสการตอบกลับ (ดูที่รหัสการตอบกลับ) |
| result_msg | สตริง | M | ข้อความผลลัพธ์ตามรหัสการตอบกลับ |
| hiveiap_transaction_id | สตริง | M | รหัสธุรกรรมที่สร้างขึ้นสำหรับใบเสร็จที่ตรวจสอบแล้วอย่างถูกต้องแต่ละใบ ค่านี้ควรเก็บไว้ในเซิร์ฟเวอร์เกมเพื่อทำการตรวจสอบใบเสร็จซ้ำ |
| hiveiap_market_id | สตริง | O | หมายเลขเฉพาะของตลาด (การชำระเงิน PG: กำหนดที่ 15) |
| hiveiap_market_pid | สตริง | O | PID ของผลิตภัณฑ์การชำระเงิน |
| hiveiap_market_transaction_id | สตริง | O | หมายเลขคำสั่งซื้อเฉพาะสำหรับคำสั่งซื้อ |
| hiveiap_receipt | สตริง | O | ค่าของวัตถุใบเสร็จตลาด (การชำระเงิน PG: กำหนดเป็น null) |
| hiveiap_purchase_test | สตริง | O | สถานะการชำระเงินทดสอบ (Y: การชำระเงินทดสอบ / N: การชำระเงินปกติ) |
| hiveiap_iap_payload | สตริง | O | ข้อมูลเพิ่มเติมที่ได้รับจากลูกค้าเพื่อนำส่งไปยังเซิร์ฟเวอร์เกม ข้อมูลจะอยู่ในรูปแบบ JSON String และหากไม่มีข้อมูลใด ๆ จะส่งคืน `null` |
| hiveiap_account_uuid_compare | หมายเลข | O | ระบุว่าข้อมูลบัญชีที่ให้ไว้กับ API การตรวจสอบใบเสร็จตรงกับข้อมูลบัญชี Hive ที่ล็อกอินในขณะตรวจสอบหรือไม่ อาจมีบัญชี Hive หลายบัญชีที่มีบัญชีตลาดเดียวกัน (1: ตรงกัน, 2: ไม่ตรงกัน, 9: ไม่รองรับ) |
| hiveiap_price | สตริง | O | จำนวนเงินในการชำระเงิน เมื่อใช้การชำระเงินจำนวนเงินที่กำหนดเองของ PG เพื่อป้องกันการใช้ประโยชน์ คุณ **ต้อง** ตรวจสอบว่าจำนวนเงินที่กำหนดเองและจำนวนเงินคำสั่งซื้อจริงตรงกันในเซิร์ฟเวอร์เกมโดยใช้คีย์การตรวจสอบ (`gameserver_price_verify_key`) |
| hiveiap_currency | สตริง | O | สกุลเงินในการชำระเงิน เมื่อใช้การชำระเงินจำนวนเงินที่กำหนดเองของ PG เพื่อป้องกันการใช้ประโยชน์ คุณ **ต้อง** ตรวจสอบว่าสกุลเงินในการชำระเงินของจำนวนเงินที่กำหนดเองและจำนวนเงินในการชำระเงินจริงตรงกันในเซิร์ฟเวอร์เกมโดยใช้คีย์การตรวจสอบ (`gameserver_price_verify_key`) |
| gameserver_price_verify_key | สตริง | O | คีย์การตรวจสอบจำนวนเงินในการชำระเงินของเซิร์ฟเวอร์เกม เมื่อใช้การชำระเงินจำนวนเงินที่กำหนดเองของ PG เพื่อป้องกันการใช้ประโยชน์ คุณต้องใช้คีย์นี้เพื่อเปรียบเทียบและตรวจสอบข้อมูลจำนวนเงินและสกุลเงินในเซิร์ฟเวอร์เกม |
รหัสการตอบกลับ¶
| รหัส | ข้อความ | ความคิดเห็น |
| 0 | สำเร็จ, ใบเสร็จซ้ำ | การตรวจสอบสำเร็จ |
| 1000001 | ไม่มีพารามิเตอร์ที่ร้องขอ | ไม่มีพารามิเตอร์ถูกส่ง |
| 1000003 | ข้อผิดพลาดการเชื่อมต่อฐานข้อมูล | เมื่อการเชื่อมต่อฐานข้อมูลล้มเหลว |
| 1000005 | ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน | ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน |
| 1000006 | ข้อมูลพารามิเตอร์ที่จำเป็นขาดหายไป | เมื่อค่าพารามิเตอร์ที่จำเป็นขาดหายไป |
| 1000503 | ไม่สามารถตรวจสอบใบเสร็จได้ | ไม่สามารถตรวจสอบใบเสร็จหรือเป็นใบเสร็จที่ถูกแฮ็ก (เช่น การแฮ็กแบบปลอม) |
| 1000507 | ไม่สามารถบันทึกข้อมูลการซื้อได้ | ไม่สามารถบันทึกประวัติการซื้อได้ |
| 1000524 | ไม่สามารถตรวจสอบใบเสร็จได้ (คำสั่งซื้อล้มเหลว) | การตรวจสอบใบเสร็จล้มเหลว (คำสั่งซื้อที่ไม่มีอยู่) |
| 1000525 | ไม่สามารถตรวจสอบใบเสร็จได้ (พารามิเตอร์ผิด) | การตรวจสอบใบเสร็จล้มเหลว (ข้อผิดพลาดพารามิเตอร์) |
ตัวอย่างคำขอ¶
curl -L -v \
-d '{"purchase_bypass_info":"eyJtYXJrZXRfaWQiOiIxNSIsIm9yZGVyX2lkIjoiSDMxNjQ3OTI1NDI4OTA3MzE4NTAiLCJtYXJrZXRfcGlkIjoiY29tLmNvbTJ1cy5oaXZlc2RrLndpbmRvd3MubWljcm9zb2Z0c3RvcmUuZ2xvYmFsLm5vcm1hbC5pdGVtMDEiLCJ2aWQiOiIzMDAwMDA1Njk5NiIsInVpZCI6IjEzMDc5Iiwic2VydmVyX2lkIjoia3IiLCJhcHBpZCI6ImNvbS5jb20ydXMuaGl2ZXNkay53aW5kb3dzLm1pY3Jvc29mdHN0b3JlLmdsb2JhbC5ub3JtYWwiLCJhbW91bnQiOiIxMjAwIiwic3RhcnRlZF9kYXRldGltZSI6bnVsbCwicGFpZF9kYXRldGltZSI6bnVsbCwiY3VycmVuY3kiOiJLUlciLCJoaXZlaWFwX3JlY2VpcHQiOiIyWW5HemZUQ0d5Y29NamNTeVl5TlhCakFOd21GeUI2bVwvYzBiWWF6UThWUT0ifQ=="}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-hiveiap-verify.qpyou.cn/api_v4/verify
ตัวอย่างการตอบกลับ¶
{
"result": 0,
"result_msg": "success",
"hiveiap_transaction_id": "HS_13",
"hiveiap_market_id": 15,
"hiveiap_market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
"hiveiap_market_transaction_id": "h2164792542890731850",
"hiveiap_receipt": null,
"hiveiap_purchase_test": "N",
"hiveiap_iap_payload": null,
"hiveiap_account_uuid_compare": 9,
"hiveiap_price": "1200",
"hiveiap_currency": "KRW",
"gameserver_price_verify_key": null
}
การประมวลผลผลลัพธ์การชำระเงิน¶
API การประมวลผลผลลัพธ์การชำระเงิน อิงจาก IAP v4 การส่งผลลัพธ์การชำระเงินสำหรับรายการ ผ่าน API การประมวลผลผลลัพธ์การชำระเงิน การประมวลผลการชำระเงินจากการซื้อรายการจนถึงการชำระเงินเสร็จสมบูรณ์จะถูกสรุป หากการประมวลผลการชำระเงินไม่เสร็จสมบูรณ์ ผู้ใช้จะไม่สามารถซื้อผลิตภัณฑ์เดียวกันได้ เมื่อพยายามซื้อและเข้าสู่หน้าชำระเงิน จะมีข้อความระบุว่า 'คุณเป็นเจ้าของผลิตภัณฑ์นี้แล้ว' จะแสดงขึ้น และการชำระเงินจะไม่ดำเนินการต่อ
เมื่อพยายามซื้อและชำระเงินโดยการเปิดหน้าต่างการชำระเงินหลาย ๆ หน้าต่าง ผลิตภัณฑ์ทั้งหมดที่ยังไม่ได้รับการประมวลผลจะถูกยกเลิกโดยอัตโนมัติ หลังจากประมวลผลขั้นตอนการชำระเงินทั้งหมด เช่น การตรวจสอบขีดจำกัดการซื้อและการจัดสรรสินค้า ที่ดำเนินการโดยเซิร์ฟเวอร์เกม ผลลัพธ์การชำระเงินจะถูกส่งไปยัง Hive IAP v4 เซิร์ฟเวอร์เพื่อแจ้งว่าการชำระเงินเสร็จสมบูรณ์ หากคุณต้องการขอยกเลิกการชำระเงิน คุณยังสามารถขอยกเลิกผ่าน API การประมวลผลผลลัพธ์การจัดสรรสินค้าได้
URL ที่ร้องขอ¶
| URL การผลิต | https://hiveiap.qpyou.cn/api_v4/item_result |
| URL แซนด์บ็อกซ์ | https://sandbox-hiveiap.qpyou.cn/api_v4/item_result |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | text/html |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
|---|
โทเค็น Bearer จะตรงกับ Hive คีย์การรับรองความถูกต้องที่พบใน App Center > Project Management > Select Game Company Game > Game Details > Basic Information ของคอนโซล Hive
พารามิเตอร์การร้องขอ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| hiveiap_transaction_id | String | M | hiveiap_transaction_id ของผลการตรวจสอบใบเสร็จ |
| result_status | Number | M | สถานะความสำเร็จในการมอบสิทธิ์ 0: มอบสิทธิ์ล้มเหลว 1: มอบสิทธิ์สำเร็จ 2: คำขอคืนเงินการยกเลิกการชำระเงิน (เฉพาะ PG) |
| result_status_message | String | O | เหตุผลสำหรับความล้มเหลวในการมอบสิทธิ์หรือคำขอการยกเลิกการชำระเงิน |
| user_id_type | String | M | Hive ประเภทผู้ใช้ (ใช้ค่าคงที่ `player_id`) |
| user_id | Number | M | Hive รหัสผู้ใช้ (`player_id`) |
| asset | Object Array | O | ข้อมูลเกี่ยวกับรายการที่มอบให้ ให้ระบุค่าเฉพาะเมื่อการมอบสิทธิ์สำเร็จ และตอบกลับด้วยอาร์เรย์ว่าง ([]) เมื่อการมอบสิทธิ์ล้มเหลว |
| asset_id | String | O | รหัสรายการ |
| asset_name | String | O | ชื่อรายการ |
| ⠀⠀จำนวน | Number | O | จำนวนรายการที่มอบให้ |
องค์ประกอบการตอบกลับ¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| ผลลัพธ์ | หมายเลข | M | รหัสการตอบกลับ (0: สำเร็จ) |
| ข้อความผลลัพธ์ | สตริง | M | ข้อความผลลัพธ์ตามรหัสการตอบกลับ |
ตัวอย่างคำขอ¶
curl -L -v
-d '{"hiveiap_transaction_id" : "HS_13","result_status": 1,"user_id_type": "player_id","user_id": 30000056996,"asset": [ {"asset_id":"item_id","asset_name":"item_name","quantity":1}
,{"asset_id":"item_id","asset_name":"item_name","quantity":1}]}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-hiveiap.qpyou.cn/api_v4/item_result
ตัวอย่างการตอบกลับ¶
บริการแจ้งผลการชำระเงิน¶
บริการแจ้งผลการชำระเงินจะส่งผลลัพธ์ไปยังเซิร์ฟเวอร์เกมทันทีเมื่อการชำระเงินเสร็จสิ้นหรือถูกยกเลิก API นี้จะส่งค่าของ purchase_bypass_info ในลักษณะเดียวกับการตรวจสอบประวัติการชำระเงินที่เสร็จสมบูรณ์ ซึ่งอนุญาตให้เกมใช้ค่านี้เพื่อตรวจสอบใบเสร็จและมอบไอเท็มให้กับผู้ใช้ การตรวจสอบใบเสร็จและการมอบไอเท็มควรดำเนินการต่อเมื่อ type ในข้อมูลการส่งผลลัพธ์การชำระเงินเป็นการชำระเงินแล้ว
Note
เพื่อใช้ API นี้ คุณต้องตั้งค่า บริษัท PG ใน Hive console ก่อน แนะนำให้ใช้ API นี้หรือ API สอบถามประวัติการชำระเงินเพื่อการตรวจสอบใบเสร็จและการจัดส่งสินค้า
ข้อมูลพื้นฐานเกี่ยวกับการส่งผลลัพธ์การชำระเงิน¶
| HTTP Method | POST |
| Content-Type | application/json |
| Data Format | JSON |
ข้อมูลการส่งผลลัพธ์การชำระเงิน¶
| ชื่อ | ประเภท | จำเป็น (จำเป็น: M, ไม่จำเป็น: O) | คำอธิบาย |
| type | String | M | ประเภทการแจ้งเตือน (paid: การชำระเงินเสร็จสมบูรณ์, cancelled: การชำระเงินถูกยกเลิกหรือคืนเงิน) |
| market_id | String | M | หมายเลขตลาดของ Hive |
| order_id | String | M | หมายเลขคำสั่งซื้อ |
| market_pid | String | M | หมายเลขประจำตัวสินค้าที่ไม่ซ้ำกัน |
| vid | String | M | PlayerID ของผู้ใช้ที่ทำการซื้อ |
| uid | String | O | หมายเลขสมาชิก Hive ของผู้ใช้ที่ทำการซื้อ |
| vid_type | String | O | เวอร์ชัน SDK (ค่าเริ่มต้น v4) |
| server_id | String | M | รหัสที่แยกความแตกต่างของเซิร์ฟเวอร์เกมที่ผู้ใช้ทำการซื้อเข้าถึง |
| appid | String | M | หมายเลขแอป Hive |
| amount | String | M | จำนวนเงินที่ชำระ |
| currency | String | M | สกุลเงินที่ใช้ชำระเงิน |
| quantity | String | M | จำนวนที่ซื้อ |
| started_datetime | Datetime | M | เวลาที่เริ่มการชำระเงิน (Y-m-d H:i:s) |
| paid_datetime | Datetime | M | เวลาที่การชำระเงินเสร็จสมบูรณ์ (Y-m-d H:i:s) |
| cancelled_datetime | Datetime | O | เวลาที่การชำระเงินถูกยกเลิกหรือคืนเงิน (Y-m-d H:i:s) |
| started_datetime_ms | Number | M | เวลาที่เริ่มการชำระเงิน (Unix TimeStamp Milliseconds) |
| paid_datetime_ms | Number | M | เวลาที่การชำระเงินเสร็จสมบูรณ์ (Unix TimeStamp Milliseconds) |
| cancelled_datetime_ms | Number | O | เวลาที่การชำระเงินถูกยกเลิกหรือคืนเงิน (Unix TimeStamp Milliseconds) |
| cancelled_reason | String | O | เหตุผลในการยกเลิกหรือคืนเงินการชำระเงิน |
| hiveiap_receipt | String | M | HASH ที่เข้ารหัสของข้อมูลการชำระเงิน |
| purchase_bypass_info | String | M | ข้อมูลที่จำเป็นสำหรับการตรวจสอบใบเสร็จ |
| iap_payload | String | O | ข้อมูลเพิ่มเติมที่ได้รับจากลูกค้าเพื่อนำส่งไปยังเซิร์ฟเวอร์เกม ข้อมูลอยู่ในรูปแบบ JSON String และหากไม่มีข้อมูลใด ๆ จะส่งคืนเป็น null. |
| price_type | String | O | ประเภทของราคา (none: ไม่ใช้, custom_price: การชำระเงินจำนวนที่กำหนดเอง) |
| gameserver_price_verify_key | String | O | คีย์การตรวจสอบจำนวนเงินการชำระเงินของเซิร์ฟเวอร์เกม |
ตัวอย่างการส่งผลการชำระเงิน (เมื่อชำระเงินเสร็จสิ้น)¶
{
"type": "paid",
"market_id": "15",
"order_id": "H2168993822440686730",
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
"vid": "20000011337",
"uid": "67200717",
"vid_type": "v4",
"server_id": "kr",
"appid": "com.com2us.hivesdk.windows.microsoftstore.global.normal",
"amount": "1200",
"started_datetime": "2023-07-21 20:17:06",
"paid_datetime": "2023-07-21 20:18:13",
"cancelled_datetime": null,
"cancelled_reason": null,
"currency": "KRW",
"quantity": "1",
"hiveiap_receipt": "tJpwQSIlNFiCSPokHSRYTvTLmtbDiSZnkYa7+IWaMwM=",
"started_datetime_ms": 1689938226000,
"paid_datetime_ms": 1689938293000,
"cancelled_datetime_ms": null,
"iap_payload": null,
"purchase_bypass_info": "eyJ0eXBlIjoicGFpZCIsIm1hcmtldF9pZCI6IjE1Iiwib3JkZXJfaWQiOi...",
"price_type": "none",
"gameserver_price_verify_key": null
}
ตัวอย่างการส่งผลการชำระเงิน (ในกรณีที่ยกเลิกการชำระเงิน)¶
{
"type": "cancelled",
"market_id": "15",
"order_id": "H2168993822440686730",
"market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
"vid": "20000011337",
"uid": "67200717",
"vid_type": "v4",
"server_id": "kr",
"appid": "com.com2us.hivesdk.windows.microsoftstore.global.normal",
"amount": "1200",
"started_datetime": "2023-07-21 20:17:06",
"paid_datetime": "2023-07-21 20:18:13",
"cancelled_datetime": "2023-07-21 20:21:44",
"cancelled_reason": "테스트 결제 취소",
"currency": "KRW",
"quantity": "1",
"hiveiap_receipt": "tJpwQSIlNFiCSPokHSRYTvTLmtbDiSZnkYa7+IWaMwM=",
"started_datetime_ms": 1689938226000,
"paid_datetime_ms": 1689938293000,
"cancelled_datetime_ms": 1689938504000,
"iap_payload": null,
"purchase_bypass_info": "eyJ0eXBlIjoiY2FuY2VsbGVkIiwibWFya2V0X2lkIjoiMT...",
"price_type": "none",
"gameserver_price_verify_key": null
}
API สอบถามประวัติการคืนเงินเป้าหมายการชำระเงินคืนของผู้ใช้¶
API นี้ดึงประวัติการคืนเงินสำหรับผู้ใช้ที่ได้ขอคืนเงินและต้องการทำการชำระเงินใหม่
หากคุณได้เปิดใช้งานฟีเจอร์การชำระเงินใหม่สำหรับผู้ใช้ที่คืนเงินในร้านค้าเว็บที่คุณพัฒนาขึ้นเอง คุณควร implement UI ป๊อปอัพการแจ้งเตือนการชำระเงินใหม่สำหรับผู้ใช้ที่คืนเงินโดยใช้ค่าผลลัพธ์จาก API 'การสอบถามประวัติการคืนเงินเป้าหมายการชำระเงินใหม่ของผู้ใช้ที่คืนเงิน'
เมื่อใช้ API 'การสอบถามประวัติการคืนเงินเป้าหมายการชำระเงินคืนของผู้ใช้' โปรดทราบถึงเรื่องต่อไปนี้
- รายการตอบกลับ
is_refundจาก PlayerID Lookup API สามารถใช้ได้เฉพาะเมื่อมันเป็นจริง - เมื่อขอการชำระเงินสำหรับกรณีการชำระเงินคืน พารามิเตอร์คำขอ json จะต้องรวม
refund_idx(Integer)และis_repayment(Integer)เป็นรายการที่จำเป็น - เมื่อชำระเงินคืนสำหรับกรณีการชำระเงินจำนวนที่กำหนดเอง คุณต้องตั้งค่าค่าของฟิลด์
custom_priceและgameserver_price_verify_keyเมื่อทำการขอชำระเงิน ในกรณีนี้ ให้ตั้งค่าฟิลด์gameserver_price_verify_keyเป็นrefund - เมื่อทำการขอการชำระเงินคืน ให้ตั้งค่าฟิลด์
server_idเป็นrefund
URL การร้องขอ¶
| สภาพแวดล้อม | URL |
|---|---|
| URL การผลิต | https://store.withhive.com/external/api/refund_info |
| URL แซนด์บ็อกซ์ | https://sandbox-store.withhive.com/external/api/refund_info |
| วิธีการ HTTP | POST |
| ประเภทเนื้อหา | text/html; charset=utf-8 |
| รูปแบบข้อมูล | JSON |
| การอนุญาต | Bearer (token) |
โทเค็น Bearer จะตรงกับคีย์การตรวจสอบสิทธิ์ Hive ที่พบใน App Center > Project Management > Select Game Company > Game Details > Basic Information ของคอนโซล Hive
พารามิเตอร์คำขอ¶
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| appid | สตริง | O | Hive Appid |
| vid_type | สตริง | O | ประเภทบัญชี ("v4") |
| vid | สตริง | O | Hive ข้อมูลบัญชี (Player ID) |
| game_language | สตริง | O | ภาษา (ISO 639-1 สองตัวอักษร) |
| device | สตริง | X | ความแตกต่างระหว่าง PC และ Mobile (pc, mobile) * หากไม่มีรายการอุปกรณ์ จะถูกตั้งค่าเป็น mobile ในการตอบกลับ |
องค์ประกอบการตอบกลับ¶
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| result | จำนวนเต็ม | O | รหัสการตอบกลับ (0 คือสำเร็จ, อื่นใดคือข้อผิดพลาด) |
| result_msg | สตริง | O | ข้อความการตอบกลับ |
| guide_title | สตริง | O | ชื่อคู่มือ |
| guide_content | สตริง | O | เนื้อหาคู่มือ |
| customer_site | อ็อบเจ็กต์ | O | ที่อยู่บริการลูกค้า |
| customer_site > pc | สตริง | O | ที่อยู่บริการลูกค้าสำหรับ PC |
| customer_site > mobile | สตริง | O | ที่อยู่บริการลูกค้าสำหรับมือถือ |
| refund_list | อาเรย์ > อ็อบเจ็กต์ | O | รายการการคืนเงิน |
| refund_list > refund_idx | จำนวนเต็ม | X | รหัส ID ของการคืนเงิน |
| refund_list > market_id | จำนวนเต็ม | X | Hive รหัสตลาด |
| refund_list > market_pid | สตริง | X | PID ของผลิตภัณฑ์ |
| refund_list > refund_time | สตริง | X | วันที่และเวลาการคืนเงิน |
| refund_list > refund_time_ms | จำนวนเต็ม | X | วันที่และเวลาการคืนเงิน (Unix TimeStamp Milliseconds) |
| refund_list > quantity | จำนวนเต็ม | X | จำนวนผลิตภัณฑ์ที่ซื้อ |
| refund_list > price | สตริง | X | จำนวนเงินที่ชำระ * ใช้สำหรับการชำระเงินจำนวนที่กำหนดเอง |
| refund_list > currency | สตริง | X | สกุลเงินที่ชำระ * ใช้สำหรับการชำระเงินจำนวนที่กำหนดเอง |
| refund_list > display_price | สตริง | X | จำนวนเงินที่แสดง * ใช้สำหรับการชำระเงินจำนวนที่กำหนดเอง |
ตัวอย่างคำขอ¶
curl -L -v \
-d '{"appid":"com.com2us.hivesdk.normal.freefull.apple.global.ios.universal","vid_type":"v4","vid":"20000015900","game_language":"ko","device":"pc"}' \
-H "Content-Type: text/html" \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY" \
https://sandbox-store.withhive.com/external/api/refund_info
ตัวอย่างการตอบกลับ¶
{
"result": 0,
"result_msg": "success",
"guide_title": "환불 상품 재결제 안내",
"guide_content": "고객님의 계정은 게임 서비스 약관 및 운영 정책 위반 행위(결제시스템 악용)가 확인되어,
게임 이용이 제한되었습니다.\n\n알 수없는 이유로 결제가 취소되었거나, 혹은 비정상적인 절차로 환불된 상품의 경우, 동일 상품 재결제 후 게임 이용이 가능합니다.\n\n 현재 접속한 단말OS의 마켓 상품만 재결제가 가능하오니, 다른 마켓은 해당 앱으로 접속하여 재결제 부탁드립니다.
스팀 환불 내역에 대한 재결제는 PC에서 진행하세요. 모든 마켓의 취소/환불 상품의 재결제가 완료되어야 게임 이용이 가능합니다.\n\n일부 마켓에서 한 상품을 여러 수량으로 한 번에 구매 후 환불한 경우,
동일한 수량으로 재결제 해야 합니다. 만약 환불한 수량과 재결제한 수량이 일치하지 않으면 해당 재결제 건은 자동 취소됩니다.
취소되는 시점은 마켓에 따라 상이하며 수일이 걸릴 수 있습니다.\n\n 재결제 도중 오류로 인하여 결제 실패한 경우, 현재 계정으로 다시 게임을 재실행해주세요. 디바이스를 변경하여 동일한 마켓계정이면서 다른 게임 계정으로 로그인하시면 결제가 정상적으로 완료되지 않을 수 있습니다.\n\n결제 불가상품을 비롯한 그밖의 문의사항은 고객센터로 접수 부탁드립니다.\n\n* 환불 시간은 UTC+9 기준입니다.",
"customer_site": {
"pc": "https://sandbox-customer.withhive.com/com2us/faq/game/539",
"mobile": "https://sandbox-customer-m.withhive.com/com2us/faq/game/539"
},
"refund_list": [
{
"refund_idx": 20850,
"market_id": 1,
"market_pid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.cs01",
"refund_time": "2023.02.02 15:47 (UTC+9)",
"refund_time_ms": 1675320475000,
"quantity": 1,
"price": "1200",
"currency": "KRW",
"display_price": "₩1,200"
}
]
}
ตัวอย่างป๊อปอัปการแจ้งเตือนการคืนเงินผู้ใช้¶
Warning
ผู้ใช้ต้อง implement ปุ่ม 'Refresh' ที่อนุญาตให้พวกเขาอัปเดตรายการสินค้าที่ซื้อซ้ำหลังจากทำการชำระเงินสำหรับการซื้อซ้ำเสร็จสิ้น หลังจากทำการชำระเงินสำหรับการซื้อซ้ำเสร็จสิ้น, API 'Refund User Re-purchase Target Refund History Inquiry' ต้องถูกเรียกใหม่เพื่อดำเนินการกับกระบวนการปล่อยการตรวจสอบสิทธิ์

