跳至主要内容

自动退款

当由于促销已过期、玩家要求不满足或其他业务逻辑而拒绝购买时,阿哈利姆支持自动退款。 此功能允许您的 webhook 指示 Aghanim 自动处理退款,无需人工干预,从而改善玩家体验并减少支持开销。

概述

当玩家尝试购买物品但您的游戏服务器判定购买应被拒绝时(例如,促销活动已过期),您的 item.add webhook 可以响应一个 declined 错误代码。 如果您的团队已在Aghanim中配置自动退款,支付将被自动退款。

这防止玩家因为无法收到的商品而被收费,并消除了手动退款处理的需求。

信息

自动退款必须由Aghanim团队配置。联系我们的集成团队以启用因code="declined"而被拒绝购买的自动退款功能。

工作原理

  1. 玩家启动购买 - 玩家试图通过 Game Hub 购买物品
  2. 支付处理 - Aghanim 通过支付提供者处理支付
  3. Webhook 发送 - Aghanim 向您的游戏服务器发送 item.add webhook
  4. 游戏服务器验证 - 您的服务器检查业务规则(促销有效性、玩家资格等)
  5. 购买被拒 - 如果购买被拒绝,您的服务器回复 code="declined"
  6. 自动退款 - 如果配置,Aghanim 将通过支付提供者自动处理退款

前提条件

  • 已配置的 item.add webhook 端点
  • HTTPS 端点,可接收 POST Webhook 请求。
  • 用于根据当前促销和要求验证购买的业务逻辑

实施

标准成功响应

对于成功的购买,请使用 200 状态码响应:

{
"status": "ok"
}

购买拒绝

要拒绝购买,请使用 400 状态码响应:

{
"status": "error",
"code": "declined",
"message": "购买被拒:促销已过期"
}

错误响应架构

键名Type描述是否必需
状态string对被拒绝购买必须为"error"
货币代码string显示错误的原因代码。
消息string可读的错误消息。

可用错误代码

标准错误代码

  • not_found: 系统中不存在该账户或玩家记录。
  • invalid_signature: 请求的安全签名验证失败。
  • validation_error: 请求中包含的数据格式或内容不符合要求。
  • banned: 该账户或玩家已被系统封禁。
  • declined:由于业务规则或限制而拒绝请求
警告

只有启用该功能后,code="declined" 才会触发自动退款。 其他错误代码不会触发退款。

常见拒绝场景

促销已过期

{
"status": "error",
"code": "declined",
"message": "购买被拒: 黑色星期五促销在午夜结束"
}

玩家等级不足

{
"status": "error",
"code": "declined",
"message": "购买被拒: 玩家必须达到10级或更高"
}

商品不再可用

{
"status": "error",
"code": "declined",
"message": "购买被拒: 商品不再可用"
}

超出每日购买限制

{
"status": "error",
"code": "declined",
"message": "购买被拒:超出每日购买限制"
}

区域限制

{
"status": "error",
"code": "declined",
"message": "购买被拒:玩家所在地区的物品不可用"
}

需要技术支持?
联系我们的集成技术团队: integration@aghanim.com