🛒 Shop 内购测试游戏
Rezona JSB(App WebView 内)
① 环境
JSB: 检测中…
重新检测
本页所有 Shop / player_data 请求都通过 JSB 由 App 代理;H5 不传 token / game_id / user_id(App 按登录态注入)。
纯浏览器无 JSB 通道
,下面操作会提示「非 App 环境」——请在 Rezona App WebView 内打开。
② shop.init
仅游戏创建者写入
全量商品声明(库中存在但未声明的会被下架)。unit_price 须满足 Coin 限额:默认 ≥10、≤10000、10 的倍数。
[ { "product_id": "extra_life", "name": "Extra Life", "unit_price": 10, "asset_key": "life", "grant_amount": 1, "stock": 99 }, { "product_id": "coin_pack", "name": "Coin Pack ×100", "unit_price": 50, "asset_key": "gold", "grant_amount": 100, "stock": 99 } ]
shop.init
③ shop.state
shop.state
shop.syncOrders 补核销
我的资产
未加载
④ 橱窗 — 购买链路:createOrder → purchase.oneshot → confirmOrder
product_id
名称
单价
发放
库存
数量
先 shop.init / shop.state 加载商品
② 调 App 原生支付;支付若在别处完成,可用下方「手动 confirm」或「补核销」补发货(幂等)。
⑤ 手动 confirmOrder
支付已在别处完成时
order_no
shop.confirmOrder
⑥ shop.useAsset
消耗持有资产
asset_key
数量
shop.useAsset
⑦ player_data 存档
CAS 乐观锁
key
playerData.get
version: —
{"level":1,"coins":0}
playerData.update
首次写入 version=0;冲突(1003) 自动取回最新 version 提示重试。
日志
就绪。请在 Rezona App WebView 内打开后操作。