自动退款
当由于促销已过期、玩家要求不满足或其他业务逻辑而拒绝购买时,阿哈利姆支持自动退款。 此功能允许您的 webhook 指示 Aghanim 自动处理退款,无需人工干预,从而改善玩家体验并减少支持开销。
概述
当玩家尝试购买物品但您的游戏服务器判定购买应被拒绝时(例如,促销活动已过期),您的 item.add webhook 可以响应一个 declined 错误代码。 如果您的团队已在Aghanim中配置自动退款,支付将被自动退款。
这防止玩家因为无法收到的商品而被收费,并消除了手动退款处理的需求。
信息
自动退款必须由Aghanim团队配置。 请联系我们的集成团队以启用因code="declined"而被拒绝购买的自动退款功能。
工作原理
- 玩家启动购买 - 玩家试图通过 Game Hub 购买物品
- 支付处理 - Aghanim 通过支付提供者处理支付
- Webhook 发送 - Aghanim 向您的游戏服务器发送
item.addwebhook - 游戏服务器验证 - 您的服务器检查业务规则(促销有效性、玩家资格等)
- 购买被拒 - 如果购买被拒绝,您的服务 器回复
code="declined" - 自动退款 - 如果配置,Aghanim 将通过支付提供者自动处理退款
前提条件
- 已配置的
item.addwebhook 端点 - 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