Endpoints交易

将名义销售方的支付信息规范化为标准格式

将名义销售方(merchant of record)的原始支付载荷规范化为与提供方无关的标准结构,使后续的交易接口无需了解各家提供方的格式。 在 `provider` 中指明名义销售方,并在 `data` 中传入其原始载荷。对于 Xsolla,该载荷是 `payment` webhook 的正文,且必须包含卡片 BIN。

POST
/transaction/lookup-provider
AuthorizationBearer <token>

In: header

Request Body

application/json

Look up provider request

TypeScript Definitions

Use the request body type in TypeScript.

A merchant of record's raw payment payload to normalize into k-ID's standard format.

Response Body

application/json

application/json

curl -X POST "https://example.com/transaction/lookup-provider" \  -H "Content-Type: application/json" \  -d '{    "provider": "xsolla",    "data": {}  }'
{  "provider": "xsolla",  "invoiceId": "2110445753",  "payerEmail": "parent@example.com",  "instrument": "card",  "funding": "credit"}

开始屏幕使用时间 POST

标记本产品上活动屏幕使用时间的开始。在屏幕使用时间处于活动状态期间,k-ID 会发送实时 webhook——`Screentime.BreakReminder`、`Screentime.LimitWarning` 和 `Screentime.LimitReached`——它们在越过阈值的那一刻触发,而不仅仅在使用结束时触发。 状态含义: * `accepted` - 屏幕使用时间已开始,或对已处于活动状态的会话的重试被幂等处理。 * `replaced` - 该 `sessionId` 的屏幕使用时间已处于活动状态时又传入了不同的 `id`;先前的屏幕使用时间被自动结束,其时长计入当天的屏幕使用量。当先前的屏幕使用时间从未被显式结束时(例如应用或设备重启后),可借此恢复。 每个 `sessionId` 同一时间只支持一段活动屏幕使用时间。调用必须实时进行——`timestamp` 的值不得早于 5 分钟前。

提交会话已完成的资金流转交易 POST

为某个 k-ID 会话提交一笔或多笔已完成的购买。每个事件记录买了什么、花费多少,以及扣款是否成功。请在购买完成后调用本接口;对于周期性购买,每次续订都需提交。 对于已尝试但未完成的扣款,请将 `status` 设为 `failed`,以便家长区分两者。 各事件独立处理。响应中包含每个事件的状态: * `accepted` - 购买已记录。重复提交 `id` 已被接受的事件是安全的空操作:它会再次计为 `accepted`,不会被重复记录,因此网络故障后的重试不会重复累计。 * `rejected` - 购买未通过校验;`reason` 指明违反了哪条规则。 若会话不存在或已被撤销,则整批请求被拒绝。