技術系TIPS
PR

【Google】アイテム購入後にacknowledgedが必要なケース

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

2019 年の 5 月上旬から、レシート検証 API やレシート文字列について以下の変更が加わりました。

・APIのレスポンスに acknowledgementState が追加される
・レシートデータ(JSON文字列)に acknowledged が追加される

こちらについては、リリースノートが出ています。

The Purchase object now includes an isAcknowledged() method that indicates whether a purchase has been acknowledged. In addition, the server-side API now includes acknowledgement boolean values for Product.purchases.get() and Product.subscriptions.get(). Before acknowledging a purchase, be sure to use these methods to determine if the purchase has already been acknowledged.

Purchaseオブジェクトに、購入が承認されたかどうかを示す isAcknowledged() メソッドが追加されました。さらに、サーバーサイド API には、Product.purchases.get() およびProduct.subscriptions.get() の確認ブール値が含まれるようになりました。購入を承認する前に、購入がすでに承認されているかどうかを確認するためにこれらの方法を必ず使用してください。

Purchases must be acknowledged within three days

以下を読む限り、レシート検証の際というよりは、ネイティブアプリ(Android)の消費を行うタイミングで承認するように見受けられます。

You can acknowledge a purchase by using one of the following methods:

・For consumable products, use consumeAsync(), found in the client API.
・For products that aren’t consumed, use acknowledgePurchase(), found in the client API.
・A new acknowledge() method is also available in the Server API.

次の方法のいずれかを使用して購入を承認できます。

・消耗品の場合は、クライアントAPIにあるconsumeAsync()を使用してください。
・消費されていない製品の場合は、クライアントAPIにあるacknowledgePurchase()を使用してください。
・Server APIには、新しいacknowledge()メソッドもあります。

3 番目に書かれている通り、API にも acknowledge の POST のエンドポイントが用意されていますが、クライアント側で対応できるならお任せした方が楽そうです。

ネイティブアプリ(Android)の Billing Library のバージョンとの絡みもありますが、月額課金の場合は特に注意しておきたい変更になります。

ここについては、そろそろ需要が出てきそうなので以下の月額のサブスクリプションの方で補足します。

あわせて読みたい
【Google】定期購入のレシート検証をPHPとKotlinで実現する
【Google】定期購入のレシート検証をPHPとKotlinで実現する

まとめ

よって、Google Play Billing Library 2.0 以降のアプリと連携する場合、API のレスポンスの acknowledgementState は「承認前」、 レシート文字列の acknowledged が「false」になっているかチェックしてあげる必要も出てきそうですね。

ちなみに、アプリが Google Play Billing Library 2.0 より前だと、レシート文字列には acknowledged が true となって入ってきているようです。

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