跳到主要内容

服务器集成

以下页面描述了 Alogame 支付集成所需的游戏服务器 API。

Alogame 会调用你服务器的每一个接口,都恰好属于以下三种契约之一。它们互不通用——各自有自己的接口、签名算法和响应格式。写代码之前,先向你的 Alogame 运营对接人确认你的游戏适用哪一种。

选择你的契约​

契约适用对象你需要实现的内容
Mobile IAP(目前仅有英文版)任何通过 iOS/Android SDK 销售(Apple / Google 计费)的游戏2 个接口——创建订单、发放道具
网页支付 — 标准(目前仅有英文版)联合运营(co-pub)游戏。 没有特殊说明的话默认用这个3 个接口——check UID、创建订单、支付通知——如果你的游戏需要选择器,再加上可选的服务器列表和/或角色列表
网页支付 — Expub(目前仅有英文版)独家/直营发行(expub)游戏4 个接口——角色列表、check UID、创建订单、兑换

选哪个网页支付契约取决于你游戏的发行模式,而不是接入时间的先后——co-pub 和 expub 是两套不同的账号/角色模型,不是新旧版本的关系。

expub 游戏永远需要同时实现 Mobile IAP 和网页支付 — Expub(均目前仅有英文版)——一个负责应用内商店,一个负责网页充值页面;createOrder_url/exchange_url 两边共用。co-pub 游戏只有在同时拥有移动端应用时,才需要在网页支付 — 标准之上再加 Mobile IAP。

后端是 PHP? 不要照着上表手写任何一种网页支付契约——改装 网页支付 — PHP SDK。它同时覆盖网页支付 — 标准(三个 PHP 函数)和网页支付 — Expub,包括 Expub 共用的 Mobile IAP(四个 PHP 函数)——契约完全一样,只是不会再犯手抄字段名/签名时容易犯的错误。

想让网页充值流程嵌在游戏内展示,而不是跳转到独立的门户页面?那不是第四种契约——见**游戏内充值**(目前仅有英文版)。

三者的区别​

Mobile IAP网页支付 — 标准网页支付 — Expub
签名算法MD5(目前仅有英文版)——固定新接入请用 HMAC-SHA256(目前仅有英文版)新接入请用 HMAC-SHA256(目前仅有英文版)
请求头 / 时间戳单位 / 错误上报方式固定:Signature · 秒 · HTTP 状态码取决于你使用的算法取决于你使用的算法
角色选择方式客户端内(SDK 内部完成)玩家自己输入 UIDAlogame 拉取你的角色列表

正在接入新的网页支付游戏?请使用 HMAC-SHA256——详见**身份认证**页面(目前仅有英文版)。另外还有两种 MD5 变体,仅供已接入的老游戏使用,即将停用,请勿用于新接入。

适用于所有契约的通用规则​

  • 生产环境接口必须使用有效 TLS 证书的 HTTPS。开发/预发布环境可以用 HTTP。
  • 你需要按环境注册不同的 URL。Alogame 会自动路由到正确的那个,SDK 或客户端都不需要改动。
  • 商品 ID 由你定义。 在接入阶段把你的商品列表发给 Alogame;Alogame 配置好之后,会在 productId 里原样传回给你同样的 ID。这个 ID 在你游戏里代表什么,完全由你定义,Alogame 从不会自己发明一个。
  • 每个进来的请求都必须先校验签名,再进行处理;过期请求要拒绝。
  • 道具发放必须幂等。Alogame 会在超时或出错时重试,所以同一笔订单的发货调用完全可能合法地到达不止一次。
  • 及时响应。Alogame 会中止响应过慢的请求,并把超时视为失败。