Google
PR

【Google】アプリ内課金の注文情報(orders)を取得する

saratogax
記事内に商品プロモーションを含む場合があります

Google Play のアプリ内課金には、購入によって発生した「注文(Order)」の情報を扱う API が用意されています。

定期購入や 1 回限りの購入の状態を見る API とは別に、注文という単位で取引の情報を取得できるのが特徴です。

このページでは、注文情報(orders)で何が取得できるのか、その全体像をまとめていきます。

アプリ内課金全体の中での位置づけは、以下のまとめページもあわせてご覧ください。

あわせて読みたい
【Google】アプリ内課金(Google Play Billing)の全体像と記事まとめ
【Google】アプリ内課金(Google Play Billing)の全体像と記事まとめ

注文情報(orders)とは

注文情報(orders)は、Google Play 上で行われた 1 回の取引をまとめて表す情報です。

定期購入の状態は purchases.subscriptionsv2.get、1 回限りの購入の状態は purchases.products.get で確認します。

ですが、これらは「いま購入がどういう状態か」を見るための API です。

一方の注文情報は、金額・税・返金・購入者の所在地といった、取引そのものの情報を扱います。

注文情報は、売上の集計や返金状況の把握、注文履歴の照合など、購入の「状態管理」とは別の用途で役立つ API です。

注文情報(Order)に含まれる主な情報

注文情報を取得すると、Order というリソースが返ります。

Order には、おもに次のような情報が含まれます。

フィールド内容
orderId注文ID
purchaseToken購入時にユーザーの端末へ渡される購入トークン
state注文の状態
createTime注文が作成された日時
lastEventTime注文に最後の変更が加わった日時
lineItems注文に含まれる個々の商品
total / tax支払い総額と税額
buyerAddress購入者の所在地情報(国・地域・郵便番号など)
orderHistory返金やキャンセルなど、注文に加わったイベントの履歴
※表は横スクロールできます

1 つの注文に、金額・税・履歴までまとまっているのがポイントです。

注文の状態(state)

注文の state には、取引の進み具合を表す値が入ります。

状態内容
PENDING処理待ちの注文
PROCESSED正常に処理された注文
CANCELED処理される前にキャンセルされた注文
PENDING_REFUND返金の処理待ちの注文
PARTIALLY_REFUNDED一部返金が適用された注文
REFUNDED全額返金が適用された注文
※表は横スクロールできます

注文情報を取得する API

注文情報は、Google Play Developer API の orders リソースから取得します。

取得方法は、用途に応じて 2 つあります。

メソッド内容
orders.get注文IDを 1 つ指定して、その注文の詳細を取得する
orders.batchget注文IDを複数(1〜1000 件)指定して、まとめて取得する
※表は横スクロールできます

多数の注文を扱う場合は、1 件ずつ呼び出すよりも orders.batchget でまとめて取得する方が効率的です。

購入トークン系 API との使い分け

注文情報の API は、購入の状態を管理する API とは役割が異なります。

API主な用途
subscriptionsv2.get / products.get購入トークンから、購入が「いまどういう状態か」を確認する
orders.get / orders.batchget注文IDから、金額・税・返金・履歴といった取引情報を取得する
※表は横スクロールできます

コンテンツへのアクセス権を付与・剥奪する判断は、これまでどおり購入トークン系の API で行います。

注文情報は、その取引が「いくらで、いつ、どう返金されたか」を後から把握したいときに活躍します。

利用上の注意(クォータ)

注文情報の API 呼び出しは、Google Play Developer API のクォータ(利用上限)を消費します。

クォータはデフォルトで 1 日あたり 20 万回、1 回の呼び出しで取得できる注文は最大 1000 件です。

大量の注文履歴を同期したい場合は、orders.batchget でページサイズを大きめにとり、呼び出し回数を抑えるのがコツです。

まとめ

Google Play のアプリ内課金における注文情報(orders)について、全体像を紹介してきました。

注文情報は、購入の状態管理ではなく、金額・税・返金といった取引そのものを扱う API です。

比較的新しい API なので、今後このテーマでは、実際の取得例や活用方法を少しずつ追記していく予定です。

参考(出典)

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました