기록상 판매자의 결제 정보를 표준 형식으로 정규화
기록상 판매자(merchant of record)로부터 받은 원본 결제 페이로드를 공급자에 종속되지 않는 표준 형식으로 정규화합니다. 이를 통해 이후의 트랜잭션 API가 각 공급자의 형식을 알 필요가 없어집니다. `provider`에 기록상 판매자를 지정하고 `data`에 원본 페이로드를 전달하십시오. Xsolla의 경우 해당 페이로드는 `payment` 웹훅 본문이며, 카드 BIN이 반드시 포함되어야 합니다.
Authorization
api-key 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"}{ "error": "INVALID_INPUT", "errorMessage": "unsupported payment provider"}스크린타임 시작 POST
이 제품에서 활성 스크린타임의 시작을 기록합니다. 스크린타임이 활성인 동안 k-ID는 실시간 웹훅(`Screentime.BreakReminder`, `Screentime.LimitWarning`, `Screentime.LimitReached`)을 전달합니다. 이 웹훅은 사용이 끝날 때만이 아니라 임계값을 넘는 시점에 발생합니다. 상태 의미: * `accepted` - 스크린타임이 시작되었거나, 이미 활성인 세션에 대한 재시도가 멱등적으로 처리되었습니다. * `replaced` - 이 `sessionId`에서 스크린타임이 이미 활성인 상태로 다른 `id`가 전송되었습니다. 이전 스크린타임은 자동으로 종료되고 그 시간은 당일 스크린타임 사용량에 반영되었습니다. 이전 스크린타임이 명시적으로 종료되지 않은 경우(앱이나 기기 재시작 등)를 복구하는 데 사용할 수 있습니다. 하나의 `sessionId`에는 동시에 하나의 활성 스크린타임만 지원됩니다. 호출은 실시간으로 이루어져야 하며, `timestamp` 값은 5분보다 이전일 수 없습니다.
세션의 완료된 금전 거래 전송 POST
k-ID 세션에 대해 완료된 구매를 하나 이상 전송합니다. 각 이벤트는 무엇을 구매했고 비용이 얼마였으며 결제가 성사되었는지를 기록합니다. 구매가 완료된 뒤에 이 API를 사용하고, 정기 결제의 경우 갱신마다 전송하십시오. 결제가 시도되었으나 완료되지 않은 경우에는 `status`를 `failed`로 지정해 보호자가 둘을 구분할 수 있게 하십시오. 이벤트는 각각 독립적으로 처리됩니다. 응답에는 이벤트별 상태가 담깁니다. * `accepted` - 구매가 기록되었습니다. 이미 수락된 `id`를 가진 이벤트를 다시 전송해도 안전한 무동작으로 처리되어 다시 `accepted`로 집계되고 중복 기록되지 않으므로, 네트워크 장애 후 재시도로 이중 집계되지 않습니다. * `rejected` - 구매가 검증을 통과하지 못했습니다. `reason`이 어떤 규칙에 걸렸는지 알려줍니다. 세션이 존재하지 않거나 무효화된 경우에는 배치 전체가 거부됩니다.