微信小游戏道具档位支付

道具内购介绍

通过微信后台配置的游戏道具,可以在游戏中进行内购,可以通过道具匹配模式或价格档位模式进行支付

价格档位模式(推荐方式)

通过微信后台配置的价格档位,游戏中的道具可以通过价格档位进行匹配,如下所示:

微信虚拟支付直购道具配置

道具 ID 道具名称 道具价格
1 价格档位 6 元 6
2 价格档位 12 元 12
3 价格档位 30 元 30

游戏道具配置

道具 ID 道具名称 道具价格 对应价格档位
P1 首冲礼包 6 价格档位 6 元(ID 1)
P2 许愿礼包 6 价格档位 6 元 (ID 1)
P3 经验礼包 12 价格档位 12 元 (ID 2)
P4 突破礼包 30 价格档位 30 元 (ID 3)

档位道具配置流程

优点:配置简单,微信价格档位只需配置一次,游戏道具通过价格档位匹配,无需等待微信审核,游戏道具配置灵活,可随时调整

缺点:游戏需要处理价格档位与道具的匹配逻辑

唤起游戏支付接口时通过notifyExt传递游戏的道具信息

const { status, code, msg, data } = await NebulaSDK.pay({
  tradeNo: "2024010100001",
  // 6元价格档位
  goodsId: "1",
  // 6元价格档位
  goodsPrice: 6000,
  goodsName: "100钻石",
  playerId: "1",
  playerName: "1号玩家",
  playerLevel: "1",
  serverId: "1",
  vipLevel: "1",
  zoneId: "1",
  sandbox: 0,
  // 6元价格档位匹配的游戏
  notifyExt: JSON.stringify({
    goodsId: "P1",
    goodsName: "首冲礼包",
    goodsPrice: 6,
  }),
});
if (status === "success") {
  // 支付成功
} else {
  // 支付失败
}

游戏服务端收到星云回调参数notify_ext,解析道具信息,发放道具

//  1.游戏端收到参数:
// {
//   ...其他参数,
//   notify_ext: '{"goodsId":"P1","goodsName":"首冲礼包","goodsPrice":6}';
// }
// 2. 服务端解析参数,通过goodsId道具ID下发对应【首冲礼包】游戏道具

道具匹配模式

微信后台配置的道具与游戏中的道具一一对应,如下所示:

微信虚拟支付直购道具配置

道具 ID 道具名称 道具价格
1 首冲礼包 6
2 许愿礼包 6
3 经验礼包 12
4 突破礼包 30

游戏道具配置

道具 ID 道具名称 道具价格
1 首冲礼包 6
2 许愿礼包 6
3 经验礼包 12
4 突破礼包 30

道具配置流程

匹配道具配置流程

优点:配置简单,游戏道具与微信道具一一对应,无需额外的逻辑处理

缺点:道具配置较为繁琐,道具数量较多时,配置工作量较大,同时需要等待微信审核通过才能上线,游戏忘记提审会导致导购买异常