Endpoints取引

レコード上の販売者の決済情報を標準形式に正規化する

レコード上の販売者(merchant of record)から受け取った生の決済ペイロードを、プロバイダーに依存しない標準的な形式に正規化します。これにより、後続のトランザクションAPIが各プロバイダーの形式を知る必要がなくなります。 `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` が送信されました。直前のスクリーンタイムは自動的に終了され、その時間は当日のスクリーンタイム利用時間に加算されました。直前のスクリーンタイムが明示的に終了されなかった場合(アプリや端末の再起動後など)の復旧に利用できます。 1つの `sessionId` につき、同時にアクティブにできるスクリーンタイムは1件のみです。呼び出しはリアルタイムで行う必要があり、`timestamp` の値は5分以上前であってはなりません。

セッションの完了済み金銭取引を送信する POST

k-IDセッションについて、完了済みの購入を1件以上送信します。各イベントは、何が購入され、いくらかかり、決済が成立したかを記録します。購入が完了した後にこのAPIを使用してください。継続課金の場合は更新ごとに送信します。 決済が試行されたものの成立しなかった場合は `status` に `failed` を指定してください。これにより保護者が両者を区別できます。 イベントはそれぞれ独立して処理されます。レスポンスにはイベントごとのステータスが含まれます。 * `accepted` - 購入が記録されました。すでに受理済みの `id` を持つイベントを再送しても安全な無操作となり、再び `accepted` として数えられ、二重に記録されることはありません。そのため、ネットワーク障害後の再試行で二重計上されることはありません。 * `rejected` - 購入が検証に失敗しました。`reason` がどのルールに違反したかを示します。 セッションが存在しない場合や無効化されている場合は、バッチ全体が拒否されます。