トランザクション
トランザクションは、子どもが連携アプリで何を購入するかを保護者が確認し、管理できるようにする機能です。プロダクトは購入をk-IDに報告し、請求の前に保護者を介在させたい場合には、先にその承認を求めます。k-IDは購入を記録し、承認の状態を保持し、保護者に通知し、結果をプロダクトに伝えます。お金がどうなるかは、引き続きプロダクトの判断です。
購入は子どもごと、セッションごとに報告されるため、保護者はデバイス単位やレシート単位の見え方ではなく、子どもがそのプロダクトで何を購入したかという1本の連続した履歴を読むことになります。
保護者が得られるもの
トランザクションには2つの機能があり、プロダクトはそのどちらか一方だけを使うこともできます。
- 購入の可視化。 プロダクトは完了した購入を報告し、k-IDはそれをリンクされた保護者に、Family Connectの子どもごとの購入ビューとして、また定期的なアクティビティのダイジェストの1行として提示します。これは報告です。購入をブロックしたり、誰かに対応を求めたりするものは何もありません。
- 購入の承認。 特定の請求の前に、プロダクトは保護者にその承認を求めます。k-IDはリクエストを保持し、保護者に通知し、その回答をWebhookとして返します。これが保護者を購入の前に立たせる部分です。
この2つは独立しています。プロダクトは承認を一度も求めずに購入を報告することも、一部の購入について承認を求めつつすべてを報告することも、承認だけを使うこともできます。
責任の境界
k-IDは購入を記録し、承認リクエストを保持し、保護者に通知し、結果を報告します。何を購入とするか、請求するかどうか、いつ求めるかを決めるのはプロダクトです。
k-IDが決済を処理したり、お金を動かしたり、請求をブロックしたりすることはありません。k-IDはトランザクションを直接見ているわけではありません。保護者に購入の承認を求めたとき、k-IDはその決定を返します。回答のないリクエストや拒否されたリクエストが請求を止めるかどうかは、プロダクトの側で強制されます。
購入の報告
各購入はフラットなレコードです。保護者にそのまま表示されるタイトルと任意の説明、通貨の最小単位でのamount、currency、完了したtimestamp、保護者がそれを管理できる任意のurl(たとえばサブスクリプションを解約するためのもの)、そしてsuccessfulまたはfailedのstatusです。
failedの請求を報告することには意味があります。実際に成立した購入と、試みられたが成立しなかった購入とを、保護者が見分けられるようになります。サブスクリプションの更新は、請求されるたびに購入として報告されます。
購入は、信頼できる大人が読むアクティビティにも流れ込むため、金額は定期的なダイジェストと購入ビューに表示されます。エンドポイントとそのイベントごとの結果の形については、トランザクション統合ガイドを参照してください。
保護者に購入の承認を求める
請求の前に保護者の決定を求めたい場合、プロダクトはセッションに対して承認リクエストを開きます。k-IDが保護者に通知し、保護者はFamily Connectで承認または拒否し、結果はapproved、denied、またはexpiredを伴うTransaction.PurchaseApprovalResultのWebhookとして届きます。
- 請求の前に求めてください。 リクエストは購入の前に置くゲートであり、購入後のレシートではありません。承認が届いてから初めて購入を完了してください。
- 回答のないリクエストは24時間後に有効期限切れとなります。 有効期限切れは同じWebhookで報告される通常の結果であり、失敗ではありません。プレイヤーには改めてその購入を提示できます。
- リクエストは期限を持ちます。 Webhookを無期限に待ち続けるのではなく、リクエストが返す
expiresAtを、それ以降は回答が届かなくなる時点として扱ってください。
リクエストとWebhookの形については、承認のリクエストを参照してください。
トランザクションと支払いによる確認
完了したカード決済は、管轄区域がそれを認める場合には、保護者の同意の代わりにもなります。これが支払いによる確認であり、同じトランザクションの設定に載る別の機能です。可視化ではなく同意に関するものであり、専用のページで扱います。
トランザクションの有効化
トランザクションは既定では無効で、Compliance Studioでプロダクトごとに有効にします。有効になるまで、トランザクションのエンドポイントはFEATURE_DISABLEDを返します。設定手順については、トランザクション統合ガイドを参照してください。
次のステップ
- トランザクション統合ガイド:購入の報告、承認のリクエスト、Webhookの処理
- 支払いによる確認:同意のシグナルとしての完了した支払い
- アクティビティ:購入が流れ込む報告のパイプライン